금요일, 1월 29, 2021

[유튜브 방송] (즐겁게 배우는 SQL #42) 제약 조건 - AUTOINCREMENT 제약

[유튜브 방송] (즐겁게 배우는 SQL) 기획 소개에서 설명드린 즐겁게 배우는 SQL 42편을 공개해드리겠다. 42편은 AUTOINCREMENT 제약 조건을 소개한다.

2021년 1월 29일자 [즐겁게 배우는 SQL #42] 제약 조건 - AUTOINCREMENT 제약 방송은 다음에서 볼 수 있으며, 전체 방송 플레이리스트는 즐겁게 배우는 SQL에서 확인할 수 있다.

하이라이트를 요약 정리하면 다음과 같다:

  • 00:00 ROWID 소개
  • 03:35 PK와 ROWID 연계 방안 소개
  • 11:29 AUTOINCREMENT 제약 예제

원본 학습자료는 SQLite AUTOINCREMENT를 참고하고, 방송에 사용한 실제 실습 자료는 다음을 참고한다:

  • 단계 1: ROWID 소개
    1. SQL> CREATE TABLE people ( first_name TEXT NOT NULL, last_name TEXT NOT NULL );
    2. SQL> INSERT INTO people (first_name, last_name) VALUES('John', 'Doe');
    3. SQL> INSERT INTO people (first_name, last_name) VALUES('Lily', 'Bush');
    4. SQL> SELECT rowid, _rowid_, oid, first_name, last_name FROM people;
  • 단계 2: PK와 ROWID 연계 방안 소개
    1. SQL> DROP TABLE people;
    2. SQL> CREATE TABLE people ( person_id INTEGER PRIMARY KEY, first_name TEXT NOT NULL, last_name TEXT NOT NULL );
    3. SQL> INSERT INTO people (person_id,first_name,last_name) VALUES( 9223372036854775807,'Johnathan','Smith');
    4. SQL> INSERT INTO people (first_name,last_name) VALUES('William','Gate');
    5. SQL> SELECT rowid, _rowid_, oid, first_name, last_name FROM people;
    6. SQL> CREATE TABLE t1(c text);
    7. SQL> INSERT INTO t1(c) VALUES('A');
    8. SQL> INSERT INTO t1(c) values('B');
    9. SQL> INSERT INTO t1(c) values('C');
    10. SQL> INSERT INTO t1(c) values('D');
    11. SQL> SELECT rowid, c FROM t1;
    12. SQL> DELETE FROM t1;
    13. SQL> INSERT INTO t1(c) values('E');
    14. SQL> INSERT INTO t1(c) values('F');
    15. SQL> INSERT INTO t1(c) values('G');
    16. SQL> SELECT rowid, c FROM t1;
  • 단계 3: AUTOINCREMENT 제약 예제
    1. SQL> DROP TABLE people;
    2. SQL> CREATE TABLE people ( person_id INTEGER PRIMARY KEY AUTOINCREMENT, first_name text NOT NULL, last_name text NOT NULL );
    3. SQL> INSERT INTO people (person_id,first_name,last_name) VALUES(9223372036854775807,'Johnathan','Smith');
    4. SQL> INSERT INTO people (first_name,last_name) VALUES('John','Smith');
    5. SQL> SELECT rowid, _rowid_, oid, first_name, last_name FROM people;
EOB

댓글 없음:

댓글 쓰기