프로그래밍/DataBase

[MySQL] 02. 명령어(1) (기본 명령어)

Churnobyl 2023. 2. 24. 21:10
728x90
반응형

 

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 테이블명

 

반응형