티스토리 뷰
1. 작성했던 코드
create table movies (
movie_id INTEGER PRIMARY KEY AUTOINCREMENT,
title TEXT UNIQUE NOT NULL,
released INTEGER NOT NULL CHECK (released > 0),
overview TEXT NOT NULL CHECK (LENGTH(overview) < 30),
rating REAL NOT NULL CHECK (rating BETWEEN 0 AND 10),
director TEXT,
for_kids INTEGER NOT NULL DEFAULT 0 CHECK (for_kids = 0 OR for_kids = 1 OR for_kids > -1 OR for_kids < 2 OR for_kids BETWEEN 0 AND 1) -- 0 or 1
-- poster BLOB
) STRICT;
DROP TABLE movies;
INSERT INTO movies VALUES (
2,
'The Godfather',
1980,
'The best movie in the world',
10,
'F.F.C',
1
),
(
3,
'1984',
1983,
'super good',
10,
'dont know',
1
);
INSERT INTO movies (title, rating, released, overview) VALUES ('TLOTR III', 10, 1999, 'abcde');
2. 내용 정리
- 주석 추가하기
- 싱글 라인: -- 내용
- 멀티 라인: /* 내용 */
- SQL 명령어는 대소문자를 구분하지 않음 (SELECT, select 동일하게 동작한다)
- SQL 쿼리 끝에는 세미콜론(';')을 붙여야 함
- Table (테이블)
- 데이터베이스의 모든 데이터를 포함하는 데이터베이스 객체
- 테이블에서 데이터는 스프레드시트와 유사하게 행-열 형식으로 구성
- 행 (row, 레코드): 실제 데이터가 저장되는 한 줄의 정보 (예: 1, "철수", 25)
- 열 (column, 필드): 데이터의 속성을 나타내는 부분 (id, name, age)
- 테이블 생성
- CREATE TABLE 테이블_이름 ( 컬럼들 ) 명령어를 이용해서 생성
- 괄호 내에는 컬럼들을 순서대로 작성 (위 코드에서는 movie_id, title, released, overview, rating, director, for_kids)
- 테이블 제거
- DROP TABLE 테이블_이름 명령어를 이용해서 제거
- 삭제된 테이블은 데이터베이스 스키마와 디스크 파일에서도 완전히 제거되기에 주의해야 함.
- 외래 키 제약 조건이 활성화된 경우 DROP TABLE 명령은 데이터베이스 스키마에서 테이블을 제거하기 전에 암시적 DELETE FROM 명령을 수행합니다.
- 행 생성
- INSERT INTO 테이블_이름 VALUES ( 컬럼에 해당하는 값들 ) 명령어를 이용해서 생성
- 이 경우 모든 컬럼에 해당하는 값들이 필요하다.
- INSERT INTO 테이블_이름 ( 일부_컬럼명들 ) VALUES (일부 컬럼에 해당하는 값들)
- 이 경우 컬럼에 해당하는 값들만 필요하다.
- 값을 지정하지 않은 컬럼의 값들은 기본 컬럼 값으로 채워지거나 NULL로 채워진다.
- INSERT INTO 테이블_이름 VALUES ( 컬럼에 해당하는 값들 ) 명령어를 이용해서 생성
- 데이터 유형
- 대부분 SQL 데이터베이스 엔진은 정적이고 엄격한 타입 지정을 사용한다.
- 정적 타입 지정을 사용할 경우, 값의 데이터 유형이 해당 컨테이너에 따라 결정된다.
- (SQLite) 데이터 유형들
- TEXT: 문자열
- INTEGER: 정수
- REAL: 부동소수점 숫자 (소수점 포함)
- BLOB: blob 데이터
- NULL: NULL
- Constraints
- 데이터의 데이터 컬럼에 적용되는 규칙으로, 테이블에 들어갈 수 있는 데이터 유형을 제한하는데 사용되며, 데이터의 정확성과 신뢰성을 보장한다.
- NOT NULL: 컬럼이 값으로 NULL을 가질 수 없도록 한다.
- DEFAULT: 값을 지정하지 않은 경우, 기본값으로 설정한다.
- UNIQUE: 컬럼의 모든 값이 서로 다른지 확인한다.
- CHECK Constraint
- 레코드에 입력되는 값을 확인하는 조건을 추가한다.
- 조건이 true인 경우는 정상적으로 테이블에 데이터가 들어가고, false인 경우는 데이터가 들어가지 않는다.
- 내장 함수
- SQL에는 여러 내장 함수가 존재한다. (예: abs, length, changes 등)
- length(x): 문자열 x의 총 문자수를 반환한다.
- PRIMARY KEY (기본 키)
- 데이터베이스 테이블의 각 행/레코드를 고유하게 식별하는 테이블의 필드이며, 고유한 값이 포함되어야 한다.
- NULL은 가질 수 없다.
- 여러 필드가 기본 키로 사용되는 경우 이를 복합 키라고 한다.
- 불변성과 고유함을 가져야 한다.
- AUTOINCREMENT: 자동 증가 기능
- 데이터의 데이터 컬럼에 적용되는 규칙으로, 테이블에 들어갈 수 있는 데이터 유형을 제한하는데 사용되며, 데이터의 정확성과 신뢰성을 보장한다.
3. 참고 문서
'기록' 카테고리의 다른 글
노마드코더 SQL 마스터클래스 강의 기록 03 (0) | 2025.03.15 |
---|---|
노마드코더 SQL 마스터클래스 강의 기록 02 (0) | 2025.03.09 |
리액트 엑셀 업로드 기능 간단하게 구현해보기 (0) | 2025.02.16 |
리액트 엑셀 다운로드 기능 간단하게 구현해보기 (0) | 2025.02.15 |
Prisma의 skip, take (0) | 2025.02.09 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- themoviedb
- aws
- Redux
- C++
- 리액트
- 구현
- 순열
- NextJS
- 햄버거버튼
- 스택
- typescript
- 다이나믹프로그래밍
- 코드스테이츠
- 비트마스킹
- 타입스크립트
- CSS
- 알고리즘
- react
- 완전탐색
- 동적계획법
- 브루트포스
- 프로그래머스
- Next.js
- BFS
- 백준
- 자바스크립트
- async
- SQL
- 넥스트js
- 카카오맵
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
글 보관함