ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • SQL - DDL
    SQL 2022. 10. 7. 11:31

     

    *테이블 생성

    create table [테이블 명] (

    [컬럼 명][데이터타입][사이즈],

    ...

    [컬럼 명][데이터타입][사이즈]

    );

     

    *데이터타입의 종류(자주쓰는 일부)

    문자타입(검색 속도가 가장 빠르다.)

    - 고정형 : char(바이트 수)

    - 가변형 : varchar(바이트 수)

    text : 65,535 byte

    longtext : 4,294,967,295 byte

    숫자타입

    int, bigint, float, double

     

    boolean

     

    날짜타입

    date : 0000-00-00

    datetime : 0000-00-00 00:00:00

    timestamp : 0000-00-00 00:00:00

     

    *테이블 확인

    테이블 구조 확인 : desc [테이블 명];

    DB 안의 테이블 확인 : show tables;

     

    *테이블 수정

    1) 컬럼 이름 변경 (기존 데이터 삭제되니 주의)

    alter table [테이블 명] rename column [변경 전 이름] to [변경할 이름];

     

    2) 컬럼 추가

    alter table [테이블 명] add ([컬럼 명][데이터타입][사이즈]);

     

    3) 컬럼 속성 변경 (해당 컬럼이 비어있어야 한다.)

    alter table [테이블 명] modify column [컬럼 명][데이터타입][사이즈];

    -> float(전체 수, 소수점자리 수) -> 00.00일 경우 (4,2)

     

    4) 컬럼 삭제

    alter table [테이블 명] drop column [컬럼 명];

     

    *테이블 삭제

    drop table [테이블 명];

     

    -- database는 하나의 엑셀 파일과 같다.
    -- database 안에는 많은 table이 존재한다.
    -- table은 엑셀 파일 안의 시트(sheet)와 같다.
    
    -- 1. 테이블 생성
    /*CREATE TABLE [테이블 명](
     * [컬럼 명][데이터 타입][사이즈],
     * ...
     * [컬럼 명][데이터 타입][사이즈]
     * );
     */
    
    -- 데이터 타입의 종류(자주쓰는 일부)
    -- 1)문자타입(검색 속도가 가장 빠르다.)
    -- 고정형 CHAR(바이트 수)
    -- *가변형 VARCHAR(바이트 수)
    -- TEXT : 65,535 byte
    -- LONGTEXT : 4,294,967,295 byte
    
    -- 2)숫자타입
    -- INT, BIGINT, FLOAT, DOUBLE
    
    -- 3)boolean
    
    -- 4)날짜타입
    -- DATE <- 0000-00-00
    -- DATETIME <- 0000-00-00 00:00:00
    -- TIMESTAMP <- 0000-00-00 00:00:00
    
    create table test_table(
    	user_name varchar(60),
    	age int(3),
    	mobile varchar(11),
    	reg_date date default current_date
    );
    
    -- 테이블 생성 후 구조 확인
    -- DESC [테이블 이름];
    desc test_table;
    
    -- 테이블을 아래와 같이 만들어 보자
    -- 테이블 명 : employees
    -- emp_no 숫자형 3자
    -- first_name 문자열 8자
    -- last_name 문자열 2자
    -- email 문자열 50자
    -- mobile 문자열 11자
    -- salary 숫자형 8자
    -- reg_date 날짜 기본으로 입력된다.
    
    create table employees(
    	emp_no int(3),
    	first_name varchar(8),
    	last_name varchar(2),
    	email varchar(50),
    	mobile varchar(11),
    	salary int(8),
    	reg_date date default current_date
    );
    
    -- 테이블 확인
    desc employees;
    show tables;
    
    -- 수정(ALTER)
    -- 1)컬럼 이름 변경(기존 데이터 삭제되니 주의)
    -- ALTER TABLE [테이블 명] RENAME COLUMN [변경 전 이름] TO [변경할 이름];
    alter table employees rename column last_name to family_name;
    
    -- 2)컬럼 추가
    -- ALTER TABLE [테이블 명] ADD ([컬럼 명][데이터타입][사이즈]);
    alter table employees add (depart_no varchar(10));
    alter table employees add (commission varchar(10));
    alter table employees add (etc varchar(100));
    
    -- 3)컬럼 속성 변경
    -- 테이블 속성 변경시 해당 컬럼은 비어있어야 한다.
    -- ALTER TABLE [테이블 명] MODIFY COLUMN [컬럼 명][데이터타입][사이즈];
    -- float(전체 수, 소수점자리 수) -> 00.00일 경우 (4,2)
    alter table employees modify column commission float(4,2);
    
    -- 4)컬럼 삭제
    -- ALTER TABLE [테이블 명] DROP COLUMN [컬럼 명];
    alter table employees drop column etc;
    
    -- 삭제(DROP)
    -- DROP TABLE [테이블 명];
    drop table test_table;

     

     

     

    'SQL' 카테고리의 다른 글

    SQL - 제약조건  (0) 2022.12.10
    SQL - Transaction  (0) 2022.12.10
    SQL - select문에서의 여러 사용법  (0) 2022.10.07
    SQL - DML  (0) 2022.10.07
    SQL - USER 관리, DCL  (1) 2022.10.07
Designed by Tistory.