반응형
SQL 문법 종류
- Data Definition Language(DDL)
- Data Manipulation Language(DML)
- Data Control Language(DCL)
- Data Query Language(DQL)
- Transaction Control Language(TCL)
Data Definition Language(DDL)
DDL은 데이터를 정의할 때 사용하는 언어이다. 테이블을 만들 때 사용하는 CREATE, 테이블을 제거할 때 사용되는 DROP 등이 해당된다. 데이터베이스의 테이블과 같은 오브젝트를 정의할 때 사용한다.
CREATE : 테이블을 생성하거나 데이터베이스를 생성하는 명령어
// 데이터베이스 생성
CREATE DATABASE [데이터베이스명];
// 테이블 생성
CREATE TABLE [테이블명];
CREATE TABLE users (
id INT PRIMARY KEY AUTO_INCREMENT,
username varchar(50),
password varchar(50)
);
DROP : 생성한 테이블이나 데이터베이스를 삭제하는 명령어
// 데이터베이스 삭제
DROP DATABASE [데이터베이스명];
// 테이블 삭제
DROP TABLE [테이블명];
TRUNCATE : 생성한 테이블에서 데이터를 삭제하는 명령어
TRUNCATE TABLE [테이블명];
ALTER : 생성한 테이블에서 구조를 변경하는 명령어
// COLUMN 추가
ALTER TABLE [테이블명] ADD [컬럼명] [데이터타입];
// COLUMN 삭제
ALTER TABLE [테이블명] DROP [삭제할컬럼명];
// COLUMN 타입 수정
ALTER TABLE [테이블명] MODIFY [변경할컬럼] [변경할타입];
// COLUMN 이름 변경
ALTER TABLE [테이블명] CHANGE [기존칼럼명] [변경할컬럼명];
// COLUMN 테이블명 변경
ALTER TABLE [기존테이블명] RENAME [변경할테이블명];
반응형
Data Manipulation Language(DML)
DML은 데이터베이스에 데이터를 저장할 때 사용하는 언어이다. INSERT 처럼 새로운 레코드를 추가할 때, 데이터를 삭제하는 DELETE, 변경하는 UPDATE가 포함된다.
SELECT : 데이터 조회하는 명령어
// 테이블 내 모든 데이터 조회
SELECT * FROM [테이블명];
// 특정 컬럼 지정 조회
SELECT [컬럼명] FROM [테이블명];
// 조건 조회
SELECT [컬럼명] FROM [테이블명] WHERE [조건];
INSERT : 데이터 삽입하는 명령어
//모든 컬럼에 데이터 입력하는 경우
INSERT INTO [테이블명] VALUES([값1], [값2], ...);
//특정 컬럼을 지정해서 데이터 입력하는 경우
INSERT INTO [테이블명]([컬럼명1], [컬럼명2], ...) VALUES([값1], [값2], ...);
INSERT INTO [테이블명] SET [컬럼명]=[값], ...;
UPDATE : 데이터를 수정하는 명령어
UPDATE [테이블명] SET [컬럼명] = [값] ... WHERE [조건];
Data Control Language(DCL)
DCL은 데이터베이스에 대한 접근 권한과 관련된 문법이다. 어느 유저가 데이터베이스에 접근할 수 있는지 권한을 설정한다. 권한을 주는 GRANT나 권한을 가져가는 REVOKE등이 포함된다.
GRANT : 권한 설정하는 명령어
// 사용자 권한 부여
GRANT [권한종류] ON [대상] TO [계정명] IDENTIFIED BY [암호] [WITH GRANT OPTION];
// EX. 모든 권한을 가진 계정 생성
GRANT ALL ON *.* TO test@localhost IDENTIFIED BY "test1";
// GRANT로 계정생성 후 아래의 명령어를 실행해야 적용된다.
FLUSH PRIVILEGES;
REVOKE : 권한 삭제하는 명령어
// 권한 해제 명령어
REVOKE INSERT, UPDATE, CREATE ON [DB명,테이블명] TO [user@host];
// 전체 권한 해제 명령어
REVOKE ALL ON [DB명,테이블명] TO [user@host];
COMMIT : 작업한 결과를 물리적 디스크로 저장하고, 조작 작업이 완료됨을 사용자에게 알려주는 명령어
COMMIT;
ROLLBACK : 작업했던 내용을 원래의 상태로 복구하기 위한 명령어, COMMIT 하기 이전의 상태만 ROLLBACK 가능
ROLLBACK;
반응형
'Database' 카테고리의 다른 글
[DB] PostgreSQL 정리 (0) | 2024.09.09 |
---|---|
[DB] 데이터베이스 정규화 (1NF, 2NF, 3NF) 개념 및 정리 (1) | 2022.10.09 |
[DB] 데이터베이스 관계 (1:1, 1:N, N:M) 정리 (1) | 2022.10.06 |
[DB] SQL (Structured Query Language)과 NoSQL 개념 및 정리 (2) | 2022.10.05 |