Chap.6 SQL 기본[데이터 변경을 위한 SQL 문] - INSERT, AUTO_INCREMENT, 다중 입력, 대량의 샘플 데이터 생성, UPDATE, DELETE FROM
데이터 변경을 위한 SQL 문
INSERT, AUTO_INCREMENT, 다중 입력, 대량의 샘플 데이터 생성, UPDATE, DELETE FROM
-
SQL 문의 종류
- DDL : Data Definition Language
▪ 데이터베이스 객체(테이블, 인덱스, 뷰 등)의 생성, 수정, 삭제 조작
- DML : Data Manipulation Language
▪ 데이터의 선택, 삽입, 수정, 삭제 등 데이터 조작
▪ SELECT, INSERT, UPDATE, DELETE
- DCL : Data Control Language
▪ 권한 부여
데이터의 삽입: INSERT
[형식]
INSERT INTO 테이블[(열1, 열2, …)]
VALUES(값1, 값2, …)
-
열을 생략하면 테이블에 있는 모든 열에 대해 값을 제시
이경우 순서는 테이블 생성시 제시한 열의 순서
-
열을 제시하면 순서에 맞춰 값 제시
USE sqlDB;
CREATE TABLE testTBL1 (id int, userName char(3), age int);
INSERT INTO testTBL1 VALUES (1, '홍길동', 25);
INSERT INTO testTBL1(id, userName) VALUES (2, '설현');
INSERT INTO testTBL1(userName, age, id) VALUES ('초아', 26, 3);
자동 증가하는 AUTO_INCREMENT
-
값을 제시하지 않은 경우 자동 증가 값으로 추가
-
PRIMARY KEY 필드에 주로 사용
USE sqlDB;
CREATE TABLE testTBL2
(id int AUTO_INCREMENT PRIMARY KEY,
userName char(3),
age int );
INSERT INTO testTBL2 VALUES (NULL, '지민', 25);
INSERT INTO testTBL2 VALUES (NULL, '유나', 22);
INSERT INTO testTBL2 VALUES (NULL, '유경', 21);
SELECT * FROM testTBL2;
다중 입력
INSERT INTO testTBL3 VALUES (NULL, '나연', 20);
INSERT INTO testTBL3 VALUES (NULL, '정연', 18);
INSERT INTO testTBL3 VALUES (NULL, '모모', 19);
INSERT INTO testTBL3 VALUES
(NULL, '나연', 20), (NULL, '정연', 18), (NULL, '모모', 19);
대량의 샘플 데이터 생성
형식:
INSERT INTO 테이블이름(열 이름1, 열 이름2, …)
SELECT 문;
-
테이블 생성과 서브 쿼리로 데이터 삽입
USE sqlDB;
CREATE TABLE testTBL4 (id int, Fname varchar(50), Lname varchar(50));
INSERT INTO testTBL4
SELECT emp_no, first_name, last_name
FROM employees.employees ;
USE sqlDB;
CREATE TABLE testTBL5
(SELECT emp_no, first_name, last_name FROM employees.employees) ;
데이터의 수정 : UPDATE 문
형식:
UPDATE 테이블이름
SET 열1=값1, 열2=값2 …
[WHERE 조건];
WHERE 조건이 없으면 전체 행이 수정
UPDATE testTBL4
SET Lname = '없음'
WHERE Fname = 'Kyoichi';
USE sqlDB;
UPDATE buyTBL2 SET price = price * 1.5 ;
데이터의 삭제: DELETE FROM
DELETE FROM 테이블 이름
[WHERE 조건];
WHERE 조건이 없으면 전체 행이 삭제
USE sqlDB;
DELETE FROM testTBL4 WHERE Fname = 'Aamer';
DELETE FROM testTBL4 WHERE Fname = 'Mary' LIMIT 5;
댓글