220519_SQL - DDL 기초

창고·2022년 7월 28일
0

티스토리에 저장했던 글을 옮겼습니다.
https://mrcocoball.tistory.com/51?category=1080971

1. SQL (Structured Query Language)의 정의와 종류

(1) 정의

  • 관계형 데이터베이스 관리 시스템에서 데이터를 관리하기 위해 사용되는 표준 프로그래밍 언어(Language)
  • 데이터베이스 스키마 생성 및 수정, 테이블 관리, 데이터 추가, 수정, 삭제, 조회 등 
    데이터베이스와 관련된 거의 모든 작업을 위해 사용되는 언어

(2) 종류

  • 데이터 정의 언어 DDL (Data Definition Language) : 데이터의 구조를 정의
  • 데이터 처리 언어 DML (Data Manipulation Language) : 데이터 CRUD (생성, 읽기, 갱신, 삭제) 처리
  • 데이터 제어 언어 DCL (Data Control Language) : 데이터 제어 권한 설정, 무결성 처리 등

2. DDL (Data Definition Language)

(1) 정의

  • 테이블, 인덱스 등의 개체를 만들고 관리하는데 사용되는 명령
  • CREATEDROPALTER 등이 존재함

(2) 데이터베이스 관련

  • CREATE DATABASE DB명; : 데이터베이스 생성
  • SHOW DATABASES; : 데이터베이스 목록 확인
  • USE DATABASE DB명; : DB 사용 (필수)
  • DROP DATABASE DB명; : DB 삭제, DB가 존재하지 않을 경우에 오류 출력
  • DROP DATABASE IF EXISTS DB명; : DB 삭제, DB가 없을 경우에도 오류 미출력
    • IF EXISTS
      대상이 존재할 경우를 상정하는 옵션? 해당 옵션 추가 시 대상이 없더라도 오류가 미출력됨

(3) 테이블 관련

  • CREATE TABLE 테이블명; : 테이블 생성 (USE DATABASE 선행 필수)
CREATE TABLE 테이블명 (  
컬럼명 데이터형,  
컬럼명 데이터형,  
...  
PRIMARY KEY(기본키가 될 컬럼=필드명)  
);


  • SHOW TABLES; : 테이블 목록 확인
  • DESC 테이블명; : 테이블 내부 확인
  • DROP TABLE 테이블명; : 테이블 삭제
  • DROP TABLE IF EXISTS 테이블명; : 테이블 삭제, 테이블이 없을 경우에도 오류 미출력
  • ALTER TABLE 테이블명 ADD COLUMN 컬럼명 데이터형; : ~데이터형의 컬럼을 추가
  • ALTER TABLE 테이블명 MODIFY COLUMN 컬럼명 변경될 데이터형; : 컬럼의 데이터형을 ~데이터형으로 변경
  • ALTER TABLE 테이블명 CHANGE COLUMN 컬럼명 변경될 컬럼명, 변경될 데이터형; : 컬럼의 데이터형과 이름을 변경
  • ALTER TABLE 테이블명 DROP COLUMN 컬럼명; : 컬럼을 삭제

(4) 공통 데이터 관련

  • PRIMARY KEY(컬럼=필드명);
    해당 컬럼을 기본키로 지정, 한 개 이상을 지정할 수 있으나 보통 한 개를 지정
    기본키의 경우 NOT NULL AUTO_INCREMENT 선언을 많이 함
  • NOT NULL : 데이터 입력 시 해당 컬럼 데이터에 값이 없는 경우를 허락하지 않음
  • AUTO_INCREMENT : 해당 테이블에 데이터 등록 시 해당 컬럼은 자동으로 숫자가 1씩 증가하여 저장됨
    다만 양의 정수만 등록할 수 있어야되며, 테이블 안에서 1개만 지정 가능

(5) 숫자형 데이터 관련

  • INT : 정수형 데이터 타입, -2147483648 ~ + 2147483648 (가장 많이 사용)
  • TINYINT : 정수형 데이터 타입, -128 ~ + 127
  • SMALLINT : 정수형 데이터 타입, 
  • MEDIUMINT : 정수형 데이터 타입, 
  • BIGINT : 정수형 데이터 타입, 무제한
  • FLOAT : 부동 소수형 데이터 타입 (가장 많이 사용)
  • DECIMAL : 고정 소수형 데이터 타입
    • 예시 : DECIMAL(5,2) : 정수부 길이 5, 소수부 자릿수 2
  • DOUBLE : 부동 소수형 데이터 타입
  • UNSIGNED : 옵션이며 숫자형 데이터에 적용할 경우 음수값을 제외하고 양의 범위로 2배 증가
    • 예시 : INT UNSIGNED : 0~4294967295

(6) 시간형 데이터 관련

  • DATE
  • TIME
  • DATETIME
  • TIMESTAMP
  • YEAR
profile
공부했던 내용들을 모아둔 창고입니다.

0개의 댓글