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