BigData

[초보] SQL 기초 모음 - INSERT(1)

IT오이시이 2022. 8. 10. 06:11
728x90

 

 

[초보] 데이터 분석을 위한 SQL 기초 모음

1.[초보] SQL 기초 모음 - SELECT(1)

2.[초보] SQL 기초 모음 - INSERT(1)

3. [초보] SQL 기초 모음 - UPDATE(1)

4. [초보] SQL 기초 모음 - DELETE(1)

출처: [AgileBus - IT 기술자를 위한 최신 기술 Trends:티스토리]

 

 

[초보] SQL 기초 모음 - INSERT(1)

 

INSERT문은 데이터를 테이블 구조에 맞게 추가 입력하는 것으로 새로운 값을 테이블에 추가하는 문장이다. 테이블은 특정 값을 저장하기 위한 구조로 레이아웃을 만들어 데이터를 담을수 있는 일종의 그릇이다. 테이블의 데이터 묶음을 ROW (행)이라고 하고 ROW를 구성하는 테이터 값의 항목을 컬럼(Column), 필드(Field)라고 한다. 이들 컬럼들은 Text, Number, Bool 등의 변수 유형을 가지고 정의가 되어 있다. 대부분의 데이터 베이스는 유사한 테이블 구조를 제공하며 사용되는 SQL도 Standards화 되어 있으므로 기본적인 SQL은 거의 모든 데이터 베이스에스 유사하게 이용이 가능하다.

1. [기본] 입력할 테이블의 컬럼명과 데이터 값을 하나씩 지정하여 입력하는 경우

/* 테이블의 일부 컬럼에 값을 지정하여 입력 하는 경우  */
INSERT  INTO  table_name  ( column1,  column2,  column3, ...)
          VALUES  (value1,  value2, value3, ...);

/* 전체 테이블 컬럼에 대하여  입력하는 경우에 사용 컬럼 목록을 생략 */
INSERT  INTO  table_name ( column1,  column2,  column3, ...)
          VALUES  (value1,  value2, value3, ...);


INSERT INTO 테이블명  (컬럼1, 컬럼2, ... , 컬럼N) 
        VALUES (값1, 값2 , …, 값N)   

 * INSERT문의 입력되는 테이블의 컬럼의 갯수와  Value의 값의 갯수는 같아야 한다.

[유의할 사항]  입력 컬럼을 생략할수 있는 경우 

1. NULL을 저장할 수 있도록 설정된 컬럼(필드)
2. DEFAULT 제약 조건이 설정된 컬럼(필드)
3. AUTO_INCREMENT 키워드가 설정된 컬럼(필드)

 

[예시] - 기본 입력문 - 값을 하나씩 입력 하는 경우

INSERT INTO Customers (CustomerName, ContactName, Address, City, PostalCode, Country)
        VALUES ('Cardinal', 'Tom B. Erichsen', 'Skagen 21', 'Stavanger', '4006', 'Norway');

 

[예시] - 기본 입력문 - 하나 이상의 값을 동시에 입력 하는경우

INSERT INTO Customers (CustomerName, ContactName, Address, City, PostalCode, Country)
        VALUES ('Cardinal', 'Tom B. Erichsen', 'Skagen 21', 'Stavanger', '4006', 'Norway'),
                      ('James', 'Tom B. Erichsen', 'Avenue 12', 'MataVasta', '2013', 'England');

 

2. [응용] 테이블을 조회 하여 대량의 데이터를 한번에 입력하는 경우 

INSERT INTO destination_table SELECT * FROM source_table [WHERE  conditions ]

INSERT INTO
테이블명 ( 컬럼1, 컬럼2, 컬럼3, ... , 컬럼N) 
        SELECT 입력으로 사용할 조회 테이블 컬럼들  
           FROM  조회_테이블명 
         WHERE 조건

* INSERT ... SELECT ON DUPLICATE KEY UPDATE이 문제 로 인해 INSERT IGNORE ... SELECT명령문은 명령문 기반 복제에 대해 안전하지 않은 것으로 주의가 요망 됩니다. (입력후 중복값을 확인해야 합니다. )

 

[예시] - 응용 입력문 - SELECT 문을 이용하여 필요한 값을 다른 테이블로 입력이 가능하다.

INSERT INTO Customers2 (CustomerName, ContactName, Address, City, PostalCode, Country)
        SELECT  CustomerName, ContactName, Address, City, PostalCode, Country
          FROM  Customers 
        WHERE  CustomerId > 100

 

[예시]  - 응용 입력문 - 테이블 전체 값을 복사하는 경우

INSERT INTO tab2 TABLE tab1;
INSERT INTO tab2 SELECT * FROM tab1

 

 

[초보] SQL 기초 모음

1.[초보] SQL 기초 모음 - SELECT(1)
2.[초보] SQL 기초 모음 - INSERT(1)
3. [초보] SQL 기초 모음 - UPDATE(1)
4. [초보] SQL 기초 모음 - DELETE(1)
728x90
반응형