SQL(MySQL)
INSERT, UPDATE, DELETE
느리지만 꾸준하게
2022. 4. 10. 20:02
-- id를 자동생성해서 테이블 만듬(primary key로 지정)
CREATE TABLE hongong2 (
toy_id INT AUTO_INCREMENT PRIMARY KEY,
toy_name CHAR(4),
age INT);
INSERT INTO hongong2 VALUES (NULL, '보핍', 25);
INSERT INTO hongong2 VALUES (NULL, '슬링키', 22);
INSERT INTO hongong2 VALUES (NULL, '잭스', 28);
SELECT * FROM hongong2;
'1', '보핍', '25'
'2', '슬링키', '22'
'3', '잭스', '28'
-- 어디까지 진행이 됐을까
SELECT LAST_INSERT_ID()
'3'
-- AUTO_INCREMENT를 100으로 지정하고 채남 insert
ALTER TABLE hongong2 AUTO_INCREMENT=100;
INSERT INTO hongong2 VALUES (NULL, '채남', 35);
SELECT * FROM hongong2;
-- 1000 1003 1006 이렇게 건너뛰고 싶을 때
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, '가나', 25);
INSERT INTO hongong3 VALUES (NULL, '다라', 26);
INSERT INTO hongong3 VALUES (NULL, '마바사', 27);
SELECT * FROM hongong3;
-- city 개수
SELECT COUNT(*) FROM world.city;
-- 테이블의 구조
DESC world.city;
'ID', 'int', 'NO', 'PRI', NULL, ''
'Name', 'char(35)', 'NO', '', NULL, ''
'CountryCode', 'char(3)', 'NO', '', NULL, ''
'District', 'char(20)', 'NO', '', NULL, ''
'Population', 'int', 'NO', '', NULL, ''
-- 5개만 보고싶으면
SELECT * FROM world.city LIMIT 5;
-- city_popul 테이블을 만들어주고 world.city에 있는 name, population을 가져와서 city_popul에 넣어준다.
CREATE TABLE city_popul (city_name CHAR(35), population INT);
INSERT INTO city_popul
SELECT Name, Population FROM world.city;
-- UPDATE문
UPDATE city_popul
SET city_name = '뉴욕', population = 0
-- where 절만 update
WHERE city_name = 'New York';
SELECT * FROM city_popul WHERE city_name = '뉴욕';
-- 인구를 10000단위로 나눠서 UPDATE(WHERE문 없이)
UPDATE city_popul
SET population = population / 10000;
SELECT * FROM city_popul LIMIT 5;
-- DELETE
DELETE FROM city_popul
WHERE city_name LIKE 'New%'
LIMIT 5;
참고: <출처 한빛미디어: [SQl 기초 강의] 8강. SQL 기본 문법() >
https://www.youtube.com/watch?v=WWAFAm9op2U&list=PLVsNizTWUw7GCfy5RH27cQL5MeKYnl8Pm&index=9