Chapter 03. SQL 기본 명령어
1. DML (Data Manipulation Language) : 데이터 조작 언어
데이터 검색, 등록, 삭제, 갱신을 위한 데이터베이스 언어
- SELECT
DB에 있는 데이터를 조회하거나 검색하기 위한 명령어
SELECT *
FROM 테이블명
[WHERE 조건];
- INSERT
DB에 데이터를 삽입할 때 사용하는 명령어
INSERT INTO 테이블명(field1, field2, field3)
VALUES(data1, data2, data3);
field는 생략 가능, 이 경우 데이터베이스의 스키마와 같은 순서대로 필드 값 자동 대입
- UPDATE
DB에 있는 데이터를 갱신(내용 변경)할 때 사용하는 명령어
UPDATE 테이블명
SET field1 = 'data1',
field2 = 'data2'
WHERE field99 = 'data99';
WHERE절의 조건을 만족하는 레코드의 값만을 수정하는 코드
-> field99가 data99인 레코드의 field1, field2를 각각 data1과 data2로 수정한다
- DELETE
DB에 있는 데이터를 삭제할 때 사용하는 명령어
DELETE FROM 테이블명
WHERE field1 = '1';
2. DDL (Data Definition Language) : 데이터 정의 언어
데이터 베이스 객체(테이블, 뷰, 인덱스 등)을 정의하는 언어
- CREATE
DB에 새로운 테이블 구조를 생성하기 위한 명령어
1. 새로운 데이터베이스를 생성할 경우
CREATE DATABASE 데이터베이스 이름;
2. 새로운 테이블을 생성할 경우
CREATE TABLE 테이블명( field1 VARCHAR(8),
field2 TIMESTAMP,
field3 DATE,
field4 NUMBER(6));
*INT(?) : ?는 ZF(zerofill)속성으로 데이터의 남은 빈칸을 0으로 채워준다. 예를 들어 INT(5), 데이터 값이 12라면 00012로 보여짐
- ALTER
(1) DB를 수정하거나 (2) DB에 있는 테이블 구조를 변경할 때 사용하는 명령어
(1) DB를 수정할 경우
ALTER DATABASE 데이터베이스이름
CHARACTER SET=utf8 COLLATE=euckr_korean_ci;
*COLLATE : 데이터베이스에서 검색이나 정렬과 같은 작업을 할 때 사용하는 비교를 위한 규칙의 집합
자주 사용되는 대표적인 CHARACTER SET
1. utf8 : UTF-8 유니코드를 지원하는 문자셋(1~3byte)
2. euckr : 한글을 지원하는 문자셋(1~2byte)
자주 사용되는 COLLATE
1. utf8_bin
2. utf8_general_ci
3. euckr_bin
4. euckr_korean_ci
(2) Table을 수정할 경우
1. ADD COLUMN : 테이블에 새로운 속성을 추가한다
ALTER TABLE 테이블명
ADD(추가할 칼럼명, 데이터타입);
2. MODIFY COLUMN : 테이블의 속성을 수정한다
ALTER TABLE 테이블명
MODIFY(변경할 칼럼명, 변경할 데이터 TYPE);
3. DROP COLUMN : 테이블의 속성을 삭제한다
ALTER TABLE 테이블명
DROP COLUMN 삭제할 칼럼명;
4. RENAME TO : 테이블명을 새로운 이름으로 변경한다
ALTER TABLE 기존 테이블명
RENAME TO 새로운 테이블명;
- DROP
(1) DB를 삭제하거나 (2) DB의 테이블을 삭제할 때 사용하는 명령어
(1) DB를 삭제할 경우
DROP DATABASE 데이터베이스이름
(2) Table을 삭제할 경우
DROP TABLE 테이블명
- TRUNCATE
DB의 테이블 내부의 모든 내용을 삭제하는 명령어. 테이블 자체가 아닌 데이터만을 지우고 싶을 때 사용한다
TRUNCATE TABLE 테이블명
'프로그래밍 > DataBase' 카테고리의 다른 글
[SQLD] SQL 기본 및 활용 Section 01. SQL 기본 (1) SQL기초와 DDL까지 (0) | 2023.08.26 |
---|---|
[SQLD] 데이터 모델링의 이해 Section 02. Data Model and Performance (0) | 2023.08.23 |
[SQLD] 데이터 모델링의 이해 Section 01. Data Modeling (0) | 2023.08.23 |
[MySQL] 03. 데이터 타입 - 숫자 타입 (0) | 2023.02.25 |
[MySQL] 01. Introduction (0) | 2023.02.24 |