티스토리 뷰

 

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로 채워진다.
  • 데이터 유형
    • 대부분 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. 참고 문서

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
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
글 보관함