일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- @JUnit
- 프로퍼티
- spring aop
- 마이바티스
- Linux
- myBatis
- JDBC TEMPLATE
- @AspectJ
- @test
- JdbcTemplate
- AOP
- unix
- 리눅스
- @Spring-Test
- Ubunt
- java
- Di
- XML
- Spring JDBC
- pointcut
- spring framework
- Dependency Injection
- Framework
- POJO
- 컨테이너
- STS
- SpringJDBC
- java spring
- Spring Boot
- spring
- Today
- Total
개키우는개발자 : )
PostgreSQL INSERT 문 본문
INSERT 란?
테이블이 만들어지면 빈 공간이 만들어 지는 것이며 테이블 안에 데이터를 저장하는것 입니다.
기본문법
- 테이블 이름만 작성하면 테이블에 포함되어 있는 컬럼 순서대로 입력
INSERT INTO
TABLE_NAME
VALUES
(
VALUE1,
VALUE2,
VALUE3,
...
);
- 테이블의 특정 컬럼을 작성하면 컬럼을 지정하여 저장할 수 있습니다.
INSERT INTO
TABLE_NAME
(
COLUMN1,
COLUMN2
)
VALUES
(
VALUE1,
VALUE2
);
실습준비
- LINK 테이블 만들기
CREATE TABLE LINK(
ID SERIAL PRIMARY KEY,
URL VARCHAR(255) NOT NULL,
NAME VARCHAR(255) NOT NULL,
DESCRIPTION VARCHAR(255),
REL VARCHAR(50)
);
- LINK 테이블의 데이터를 조회하면 아무 값도 없는걸 확인할 수 있습니다.
SELECT * FROM LINK
실습
- LINK 테이블중 URL컬럼과 NAME 컬럼에 http://naver.com , Naver를 INSERT 합니다.
INSERT
INTO
LINK (URL,NAME)
VALUES ('HTTPS://NAVER.COM','NAVER');
COMMIT;
- 저장후엔 반드시 COMMIT을 해준 후 LINK 테이블의 데이터를 조회합니다.
SELECT * FROM LINK
지정하지 않은 컬럼은 자동으로 NULL 값이 저장됩니다. 그리고 ID컬럼의 1은 테이블을 생성시 SERIAL 타입 을 작성하면 값이 자동증가 됩니다. 그렇기 때문에 자동으로 첫번째 행인 1값이 저장됩니다.
SQL에서는 문자열을 저장할 때 ' ' 작은 따옴표(Single quotes) 사이에 값을 입력하여 ,(comma)로 구분을 지어 작성 합니다.
- LINK 테이블중 URL컬럼과 NAME 컬럼에 작은 따옴표를 포함하여 http://naver.com , Naver를 INSERT 합니다.
INSERT
INTO
LINK (URL,NAME)
VALUES ('''HTTPS://NAVER.COM''','''NAVER''');
COMMIT;
조회하면 ' 을 포함하여 저장합니다.
- LINK 테이블 URL,NAME컬럼에 동시에 여러개의 INSERT를 합니다.(다중 INSERT)
INSERT
INTO
LINK (URL,NAME)
VALUES
('http://www.google.com','Google'),
('http://www.yahoo.com','Yahoo'),
('http://www.bing.com','Bing');
COMMIT;
() 감싸 , 로 구분지어 데이터를 담습니다.
- LINK 테이블 구조를 똑같이 복사 하여 데이터는 없는 LINK_TMP 테이블 만들기
CREATE TABLE LINK_TMP AS
SELECT * FROM LINK WHERE 0=1;
- LINK 테이블의 데이터를 LINK_TMP 테이블에 저장합니다.
INSERT INTO LINK_TMP
SELECT * FROM LINK;
COMMIT;
- LINK_TMP 조회
SELECT * FROM LINK_TMP;
LINK테이블에 있는 모든 데이터가 LINK_TMP에 그대로 저장됩니다.
두개의 테이블은 완전 동일한 테이블 데이터 입니다.
'PostgreSQL > 데이터 조작 및 테이블 관리' 카테고리의 다른 글
PostgreSQL EXPORT 작업 (0) | 2019.11.16 |
---|---|
PostgreSQL UPSERT 문법 (0) | 2019.11.16 |
PostgreSQL DELETE 문 (0) | 2019.11.16 |
PostgreSQL UPDATE JOIN 문 (0) | 2019.11.16 |
PostgreSQL UPDATE 문 (2) | 2019.11.16 |