SQL의 기본구조 및 명령어

EUNSU·2022년 1월 5일
0

SQL

목록 보기
1/2

위 글은 edwith 강의를 기반으로 작성했습니다

SQL이란?

SQL은 Structured Query Language의 약자이며, 관계형 데이터베이스가 이해할 수 있는 구조화된 질의어이다

관계형 데이터베이스는 무엇인가?

RDB는 Relational Database의 약자이며, 행과 열로 구성된 테이블이 다른 테이블과 관계를 맺고 모여있는 집합체를 의미한다

위 질문에 답하기 위해서는 회원 테이블, 주문 테이블에서 데이터를 뽑아야 하는데 이를 위해서는 테이블이 다른 테이블과 관계를 맺고 있어야 한다

관계형 테이블은 무엇인가?

관계형 테이블은 관계형 데이터베이스에 저장되는 데이터의 집합이며, 행과 열로 구성되어있다

테이블은 각 열마다 반드시 1가지 데이터 타입으로 정의되어야 한다

  • <숫자형>

    데이터 형식바이트 수숫자 범위설명
    BIT10 or 1 or NULL논리형. True/False로 사용
    INT4231-2^{31} ~ 2312^{31}정수
    BIGINT8263-2^{63} ~ 2632^{63}정수
    FLOAT4-3.4010383.40*10^{38} ~ 3.4010383.40*10^{38}소수
    DOUBLE8-1.79103081.79*10^{308} ~ 1.79103081.79*10^{308}소수
  • <문자형>

    데이터 형식바이트 수설명
    CHAR(n)0 ~ 8,000고정길이 문자형
    NCHAR(n)0 ~ 8,000유니코드 고정길이 문자형 cf.한글 0~4000자
    VARCHAR(n)0 ~ 23112^{31}-1가변길이 문자형
    NVARCHAR(n)0 ~ 23112^{31}-1유니코드 가변길이 문자형
  • <날짜형>

    데이터 형식바이트 수설명
    DATETIME8YYYY-MM-DD-시:분:초
    DATE3YYYY-MM-DD
    TIME5시:분:초

테이블은 각 열마다 제약 조건을 정의할 수 있다

  1. PK(primary key)
    : 중복되어 나타날 수 없는 단일 값 + NOT NULL
  1. NOT NULL
    : NULL이 허용되지 않음
    *NuLL : 값이 없는 상태

SQL 명령어의 종류

SQL 기본 명령어는 4가지로 분류된다

  • 데이터 정의어(DDL)
  • 데이터 조작어(DML)
  • 데이터 제어어(DCL)
  • 트랜젝션 제어어(TCL)

데이터 정의어

데이터 정의어는 테이블을 생성, 변경 삭제할 때 사용하는 명령어이다

  1. 테이블 생성

    CREATE TABLE [테이블 명](
    [컬럼 1][데이터 타입] [제약조건]-생략가능
    [컬럼 2][데이터 타입]
    [컬럼 3][데이터 타입]
    );


CREATE TABLE 회원테이블(
회원번호 INT PRIMARY KEY, # 고유키 설정(중복 허용X)
이름 VARCHAR(20), # 20 : BYTE 수 (최대 20 바이트)
가입일자 DATE NOT NULL, # 제약조건 -> NULL 값 허용 X
수신동의 BIT # BIT : BOOLEAN (논리형)
);
  1. 열 추가

    ALTER TABLE [테이블 명] ADD [추가 컬럼 명][데이터 타입];

ALTER TABLE 회원테이블 ADD 성별 VARCHAR(2);
  1. 열 데이터 타입 변경

    ALTER TABLE [테이블 명] MODIFY [컬럼 명][데이터 타입];

ALTER TABLE 회원테이블 MODIFY 성별 VARCHAR(5);
  1. 테이블 명 변경

    ALTER TABLE [기존 테이블 명] RENAME [바꿀 테이블 명];

ALTER TABLE 회원테이블 RENAME 회원정보;
  1. 테이블 삭제

    ALTER TABLE [테이블 명];

DROP TABLE 회원테이블;
profile
머신러닝 엔지니어

0개의 댓글