1 분 소요

서브커리 응용

테이블 생성

테이블을 복사하는 방법은 여러가지가 있다.

  1. 테이블 구조와 데이터 복사

    create table 복사 테이블명
    select * from 복사할 테이블명;
    
  2. 테이블 구조만 복사

   create table 복사 테이블명
   select * from 복사할 테이블명
   where 1 = 0;

값은 빼고 구조만 복사 됩니다.

  1. 테이블 구조와 원하는 데이터 복사

    create table 복사 테이블명
    select * from emp
    where deptno=30;
    

추가 수정 삭제

  1. 추가

    insert into 복사 테이블명
    select * from 복사할 테이블명
    where deptno =80;
    
  2. 수정

    update emp50
    set sal=sal+500
    where sal < (select avg(salary) from emp);
    
  3. 삭제

    delete from emp
    where sal < (select avg(salary) from emp);
    

MySQL 자료형

숫자

데이터 형식 바이트 수 타입 설명
TINYINT 1 정수 -128 ~ 127
SMALLINY 2 정수 -32,768 ~ 32,767
INT(INTEGER) 4 정수 약 -21억~ 21억
BIGINT 8 정수 약 -900경~900경
FLOAT 4 실수 -3.40E+38 ~ 1.17E - 38
DECIMAL(m.[d]) 5~17 실수 -10E38+1 ~ 10E38 -1
NUMERIC(m.[d]) - - 전체자릿수(m),소숫점자릿수(d)

문자

데이터 형식 바이트 수 설명
CHAR(n) 1 ~ 255 고정길이 문자형, CHAR만 쓰면 CHAR(1)과 동일
VARCHAR(n) 1 ~ 65535 가변 길이 문자형, 메모리 절약에 좋음
LONGTEXT 1 ~ 4294967295 최대 4GB 크기의 TEXT 데이터 값
LONGBLOG 1 ~ 4294967295 최대 4GB 크기의 BLOG 데이터 값

날짜

데이터 형식 바이트 수 형식 범위
DATE 3 ‘YYYY-MM-DD’ 1001-01-01 ~ 9999-12-31
TIME 3 ‘HH:MM:SS’ -838:59:59.000000~ 838:59:39:000000
DATETIME 8 ‘YYYY-MM-DD HH: MM:SS’ 1001-01-01 00:00:00 ~ 9999-12-31 23:59:59

테이블 생성

create table
	>create table table_name(
    	column_name1 Type [optional attributes],
    	column_name2 Type,
    	...
    	column_nameN Type,
    );
  • optinal attributes

    • NOTNULL

      각 행은 해당 열의 값을 포함해야 하며 null값은 허용되지 않음

    • DEFAULT value

      값이 전달 되지 않을 때 추가되는 기본 값 설정

    • UNSIGNED

      Type이 숫자인 경우만 해당되며 숫자가 0또는 양수로 제한됨

    • AUTO INCREMENT

      새 레코드가 추가 될 때마다 필드 값을 자동으로 1증가시킴

    • PRIMARY KEY

      테이블에서 행을 고유하게 식별하기 위해 사용. PRIMARY KEY 설정이 있는 열은 일반적으로 ID번호이며 AUTO INCREMENT와 같이 사용되는 경우가 많음.

  • 제약 조건

    • 컬럼에 저장될 데이터의 조건을 설정하는 것
    • 제약조건을 설정하면 조건에 위배되는 데이터는 저장 불가.
    • 테이블 생성시 컬럼에 직접 지정하거나 constraint 로 지정, 또는 ALTER를 이용하여 설정가능

업데이트:

댓글남기기