DATABASE-DML-INSERT UPDATE DELETE
INSERT
테이블 이름 뒤에 오는 컬럼이름은 생략이 가능하며 대신에 VALUES 뒤에 value 값이 순서대로 와야 합니다.
1
2INSERT INTO <table_name>(<column_name_1>, <column_name_2>, ...)
VALUES(<value_1>, <value_2>, ...)test 데이터 베이스 선택
1
sql> USE test;
user1 테이블에 user_id, name, email, age, rdate를 입력
1
2
3
4
5
6
7INSERT INTO user1(user_id, name, email, age, rdate)
VALUES (1, "jin", "pdj@gmail.com", 30, now()),
(2, "peter", "peter@daum.net", 33, '2017-02-20'),
(3, "alice", "alice@naver.com", 23, '2018-01-05'),
(4, "po", "po@gmail.com", 43, '2002-09-16'),
(5, "andy", "andy@gmail.com", 17, '2016-04-28'),
(6, "jin", "jin1224@gmail.com", 33, '2013-09-02');city_2 테이블 생성
1
2
3
4
5
6CREATE TABLE city_2 (
Name VARCHAR(50),
CountryCode CHAR(3),
District VARCHAR(50),
Population INT
)select 절에서 나온 결과데이터를 Insert
1
2
3
4INSERT INTO city_2
SELECT Name, CountryCode, District, Population
FROM city
WHERE Population > 8000000;
UPDATE SET
- 업데이트시에는 항상 select-where로 변경할 데이터를 확인하고 update 해줘야 실수를 줄일수 있습니다. 또한 limit도 함께 사용해주면 좋습니다.
1 | UPDATE <table_name> |
- jin 이름을 가지고 있는 사람의 나이를 20, 이메일을 pdj@daum.net으로 변경
1
2
3sql> UPDATE user1
SET age=20, email="pdj@daum.net"
WHERE name="jin"
DELETE, DROP, TRUNCATE
- 조건을 설정하여 데이터를 삭제할수 있습니다.
1 | DELETE FROM <table_name> |
2016-01-01 이전 데이터 삭제 (DML)
1
2sql> DELETE FROM user1
WHERE rdate < "2016-01-01"테이블 구조를 남기고 모든 데이터를 삭제 (DLL)
1
sql> TRUNCATE FROM user1
테이블 전체를 모두 삭제 (DLL)
1
sql> DROP FROM user1