[DBMS] 쿼리문 명령어, SQL 명령어 분류
1. SELECT
SELECT 명령어는 데이터베이스에서 데이터를 조회하는 데 사용됩니다. 가장 기본적인 형태는 SELECT 다음에 원하는 컬럼 이름을 나열하고, FROM 뒤에는 해당 컬럼들을 포함하고 있는 테이블 이름을 지정합니다.
- 기본 구조: SELECT 컬럼1, 컬럼2 FROM 테이블명;
- 예시: SELECT name, age FROM users;
SELECT문은 다양한 조건과 함께 사용될 수 있습니다. 예를 들어, 특정 조건을 만족하는 데이터만 조회하고 싶을 때 WHERE 절을 사용할 수 있습니다.
- 조건부 조회: SELECT 컬럼1, 컬럼2 FROM 테이블명 WHERE 조건;
2. UPDATE
UPDATE 명령어는 기존에 저장된 데이터를 수정할 때 사용됩니다. 수정하고자 하는 테이블과 컬럼을 지정하고, 어떤 값으로 변경할지를 명시합니다. 또한, WHERE 절을 사용해 특정 조건을 만족하는 데이터에 대해서만 수정을 적용할 수 있습니다.
- 기본 구조: UPDATE 테이블명 SET 컬럼1 = 값1, 컬럼2 = 값2 WHERE 조건;
- 예시: UPDATE users SET age = 30 WHERE name = 'John';
주의할 점은 WHERE 절 없이 UPDATE를 사용하면 테이블의 모든 데이터가 변경될 수 있으므로 주의가 필요합니다.
3. DELETE
DELETE 명령어는 데이터를 삭제하는 데 사용됩니다. DELETE는 주로 WHERE 절과 함께 사용되어, 특정 조건을 만족하는 데이터만을 삭제합니다.
- 기본 구조: DELETE FROM 테이블명 WHERE 조건;
- 예시: DELETE FROM users WHERE age < 18;
각각의 명령어 사용 시, 데이터의 무결성을 유지하기 위해 주의 깊게 작업해야 하며, 특히 UPDATE와 DELETE 작업을 할 때는 되돌릴 수 없는 데이터 손실이 발생할 수 있으므로, 가능하면 작업 전에 데이터 백업을 수행하는 것이 좋습니다. SQL을 사용할 때는 이러한 명령어들을 조합하여 데이터를 효율적으로 관리할 수 있습니다.
4. INSERT
INSERT 명령어는 새로운 데이터를 테이블에 추가할 때 사용됩니다. 데이터를 추가하려는 테이블의 이름과, 그 테이블의 컬럼에 맞게 데이터를 지정해야 합니다.
- 기본 구조: INSERT INTO 테이블명 (컬럼1, 컬럼2, ...) VALUES (값1, 값2, ...);
- 예시: INSERT INTO users (name, age) VALUES ('Alice', 25);
5. CREATE TABLE
CREATE TABLE 명령어는 새로운 테이블을 생성할 때 사용됩니다. 테이블을 생성할 때는 각 컬럼의 이름과 데이터 타입, 그리고 필요한 경우 다양한 제약조건(예: PRIMARY KEY, NOT NULL 등)을 명시해야 합니다.
- 기본 구조: CREATE TABLE 테이블명 (컬럼1 데이터타입 [제약조건], 컬럼2 데이터타입 [제약조건], ...);
- 예시: CREATE TABLE users (id INT PRIMARY KEY, name VARCHAR(100), age INT);
6. ALTER TABLE
ALTER TABLE 명령어는 이미 존재하는 테이블의 구조를 변경할 때 사용됩니다. 컬럼을 추가하거나 삭제하고, 컬럼의 데이터 타입을 변경하는 등의 작업을 수행할 수 있습니다.
- 컬럼 추가: ALTER TABLE 테이블명 ADD 컬럼명 데이터타입;
- 컬럼 삭제: ALTER TABLE 테이블명 DROP COLUMN 컬럼명;
- 예시(컬럼 추가): ALTER TABLE users ADD email VARCHAR(255);
7. DROP TABLE
DROP TABLE 명령어는 테이블 자체를 삭제할 때 사용됩니다. 이 명령어를 실행하면 테이블과 그 안에 있는 모든 데이터가 영구적으로 삭제됩니다.
- 기본 구조: DROP TABLE 테이블명;
- 예시: DROP TABLE users;
8. TRUNCATE TABLE
TRUNCATE TABLE 명령어는 테이블의 데이터를 모두 삭제하되, 테이블 구조는 유지하고 싶을 때 사용됩니다. 이 명령어는 DELETE 명령어보다 빠르게 작동하며, 삭제된 데이터는 복구할 수 없습니다.
- 기본 구조: TRUNCATE TABLE 테이블명;
- 예시: TRUNCATE TABLE users;
9. SQL 명령어 분류
9-1. DDL (Data Definition Language) - 데이터 정의 언어
DDL은 데이터베이스 스키마를 정의하거나 수정하거나 삭제하는 데 사용되는 명령어 그룹입니다. 테이블, 인덱스 등의 구조를 생성, 변경, 삭제하는 작업을 포함합니다.
명령어설명
CREATE | 새로운 데이터베이스, 테이블, 인덱스 등을 생성 |
ALTER | 기존 데이터베이스 구조(테이블 등)를 수정 |
DROP | 데이터베이스, 테이블, 인덱스 등을 삭제 |
TRUNCATE | 테이블의 모든 데이터를 삭제하되 구조는 유지 |
9-2. DML (Data Manipulation Language) - 데이터 조작 언어
DML은 데이터를 실제로 조작하는 데 사용되는 명령어 그룹입니다. 데이터를 삽입, 조회, 수정, 삭제하는 작업을 포함합니다.
명령어설명
SELECT | 데이터베이스에서 데이터를 조회 |
INSERT | 테이블에 새로운 데이터를 삽입 |
UPDATE | 테이블의 데이터를 수정 |
DELETE | 테이블의 데이터를 삭제 |
9-3. DCL (Data Control Language) - 데이터 제어 언어
DCL은 데이터베이스에서 데이터에 대한 접근을 제어하는 데 사용되는 명령어 그룹입니다. 사용자에게 권한을 부여하거나 권한을 회수하는 작업을 포함합니다.
명령어설명
GRANT | 사용자에게 권한을 부여 |
REVOKE | 사용자의 권한을 회수 |