Database

[Database] SQL 기본 쿼리문 정리

오늘보다 더 나은 내일을 위해 2020. 10. 12. 16:54

DML (Data Manipulation Language)

   

SQL의 가장 기본이 되는 명령셋

DB에 새롭게 데이터를 추가하거나 삭제하거나 내용을 갱신하는 등에 사용

 

  1. SELECT 

        > SELECT * FROM example WHERE a<>0;      

              // a, b 모두 0이 아닌 경우

 

        > SELECT * FROM example WHERE text LIKE ‘query%’   

               // query로 시작하는 문자열이 있는지, % 부분은 일치하지 않아도 됨

 

        > SELECT * FROM example WHERE text LIKE ‘let''s’;     

              // ‘를 포함하려면 ‘‘ 두개 연속 사용

 

 

 

   2. INSERT 

 

        > INSERT INTO example VALUES(1, ‘Hi’, ‘Nice to Meet You’);

        > INSERT INTO example (name, no) VALUES(‘Hi’, 2);

 

 

   3. DELETE

        > DELETE FROM example WHERE no=2;

 

   4. UPDATE

       > UPDATE example SET name=’Hi’, date=’2020-10-12’ WHERE no=2;

 


DDL (Data Define Language)

 

데이터 정의어

테이블과 같은 데이터 구조를 정의하는데 사용됨

 

 

   1. CREATE

      : 데이터베이스, 테이블 생성 

 

       > CREATE DATABASE [dbname];

       > CREATE DATABASE [dbname] CHARACTER SET [set] COLLATE [collation];

                [set] : character set은 문자와 인코딩의 집합 ex) utf8, euckr

                [collation] : character들을 비교하기 위한 rule  

                                 ex) utf8_general_ci, utf8_spanish_ci, euckr_korean_ci 등

       > CREATE TABLE [table_name] (

                                                 [column1] DATATYPE [DEFAULT 형식],

                                                 [column2] DATATYPE [DEFAULT 형식],

                                                 [column3] DATATYPE [DEFAULT 형식]

                                            );

   2. DROP

       : 데이터베이스, 테이블 삭제

 

       > DROP DATABASE [dbname];

       > DROP TABLE [table_name];

 

 

   3. ALTER

       : 테이블 속성 변경, 컬럼 추가/삭제

 

       > ALTER TABLE [table_name] ADD COLUMN [column_name] [column_type];

       > ALTER TABLE [table_name] MODIFY COLUMN [column_name] [column_type];

       > ALTER TABLE [table_name] CHANGE COLUMN [old_column_name][new_column_name] [new_column_type];

       > ALTER TABLE [table_name] DROP COLUMN [column_name];

       > ALTER TABLE [table_name] DROP INDEX [index_name];

       > ALTER TABLE [table_name] ADD PRIMARY KEY ([column_name]); 

       > ALTER TABLE [table_name] DROP PRIMARY KEY;

       > ALTER TABLE [old_table_name] RENAME [new_table_name];


       AUTO_INCREMENT 설정하기

       > ALTER TABLE [table_name] MODIFY COLUMN [설정하려는 column] INT auto_increment;

 

   4. RENAME

       

       > RENAME TABLE [old_table_name] TO [new_table_name];

       > RENAME TABLE [old_table_name1] TO [new_table_name1],[old_table_name2] TO [new_table_name2];

 

 

   5. TRUNCATE

        : 데이터가 존재하던 공간까지 제거

 

       > TRUNCATE TABLE [table_name];

 

 


DCL (Data Control Language)

사용자에게 권한을 주거나 회수한다

데이터의 보안, 무결성, 회복, 병행 수행제 등을 정의하는데 사용

 

1. GRANT

    사용자에게 권한을 부여하기 위한 명령어

 

       > GRANT ALL PRIVILEGES ON [dbname.table_name] TO [user@host] IDENTIFIED BY ‘my_password’

                            → ALL PRIVILEGES / SELECT / INSERT ... 가능

 

                  [user@host] : 로컬호스트 - user@localhost

                                    원격접속 - user@‘%’

                                    아이피  - user@192.168.0.5

 

2. REVOKE

     GRANT 명령어로 적용한 권한을 해제해주는 명령어

 

> REVOKE insert, update, create ON [dbname.table_name] TO [user@host];

> REVOKE ALL ON [dbname.table_name] TO [user@host];