-
[Database] SQL 기본 쿼리문 정리Database 2020. 10. 12. 16:54
DML (Data Manipulation Language)
SQL의 가장 기본이 되는 명령셋
DB에 새롭게 데이터를 추가하거나 삭제하거나 내용을 갱신하는 등에 사용
- 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];