[유튜브 방송] (즐겁게 배우는 SQL) 기획 소개에서 설명드린 즐겁게 배우는 SQL 33편을 공개해드리겠다. 33편은 테이블 변경 방법을 소개한다.
2021년 1월 14일자 [즐겁게 배우는 SQL #33] 데이터를 정의하자 - 테이블 변경 방송은 다음에서 볼 수 있으며, 전체 방송 플레이리스트는 즐겁게 배우는 SQL에서 확인할 수 있다.
하이라이트를 요약 정리하면 다음과 같다:
- 00:00 테이블 변경 방법 소개
- 03:28 테이블 이름 변경 예제
- 05:04 테이블 열 추가 예제
- 07:42 테이블 열 삭제 예제
원본 학습자료는 SQLite Rename Column을 참고하고, 방송에 사용한 실제 실습 자료는 다음을 참고한다:
- 단계 1: 테이블 변경 방법 소개
ALTER TABLE existing_table RENAME TO new_table; ) [WITHOUT ROWID]; ALTER TABLE table_name ADD COLUMN column_definition; ALTER TABLE table_name RENAME COLUMN current_name TO new_name; -- disable foreign key constraint check PRAGMA foreign_keys=off; -- start a transaction BEGIN TRANSACTION; -- Here you can drop column CREATE TABLE IF NOT EXISTS new_table( column_definition, ... ); -- copy data from the table to the new_table INSERT INTO new_table(column_list) SELECT column_list FROM table; -- drop the table DROP TABLE table; -- rename the new_table to the table ALTER TABLE new_table RENAME TO table; -- commit the transaction COMMIT; -- enable foreign key constraint check PRAGMA foreign_keys=on;
- 단계 2: 테이블 이름 변경 예제
- SQL> CREATE TABLE devices ( name TEXT NOT NULL, model TEXT NOT NULL, Serial INTEGER NOT NULL UNIQUE );
- SQL> INSERT INTO devices (name, model, serial) VALUES('HP ZBook 17 G3 Mobile Workstation','ZBook','SN-2015');
- SQL> ALTER TABLE devices RENAME TO equipment;
- SQL> SELECT name, model, serial FROM equipment;
- 단계 3: 테이블 열 추가 예제
- SQL> ALTER TABLE equipment ADD COLUMN location text;
- 단계 4: 테이블 열 삭제 예제
- SQL> CREATE TABLE users( UserId INTEGER PRIMARY KEY, FirstName TEXT NOT NULL, LastName TEXT NOT NULL, Email TEXT NOT NULL, Phone TEXT NOT NULL );
- SQL> CREATE TABLE favorites( UserId INTEGER, PlaylistId INTEGER, FOREIGN KEY(UserId) REFERENCES users(UserId), FOREIGN KEY(PlaylistId) REFERENCES playlists(PlaylistId) );
- SQL> INSERT INTO users(FirstName, LastName, Email, Phone) VALUES('John','Doe','john.doe@example.com','408-234-3456');
- SQL> INSERT INTO favorites(UserId, PlaylistId) VALUES(1,1);
- SQL> SELECT * FROM users;
- SQL> SELECT * FROM favorites;
- SQL> PRAGMA foreign_keys=off;
- SQL> BEGIN TRANSACTION;
- SQL> CREATE TABLE IF NOT EXISTS persons ( UserId INTEGER PRIMARY KEY, FirstName TEXT NOT NULL, LastName TEXT NOT NULL, Email TEXT NOT NULL );
- SQL> INSERT INTO persons(UserId, FirstName, LastName, Email) SELECT UserId, FirstName, LastName, Email FROM users;
- SQL> DROP TABLE users;
- SQL> ALTER TABLE persons RENAME TO users;
- SQL> COMMIT;
- SQL> PRAGMA foreign_keys=on;
- SQL> SELECT * FROM users;
댓글 없음:
댓글 쓰기