PostgreSQL 기초강의, PostgreSQL 기초강좌, PostgreSQL 기본강의, PostgreSQL 기본강좌
61강 SQL 초석 다지기 : PostgreSQL ADD COLUMN
SQL 초석 다지기 61강 시작합니다.
이번 시간에는
▶ PostgreSQL ADD COLUMN
에 대해서 알아보는 시간입니다.
요약: 이번 강의에서는 PostgreSQL ADD COLUMN 문을 사용하여 기존 테이블에 하나 이상의 열을 추가하는 방법을 배웁니다.
Introduction to the PostgreSQL ADD COLUMN statement
기존 테이블에 새 열을 추가하려면 다음과 같이 ALTER TABLE ADD COLUMN 문을 사용합니다.
ALTER TABLE table_name
ADD COLUMN new_column_name data_type constraint;
이 구문에서:
- 먼저 ALTER TABLE 키워드 뒤에 새 열을 추가할 테이블의 이름을 지정합니다.
- 둘째, ADD COLUMN 키워드 뒤에 새 열의 이름과 데이터 유형 및 제약 조건을 지정합니다.
테이블에 새 열을 추가하면 PostgreSQL은 테이블 끝에 이 항목을 추가합니다. PostgreSQL에는 테이블에서 새 열의 위치를 지정하는 옵션이 없습니다.
다른 dbms에서도 새열을 추가하면 테이블의 끝에 추가됩니다.
기존 테이블에 여러 열을 추가하려면 ALTER TABLE 문에서 다음과 같이 여러 ADD COLUM 절을 사용합니다.
ALTER TABLE table_name
ADD COLUMN column_name1 data_type constraint,
ADD COLUMN column_name2 data_type constraint,
...
ADD COLUMN column_namen data_type constraint;
PostgreSQL ADD COLUMN statement examples
다음 CREATE TABLE 문은 id 및 customer_name이라는 두 개의 열을 가진 customers라는 새 테이블을 생성합니다.
DROP TABLE IF EXISTS customers CASCADE;
CREATE TABLE customers (
id SERIAL PRIMARY KEY,
customer_name VARCHAR NOT NULL
);
다음 문은 ALTER TABLE ADD COLUMN 문을 사용하여 phone 열을 고객 테이블에 추가합니다.
ALTER TABLE customers
ADD COLUMN phone VARCHAR;
그리고 다음 문장은 fax 및 email 열을 고객 테이블에 추가합니다.
ALTER TABLE customers
ADD COLUMN fax VARCHAR,
ADD COLUMN email VARCHAR;
psql 도구에서 고객 테이블의 구조를 보려면 다음과 같이 \d 명령을 사용할 수 있습니다.
\d customers
출력에서 명확히 알 수 있듯이 전화, 팩스 및 이메일 열이 고객 테이블의 열 목록 끝에 표시되었습니다.
Add a column with the NOT NULL constraint to a table that already has data
다음 문장은 고객 테이블에 데이터를 삽입합니다.
INSERT INTO
customers (customer_name)
VALUES
('Apple'),
('Samsung'),
('Sony');
contact_name 열을 고객 테이블에 추가한다고 가정합니다.
ALTER TABLE customers
ADD COLUMN contact_name VARCHAR NOT NULL;
PostgreSQL에서 오류가 발생합니다.
contact_name 열에 NOT NULL 제약 조건이 있기 때문입니다. 열을 추가했을 때 이미 들어 있던 열은 null로 채워집니다. 따라서 NOT NULL 제약 조건을 위반합니다.
이 문제를 해결하기 위해…
먼저 NOT NULL 제약 조건 없이 열을 추가합니다.
ALTER TABLE customers
ADD COLUMN contact_name VARCHAR;
둘째, contact_name 열의 값을 업데이트합니다.
UPDATE customers
SET contact_name = 'John Doe'
WHERE id = 1;
UPDATE customers
SET contact_name = 'Mary Doe'
WHERE id = 2;
UPDATE customers
SET contact_name = 'Lily Bush'
WHERE id = 3;
셋째, contact_name 열에 NOT NULL 제약 조건을 설정합니다.
ALTER TABLE customers
ALTER COLUMN contact_name SET NOT NULL;
에러 없이 실행됩니다.
기존 데이터에 contact_name 열의 값을 수정했기 때문입니다.
PostgresQL ADD COLUMN 문을 사용하여 테이블에 하나 이상의 열을 추가하는 방법을 배웠습니다.
수고하셨습니다. 다음 시간에 뵙겠습니다.
본 강의는 PostgreSQL Tutorial을 참조합니다. https://www.postgresqltutorial.com/ |
Do it! SQL을 찾아 주셔서 감사합니다. 공감 ♥ , 댓글이 큰 힘이 됩니다. |
'IT > SQL 기초강좌 (PostgreSQL)' 카테고리의 다른 글
63강 SQL 초석 다지기 : PostgreSQL Change Column Type (93) | 2023.01.06 |
---|---|
62강 SQL 초석 다지기 : PostgreSQL DROP COLUMN (76) | 2023.01.05 |
60강 SQL 초석 다지기 : PostgreSQL Rename Table (84) | 2023.01.03 |
59강 SQL 초석 다지기 : PostgreSQL ALTER TABLE (111) | 2023.01.02 |
58강 SQL 초석 다지기 : PostgreSQL Identity Column (16) | 2023.01.01 |
댓글