본문 바로가기
인터페이스 개발/SQL - MariaDB

SQL - 기본[데이터 변경을 위한 SQL 문] - INSERT, AUTO_INCREMENT, 다중 입력, 대량의 샘플 데이터 생성, UPDATE, DELETE FROM

by cooluk 2020. 7. 28.

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;

댓글