SQL(Structured Query Language)
- 관계형 데이터베이스에 저장된 데이터를 관리하기 위해 설계
- 데이터를 정확하고 안전하게 유지하고, 크기에 관계없이 데이터가 무결성*을 유지할 수 있도록 함
(* 데이터 무결성(Data integrity) : 데이터의 정확성, 일관성, 유효성이 유지되는 것)
- SQL 언어는 오늘날 웹 프레임워크와 데이터베이스 어플리케이션들에서 널리 사용 중으로
, SQL을 통해 데이터를 탐색하거나 더 나은 결정을 하는데 도움이 되고 거의 모든 데이터 저장 시스템에 적용되는 개념을 배울 수 있음
관계형 데이터베이스(Relational Database)
- 정보를 하나 이상의 테이블(행과 열로 구성된 데이터 모음)로 구성하는 데이터베이스
- 열은 특정 유형의 데이터 값 집합, 행은 테이블의 단일 레코드
SQL 기본 명령
- CREATE : 테이블 생성하기
CREATE TABLE celebs(
id INTEGER, # 테이블의 첫 번째 열: id(정수형)
name TEXT, # 테이블의 두 번째 열: name(문자열)
age INTEGER # 테이블의 세 번째 열: age(정수형)
);
- INSERT : 테이블에 새로운 행 삽입하기
INSERT INTO celebs (id, name, age)
VALUES (1, 'Justin Bieber', 22);
- SELECT : 테이블에서 데이터 가져오기
# celebs 테이블의 모든 열 불러오기
SELECT * FROM celebs;
# celebs 테이블의 name 열 불러오기
SELECT name FROM celebs;
- ALTER TABLE : 지정된 변경을 수행하기
ALTER TABLE celebs
ADD COLUMN twitter_handle TEXT; # twitter_handle 열 추가하기
- UPDATE : 기존 레코드 변경하기
UPDATE celebs # 편집할 테이블 지정
SET twitter_handle = '@taylor' # 편집할 열에 넣을 새로운 값
WHERE id = 4; # 새로운 값으로 업데이트 할 행
'SET'을 통해 변경할 값을 입력하고, 'WHERE'을 통해 변경할 행에 대한 조건을 지정한다.
- DELETE : 테이블에서 행 삭제
DELETE FROM celebs
WHERE twitter_handle IS NULL; # 삭제할 행의 조건: twitter_handle 열이 null인 행
'WHERE'을 통해 삭제할 행의 조건을 지정한다.
Constraints (제약조건)
CREATE TABLE celebs (
id INTEGER PRIMARY KEY,
name TEXT UNIQUE,
date_of_birth TEXT NOT NULL,
date_of_death TEXT DEFAULT 'Not Applicable'
);
테이블 생성 시, 각 열에 대한 제약 조건을 지정할 수 있다.
- PRIMARY KEY (기본 키) : 테이블에서 각 행 또는 레코드를 고유하게 식별하는 테이블의 필드(field)
PRIMARY KEY 조건
1. 단일 값(UNIQUE) : 중복 불가
2. NULL 값을 가질 수 없음
3. 테이블 하나 당 기본키 하나까지만 가질 수 있음
4. 여러 필드가 하나의 기본 키로 구성되기도 함 = 복합 키
- FOREIGN KEY (외래 키, 참조 키) : 다른 테이블에서 행 또는 레코드가 유일하게 식별 가능한 값을 가지도록 함. 두 테이블을 연결하기 위해 사용
- NOT NULL 제약조건 : 해당 열이 NULL 값을 가지지 못하도록 함
- UNIQUE 제약조건 : 서로 다른 두 레코드의 특정한 열이 동일한 값을 가지는 것을 방지
- DEFAULT 제약조건 : 한 열에 특정한 값이 없을 경우, 대체할 기본 값을 설정
- CHECK 제약조건 : 특정 조건을 만족하는 값만 입력할 수 있도록 함
'SQL Study' 카테고리의 다른 글
Week 1-1) 생활코딩_MySQL (0) | 2023.08.03 |
---|