<참고: 혼공SQL>
INSERT : 데이터 입력
기본 문법
INSERT INTO 테이블 (열1, 열2, ... ) VALUES (값1, 값2, ...)
예제
USE market_DB;
CREATE TABLE toy_list (toy_id INT, toy_name CHAR(4), age INT);
INSERT INTO toy_list VALUES(1, '우디', 30);
INSERT INTO (toy_id, toy_name) VALUES (2, '버즈'); -- age 열에는 NULL 값이 들어간다.
INSERT INTO (toy_name, toy_age, toy_id) VALUES ('포키', 20, 3); -- 열의 순서는 상관 없다. 열에 맞는 값을 쓰면 된다.
AUTO_INCREMENT : 1 부터 자동으로 증가
(주의) AUTO_INCREMENT로 지정하는 열은 꼭 PK(PRIMARY KEY)로 지정해야 한다.
예제
CREATE TABLE toy_list2 (toy_id AUTO_INCREMENT PRIMARY KEY,
toy_name CHAR(4), age INT);
INSERT INTO toy_list VALUES(NULL, '제시', 30);
INSERT INTO (toy_id, toy_name) VALUES (NULL, '렉스', 28);
시작은 1000 증가값은 3
CREATE TABLE toy_list3 (toy_id AUTO_INCREMENT PRIMARY KEY,
toy_name CHAR(4), age INT);
ALTER TABLE toy_list3 AUTO_INCREAMANT = 1000; -- 시작 1000
SET @@auto_increment_increment = 3; -- 증가 값 3
INSERT INTO ~SELECT : 다른 테이블의 데이터를 한 번에 입력
기본 문법 - SELECT 된 열의 개수와 INSERT 할 열의 개수는 같아야한다.
INSERT INTO 테이블_이름1 (열1, 열2, ....)
SELECT 열_이름1, 열_이름2, ... FROM 데이터베이스_이름.테이블_이름2;
예제 : world database 에서 city name 과 population 가져오기
-- 데이터 체크
SELECT COUNT(*) FROM world.city;
DESC world.city; # city 테이블에 있는 데이터 묘사
SELECT * FROM world.city LIMIT 5; # 데이터 5개만 확인
-- 데이터 가져오기
USE market_db;
CREATE TABLE city_population (city_name CHAR(35), population INT);
INSERT INTO city_population SELECT NAME, Population FROM world.city;
UPDATE : 데이터 수정
기본 문법 - (주의: WHERE 이 없으면 해당 열의 모든 값이 변경된다.)
UPDATE 테이블_이름
SET 열1=값1, 열2=값2, ...
WHERE 조건;
도시 이름 중에 "Seoul" 을 "서울" 로 변경
USE market_db;
UPDATE city_population
SET city_name = '서울'
WHERE city_name = 'Seoul';
-- 업데이트 확인
SELECT * FROM city_population WHERE city_name = '서울';
DELETE : 행 단위로 데이터 삭제
기본 문법 - (주의: WHERE 이 없으면 해당 열의 모든 값이 삭제된다.)
DELETE FROM 테이블 이름 WHERE 조건;
예제
DELETE FROM city_population
WHERE city_name LIKE '%de%'
LIMIT 3; -- 상위 3건만 삭제
- 대용량 테이블 삭제 - DELETE 는 대 용량 데이터를 삭제 할때 시간이 오래걸린다.
- DELETE 와 TRUNCATE : 빈 테이블을 남긴다.
- DROP : 테이블 자체를 삭제
DROP TABLE bit_table;
TRUNCATE TABLE big_table;
'DataBase > MySQL' 카테고리의 다른 글
MySQL- 데이터 형식 (0) | 2023.08.04 |
---|---|
MySQL - 데이터베이스 다운로드 후 로드 (0) | 2023.08.03 |
MySQL - SELECT (0) | 2023.08.02 |
MySQL - SELECT ~ FROM ~ WHERE (0) | 2023.08.02 |
MySQL - 데이터베이스, 테이블만들기, 데이터 입력하기 (0) | 2023.08.02 |