뇌운동일지

기초 SQL (MySQL) - 1. 테이블 생성 본문

DB/MySQL

기초 SQL (MySQL) - 1. 테이블 생성

purpleduck 2020. 4. 1. 10:31

SQL : structure query language : 구조 질의 문

SQL -> 디비에서 컴파일 -> 실행 -> 결과를 보여준다 

dbms(dbserver + client tool) > db들 > tables > 레코드s > 컬럼s > 도메인s (데이타)

레코드 - 한줄 

 

1. 테이블 생성 

 

create table 테이블명 (

    컬럼명 데이타형 [제약조건들] , 

    컬럼명2 데이타형 [제약조건들] , 

    컬럼명3 데이타형 [제약조건들] , 

    컬럼명4 데이타형 [제약조건들] 

) ;

// 제약조건은 안붙을 수도 있고, 여러개 붙을 수도 있다. 

 

 

create table extable (

    idx int not null auto_increment primary key, 

    name varchar(20) not null, 

    phone char(15) not null, 

    age tinyint null, 

    birth datetime, # 주석 디폴트 널 허용 

    resume text

) engine = innodb default charset = euckr ;

 

// not null : 널을 허용하지 않음. 반드시 데이터가 입력되어야 함. (공통)

// auto_increment : 값이 자동으로 증가한다. (MySQL에서만)

// primary key : 기본키, 행을 구별하는 식별자 컬럼. (유일성+not null)

// varchar(20) : 가변문자열, 20바이트 이내 

/* char(15) : 고정문자열, 입력데이터의 길이가 일정할때 ex)전화번호

1~2바이트 정도 변할 때도 고정문자열 사용 */

// null : 널을 허용한다. 

// tinyint : 1바이트 정수 

// int : 4바이트 정수 

// datetime : 년월일 date + 시분초 time, 날짜입력 

// text : 장문 

// engine = innodb 복구가 가능, "transaction 지원"

// 컬럼명 데이터형 제약조건1 제약조건2 제약조건3

 

생성된 테이블 구조보기 

mysql> desc extable;

 

    alter table 테이블명 ~~~; 수정

drop table 테이블명; # 테이블 삭제 명령 

 

Comments