본문 바로가기
개발

[SQL] 테이블 생성

by 마스터누누 2017. 4. 18.
728x90
반응형

테이블 생성




데이터베이스 생성에서 말했듯이 여러개의 테이블이 데이터베이스가 된다.

그렇다면 테이블을 생성하기 위해서는 어떻게 해야할까


테이블은 사전에 형식을 정해 놓아야한다.

이는 프로그래밍에서 변수 선언시 자료형을 정하는것과 비슷하다고 볼 수있다.

이를 스키마(Schema)라고 한다.




테이블 생성


1
2
3
4
CREATE TABLE table_name (                                                                                                                                                                                                        
    칼럼명1 data_type,
    칼럼명2 data_type
)
cs


테이블을 생성하기 위해서는 CREATE TABLE 명령어를 사용한다

데이터 베이스의 생성과 비슷하지만 

내부에 칼럼과 데이터 형을 지정해야 한다는 것이 차이점이다.




1
2
3
4
5
6
7
8
9
CREATE TABLE `student` (
    `id`  tinyint NOT NULL ,
    `name`  char(4NOT NULL ,
    `sex`  enum('남자','여자'NOT NULL ,
    `address`  varchar(50NOT NULL ,
    `birthday`  datetime NOT NULL ,                                  
    PRIMARY KEY (`id`)
);
 
cs


예제로 student라는 테이블을 생성한다.

여기서 `id`, `name`, `sex` 등은 칼럼 명이며

뒤쪽에 tinyint char, varcahr 등은 데이터 형이다.

또한 NOT NULL은 필드의 값이 NULL이 아님을 제한하는 것이다.







터미널에서 use database를 이용하여 데이터베이스를 변경해준 후

테이블을 생성한다.

아래처럼 Query OK 가 출력되면 추가가 된것이다.




테이블 조회


1
SHOW tables;                                                                                              
cs


Show tables 명령어를 사용하면 현재 테이블들을 조회 할 수있다.



방금전에 만든 테이블을 확인하기 위하여 show 명령어를 사용하면

student 테이블이 출력된다.




테이블 스키마 열람


1
DESC `테이블명`                                                                                               
cs


DESC는 Description의 약자로서 스키마에 대한 명세가 기록되어있다



따라서 DESC를 사용한다면 field와 type 등,

스키마에 대한 명세를 확인 할 수있다.




테이블 제거


1
DROP TABLE `테이블명`                                                                                         
cs


DROP 명령어를 이용하여 테이블을 제거할수있다.

테이블을 제거하면 내부에 있던 데이터는 모두 사라지게 된다.



DROP을 사용하여 만들어두었던 student를 삭제하고

SHOW를 입력하여 현재 테이블을 출력해보면 테이블을 제거되었다.


- 소스 출처 : 생활코딩(opentutorials)


반응형

'개발' 카테고리의 다른 글

[SQL] 데이터 변경  (0) 2017.04.18
[SQL] 데이터 삽입  (0) 2017.04.18
[SQL] 데이터베이스 생성  (0) 2017.04.18
[SQL] 데이터베이스  (0) 2017.04.18
[정규 표현식] Assertion  (0) 2017.04.18

댓글