INSERT INTO 테이블명(칼럼1,칼럼2,칼럼3,...) VALUES(데이터1,데이터2,데이터3,...)
https://docs.microsoft.com/ko-kr/sql/t-sql/statements/insert-transact-sql?view=sql-server-ver16
SELECT *
FROM department
INSERT INTO department(deptNo, depName, location) VALUES (50, '건설부', '수원');
INSERT department(location,depName,deptNo) VALUES ('안산','생산부',80);
SELECT *
FROM department
INSERT INTO
에서INSERT
만 입력해도 동일한 기능을 한다.
INSERT department VALUES(90, '회계부', '광주');
날짜,문자 형식의 데이터를 입력할 때는 홑 따옴표(
'
'
)를 이용한다.
필드명 생략은 가능하나, 모든 필드의 값을 입력해야한다.VALUES
값의 입력순서는 테이블 생성시 컬럼의 순서와 동일하게 입력한다.
VALUES
리스트에 NULL
을 입력한다.INSERT department(deptNo, depName) VALUES(100,'총무부');
INSERT department VALUES(101,'관리부',NULL);
INSERT department VALUES(102, '기획부', '');
NULL과 공백문자는 다르다,
'
'
로 입력한다.
CREATE TABLE department2(
deptNo INT,
deptName NVARCHAR(20),
location NCHAR(20)
);
: 테이블의 데이터를 수정하기 위해 사용하는 DML
UPDATE 테이블명 SET 컬럼명 = val_1, 컬럼명2 = val_2, ... WHERE 수정조건;
- WHERE절이 있는 경우: 특정행의 데이터를 수정하겠다는 의미
- WHERE절이 없는 경우: 테이블에 있는 모든 행의 데이터를 수정하겠다는 의미
SELECT * INTO 새로운 테이블명 FROM 기존테이블
SELECT *
INTO employee01
FROM employee;
UPDATE
,DELETE
등 테스트하기 위해서 작업용 테이블을 만들 때, 자주 사용하는 기능이다.
UPDATE employee01
SET deptNo = 30;
UPDATE employee01
SET hireDate = GETDATE();
UPDATE employee01
SET empName = '김장비'
WHERE empName = '김관우';
SELECT *
INTO employee02
FROM employee;
SELECT *
FROM employee02
UPDATE employee02
SET salary = salary*1.1;
UPDATE employee02
SET salary = salary*1.1
WHERE salary <= 500;
UPDATE employee02
SET hireDate = GETDATE()
WHERE hireDate LIKE '%2007%';
UPDATE employee02
SET job ='과장', deptNo = '20'
WHERE empName = '장유비';
장유비
가 진급했을 경우 위와 같은 쿼리로 수정할 수 있다.
: 데이터를 삭제하는 DML이다. (FROM 생략 가능하며 테이블의 구조를 지우는 것이 아니다.)
- WHERE절이 없는 경우 : 모든 데이터를 삭제
- WHERE절이 있는 경우 : 특정 행의 데이터를 삭제
DELETE FROM department03;
DELETE department2
WHERE deptNo = 40;
DELETE employee02
WHERE deptNo = (SELECT deptNo
FROM department
WHERE depName = '영업부'
);
SELECT *
FROM employee02;
서브쿼리를 이용해 데이터를 효과적으로 수정할 수 있다.
강의: ms sql 2014 제대로 배우기 1