1. INSERT : 데이터 입력
- 테이블에 행 데이터 입력
INSERT INTO 테이블 [(열1,열2,...)] VALUES (값1, 값2,..)
- 태이블 이름 다음에 나오는 열은 생략 가능
- 열 이름을 생략하는 경우에
VALUES 다음에 나오는 값들의 순서 및 개수는 테이블을 정의할 때의 열 순서 및 개수와 동일해야함
ex)
- 테이블의 열이 3개 이므로 입력할 때도 차례에 맞춰서 3개 입력
USE market_db;
CREATE TABLE hongong1 (toy_id INT, toy_name CHAR(4), age INT);
INSERT INTO hongong1 VALUES(1,'우디',25);
- 아이디(toy_id)와 이름(toy_name)만 입력하고 나이(age)는 입력 x
- 생략한 나이(age)열에는 아무것도 없다는 의미의 NULL값이 들어감
INSERT INTO hongong1 (toy_id, toy_name) VALUES(2,'버즈');
- 열의 순서를 바꿔서 입력하고 싶을 때는 열 이름과 값을 원하는 순서에 맞춰 쓰면 됨
INSERT INTO hongong1 (toy_name,age,toy_id) VALUES('제시',20,3);
1.1 AUTO_INCREMENT
- 열을 정의할 때 1부터 증가하는 값 입력
- AUTO_INCREMENT로 지정하는 열은 꼭 PRIMARY KEY로 지정해줘야 함
ex)
- 아이디(toy_id)열을 자동 증가로 설정
CREATE TABLE hongong2 (
toy_id INT AUTO_INCREMENT PRIMARY KEY,
toy_name CHAR(4),
age INT);
- 테이블에 데이터 입력
- 자동 증가하는 부분은 NULL 값으로 채워 놓음
INSERT INTO hongong2 VALUES (NULL, '보핍', 25);
INSERT INTO hongong2 VALUES (NULL, '슬링키', 22);
INSERT INTO hongong2 VALUES (NULL, '렉스', 21);
SELECT * FROM hongong2;
- 현재 어느 숫자까지 증가되었는지 확인
SELECT LAST_iNSERT_ID();
- AUTO_INCREMENT로 입력되는 다음 값을 100부터 시작하도록 변경
-> ALTER TABLE : 테이블을 변경
ALTER TABLE hongong2 AUTO_INCREMENT = 100;
INSERT INTO hongong2 VALUES (NULL, '재남', 35);
SELECT * FROM hongong2;
- AUTO_INCREMENT값을 1000으로 지정하고 3씩 증가하도록 설정
-> 시스템 변수 @@auto_incremnet_increment를 변경
CREATE TABLE hongong3 (
toy_id INT AUTO_INCREMENT PRIMARY KEY,
toy_name CHAR(4),
age INT);
ALTER TABLE hongong3 AUTO_INCREMENT = 1000;
SET @@auto_increment_increment = 3;
INSERT INTO hongong3 VALUES (NULL, '토마스',20);
INSERT INTO hongong3 VALUES(NULL, '제임스', 23);
INSERT INTO hongong3 VALUES(NULL, '고든', 25);
SELECT * FROM hongong3;
1.2 INSERT INTO ~ SELECT
- 다른 테이블의 데이터를 한번에 입력
- SELECT문의 열 개수는 INSERT할 테이블의 열 개수와 같아야 함
INSERT INTO 테이블 이름(열_이름1, 열_이름2,...)
SELECT문;
-DESC 명령
- 테이블의 구조를 출력
DESC world.city;
CREATE TABLE city_popul (city_name CHAR(35), population INT);
INSERT INTO city_popul
SELECT Name, Population FROM world.city;
2. UPDATE : 데이터 수정
- 기존에 입력되어 있는 값을 수정
UPDATE 테이블_이름
SET 열1=값1, 열2=값2,...
WHERE 조건;
ex) city_popul 테이블의 도시 이름(city_name)중에서 'Seoul'을 '서울'로 변경
USE market_db;
UPDATE city_popul
SET city_name = '서울'
WHERE city_name = 'Seoul';
SELECT * FROM city_popul WHERE city_name = '서울';
- 콤마(,)로 분리해서 여러 개의 열 변경 가능
USE market_db;
UPDATE city_popul
SET city_name = '서울'
WHERE city_name = 'Seoul';
SELECT * FROM city_popul WHERE city_name = '서울';
3. DELETE : 데이터 삭제
- 테이블의 행 데이터 삭제
DELETE FROM 테이블 이름 WHERE 조건;
ex) city_popul 테이블에서 'New'로 시작하는 도시 삭제
DELETE FROM city_popul
WHERE city_name LIKE 'New%';
'데이터 > SQL' 카테고리의 다른 글
[혼공] 4-3장 SQL 프로그래밍 (0) | 2023.08.12 |
---|---|
[혼공] 4-2장 두 테이블을 묶는 조인 (0) | 2023.08.08 |
[혼공] 4-1장 MySQL의 데이터 형식 (0) | 2023.08.07 |
[혼공] 3-2장 Select문 기본(2) (0) | 2023.08.06 |
[혼공]3-1 select문 기본(1) (0) | 2023.08.04 |