CODING PRACTICE/SQL

Basic__sqlite(1)

HELLICAT 2025. 2. 25. 15:46
반응형

테이블 생성

CREATE TABLE movies (
	title,
    released,
    overview,
    rating,
    director
);

 

테이블 삭제

DROP TABLE movies;

 

테이블에 데이터 삽입

-- 데이터값의 순서와 모든 데이터값이 존재함을 지켜야함

INSERT INTO movies VALUES (
  'movie_title',
  '1999',
  'good',
  '10/10',
  'who?'
);

 

-- 해당 데이터에만 값을 넣기
INSERT INTO movies (title) VALUES ('SINGLE_MOVIE_TITLE');
INSERT INTO movies (title,rating) VALUES ('SINGLE_MOVIE_TITLE no.2','8/10');

 

테이블 데이터 값에 타입지정 (SQLITE)

CREATE TABLE movies (
  title TEXT,
  released INTEGER, -- 1,2,3,4..
  overview TEXT,
  rating REAL, -- 1.1 , 2.8 , 3.6 ...
  director TEXT,
  adult INTEGER, -- sqlite에서 boolean을 넣기 위해서는 0,1 로 넣어 동작한다.
  forster BLOB, -- 데이터베이스에 이미지같은 파일을 저장하기 위해서는 BLOB을 사용한다.
);

 

테이블 데이터 값에 제약 넣기

CREATE TABLE movies (
  title TEXT UNIQUE NOT NULL,
  released INTEGER CHECK (released > 0), -- 1,2,3,4..
  overview TEXT NOT NULL CHECK(LENGTH(overview) < 100),
  rating REAL, -- 1.1 , 2.8 , 3.6 ...
  director TEXT NOT NULL,
  adult INTEGER NOT NULL DEFAULT 0 CHECK (adult = 0 OR adult = 1)
  -- adult INTEGER NOT NULL DEFAULT 0 CHECK (adult BETWEEN 0 AND 1)
);

INSERT INTO movies VALUES (
  'movie_title',
  1999,
  'good',
  9.7,
  'who?',
  1
);

INSERT INTO movies (title, overview, director, adult) VALUES 
	('SINGLE_MOVIE_TITLE','fine','thomas',0);

 

 

기본키(Primary Key)

기본키는 유니크해야하며 수정 불가해야한다.

기본키는 두가지 유형이 있는데 이는 기본기(Natural Primary Key) 대체 기본키 (Surrogate Primary key)가 있다.

자연 기본키는 테이블의 데이터와 논리적 관계를 갖는 기본키이다.

대체 기본키를 사용하는것을 추천

CREATE TABLE movies (
-- surrogate_id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, --아래 데이터와 관련이 없다. 단지 고유식별자가 필요하기 때문이다.
  title TEXT UNIQUE NOT NULL PRIMARY KEY, -- natural키는 데이터와 연관이 있다.
.
.
.
);
728x90