728x90
반응형
SMALL
▶ INSERT 문의 기본
. DML의 종류의 하나로 INSERT 삽입으로 분류가 됩니다.
. 데이터베이스에 데이터를 입력하는 명령어입니다.
가장 기본적인 기능이고 굉장히 많이 쓰임으로 매우 중요합니다.
- INSERT INTO 테이블(컬럼명, 컬럼명, ...) VALUES(값, 값, ...)
CREATE TABLE dept
(
deptno INT PRIMARY KEY ,
dname VARCHAR(14),
loc VARCHAR (13)
)
CREATE TABLE EMP (
empno INT NOT NULL,
ename VARCHAR(10),
job VARCHAR(9),
mgr INT,
hiredate DATE,
sal NUMERIC(7,2),
comm NUMERIC(7,2),
deptno INT FOREIGN KEY REFERENCES dept(deptno), -- 외래키
CONSTRAINT emp_pk PRIMARY KEY (empno) -- 기본키
)
INSERT INTO dbo.dept(deptno, dname, loc)
VALUES(1,'인사-1',100)
INSERT INTO dbo.EMP(empno, ename,job,mgr,hiredate,sal,comm,deptno)
VALUES (110,'김철수','직장인',100,GETDATE(),20000.00,10000.00,1)
. EMP 테이블을 만들어서 컬럼이 위와 같이 있다고 생각을 하여 INSERT를 합니다
. 컬럼의 갯수만큼 VALUES가 있어야 하며 테이블에 NOT NULL인 컬럼에는 필수로 넣어주어야하며 NULL인 컬럼에는 값을 넣어주지 않아도 된다.
. 컬럼의 타입에 따라 넣는 VALUES 형태가 다르다. 문자열은 '' 안에 값을 넣어야하며 숫자의 타입은 위와 같이 숫자의 값을 넣어주면 됩니다.
▷ 여러 값을 동시에 넣을 경우
- INSERT INTO 테이블(컬럼명, 컬럼명, ...) VALUES(값, 값, ...), (값, 값, ...), (값, 값, ...), (값, 값, ...)...
INSERT INTO dbo.dept(deptno, dname, loc)
VALUES(1,'인사-1',100),
(2,'인사-2',100),
(3,'영업-1',100),
(4,'영업-2',100),
(5,'생산-1',100),
(6,'생산-2',100),
(7,'생산-3',100),
(8,'직급',100),
(9,'공장-1',100),
(10,'공장-2',100),
(11,'공장-3',100),
(12,'교양-1',100),
(13,'고양-2',100),
(14,'고양-3',100)
INSERT INTO
dbo.EMP(empno, ename,job,mgr,hiredate,sal,comm,deptno)
VALUES
(110,'김철수','직장인',100,GETDATE(),20000.00,10000.00,1),
(20,'이순신','직장인',101,GETDATE(),10000.00,10000.00,1),
(30,'유관순','직장인',102,GETDATE(),20000.00,10000.00,1),
(40,'계백','직장인',103,GETDATE(),25000.00,10000.00,1),
(50,'한가인','직장인',104,GETDATE(),20500.00,10000.00,1),
(60,'조인성','직장인',105,GETDATE(),30000.00,10000.00,2),
(70,'김재상','직장인',106,GETDATE(),80000.00,10000.00,3),
(80,'이선근','직장인',107,GETDATE(),40000.00,10000.00,3),
(90,'김근호','직장인',108,GETDATE(),10000.00,10000.00,4),
(100,'김나연','직장인',109,GETDATE(),12000.00,10000.00,1)
. 값을 하나씩 넣어도 되지만 데이터가 많은 상황에서는 하나 넣고 실행하고 값을 바꾸어 넣고 하기가 힘들다 그러므로 , 뒤에 값을 컬럼 갯수대로 넣으면 실행을 한번을 하면 됩니다.
▷ 검색한 값을 그대로 넣는 방법
INSERT INTO (
입력대상 칼럼1
, 입력대상 칼럼2
, 입력대상 칼럼3
...
)
SELECT 입력위한 조회칼럼1
, 입력위한 조회칼럼2
, 입력위한 조회칼럼3
...
FROM TMEP_TABLE
. 주의 할점은 위에 삽입될 컬럼 갯수와 검색한 컬럼의 갯수가 같아야지 값이 들어간다.
. 컬럼의 갯수가 다르면 반드시 오류가 나오며 실행이 되지 않는다.
728x90
반응형
LIST
'MSSQL' 카테고리의 다른 글
MSSQL - DELETE 문 (2) | 2024.03.18 |
---|---|
MSSQL UPDATE문 (0) | 2024.03.16 |
MSSQL - SELECT 조회 (0) | 2024.03.13 |
MSSQL - 테이블 컬럼 추가,수정,삭제 하기 (0) | 2024.03.12 |
MSSQL - 테이블 생성, 입력 (0) | 2024.03.12 |