SQL_DDL

승주😊·2021년 2월 25일
1

SQL

목록 보기
1/6
post-thumbnail
post-custom-banner

SQL

데이터베이스 시스템에서 자료를 처리하는 용도로 사용되는 구조적 데이터 질의 언어

SQL 문장들의 종류

  • DML (DATA MANIPULATION LANGUAGE) : Select, Insert, Update, Delete
  • DDL (DATA DEFINITION LANGUAGE) : Create, Alteer, Drop, Rename
  • DCL (DATA CONTROL LANGUAGE) : Grant, Revoke
  • TCL (TRANSACTION CONTROL LANGUAGE): Commit, Rollback

TABLE

관계형 데이터베이스의 기본 단위 ( 데이터를 저장하는 객체 )
테이블은 하나 이상의 COLUMN을 가짐
행/칼럼/필드의 구조를 지님

  • 정규화 : 테이블을 분할하여 데이터의 불필요한 중복 제거
  • 기본키 : 각 행을 한 가지 의미로 특정할 수 있는 한 개 이상의 컬럼
  • 외부키 : 다른 테이블의 기본키로 사용되고 있는 관계를 연결하는 칼럼

DDL

  • 데이터 유형 ( 자주 사용 하는 )
    1 . Character(s) : 고정 길이 문자열 정보
    2 . Varchar(s) : 가변 길이 문자열 정보 / s 만큼의 최대 길이

    char와 varchar의 차이!!
    -  char는 공백을 채워서 비교! , varchar는 공백을 채우지 않고 비교!
      (ex. char 유형 'aa' = 'aa ' 같다고 판단, varchar 유형 'aa'≠'aa ' 다르다고 판단)
      ( ! 단, char도 끝의 공백만 다른 문자열을 같다고 취급 )
    -  즉, varchar의 경우 공백도 하나의 문자로 취급, 공백이 다르면 다른 문자!!

    3 . Numeric : 정수, 실수 등 숫자 정보
      (전체 자리 수 지정 & 소수 부분 지정 : ex. NUMBER(8,2) / 전체 8자리 중 소수 2자리 )

    4 . DATETIME : 날짜와 시각 정보

CREATE TABLE

테이블 생성 : 모든 데이터를 고유하게 식별할 수 있는 기본키 설정 필요!
- 테이블 간의 관계는 기본키 / 외부키 사용해서 설정

CREATE TABLE 테이블이름 (칼럼명1 DATATYPE [DEFAULT 형식], 칼럼명2 DATATYPE [DEFAULT 형식]);

  • 테이블 생성 시 주의 사항
    - 테이블 생성 시 대/소문자 구별 x (보통 대문자 사용!)
    - 문자 데이터 유형은 반드시 가질 수 있는 최대 길이 표시!
    - 칼럼과 칼럼은 , 로 구분하되 마지막 칼럼은 콤마 x
    - 제약조건이 있는 경우 CONSTRAINT를 이용하여 추가 가능

  • 제약 조건
    - 데이터의 무결성을 유지하기 위한 데이터베이스의 보편적 방법, 특정 컬럼에 설정하는 제약!

  1. PRIMARY KEY
  - 하나의 테이블에 하나의 기본키만 가능!
  - 자동으로 UNIQUE 인덱스 생성 , 기본키 칼럼은 NULL X
  - 기본키 제약 = 고유키 제약 & NOT NULL 제약!

  2. UNIQUE KEY
  -  각 행은 다른 값을 가져야 한다!
  -  단, null은 제약 대상이 아님 ( null 행 여러개 OK )

  3. NOT NULL
  -  입력을 금지!
  -  디폴트 상태에서는 null 허용 , not null 시 해당 입력 필수

  4. CHECK
  -  입력할 수 있는 값의 범위 등을 제한
  - check 제약으로는 true, false로 평가할 수 있는 논리식을 지정
  - Ex ) ALTER TABLE table ADD CONSTRAINT CHECK (col NOT IN ('X'));
         // col에는 'X'를 저장할 수 없음!

  5. Foreign Key
   - 테이블 간의 관계를 정의 , 기본키를 다른 테이블의 외래키로 복사하는 경우 생성
  -  외래키 지정시 참조 무결성 제약 옵션 선택 가능
    ( Ex. not action, set null, casecade, set default 등 )

  • Select 문을 통한 테이블 생성 !
    -  select 문장을 활용해서 테이블을 생성하는 방법
        CREATE TABLE TEAM_A AS SELECT * FROM TEAM ;
profile
All the Best❤
post-custom-banner

0개의 댓글