본문 바로가기
데이터베이스

MySQL 데이터 추가

by 승환파크 2023. 5. 15.

insert

insert는 테이블에 값을 추가할 때 사용한다.

 

문법 사용 방식

insert into 테이블 이름 (열1, 열2, 열3) values (값1, 값2, 값3);

 

주의점

테이블 이름 다음에 나오는 열은 생략이 가능하다.

하지만 다음에 나오는 열을 생략 한다면 values 다음에 들어갈 값들의 순서와 갯수는 열의 순서 및 갯수와 동일해야 한다.

 

새로운 테이블 생성하기

create table toy_shop(
	toy_id int, 
    toy_name char(4), 
    age int
);

이후 생성된 테이블에 값 추가하기

insert into toy_shop values (1, '우디', 25);

 

만약 아이디와 이름만 입력하고 나머지는 입력하고 싶지 않을 때 작성 방식

insert into toy_shop (toy_id, toy_name) values(2, "버즈");

 

 

auto_increment

자동으로 증가하는 값을 입력할 때 사용한다.

insert를 사용할 때 해당 열은 입력하지 않아도 자동으로 증가하는 값이 입력된다.

 

주의점

auto_increment로 지정하는 열은 반드시 Primary Key로 지정되어 있어야 한다.

Primary Key : 각 행을 구분하는 유일한 값이다.

 

auto_increment를 사용해서 테이블 생성하기

create table toy_shop2 (
	toy_id int auto_increment primary key,
	toy_name char(4),
	age int
);

auto_increment 열은 비워두고 데이터 입력하기

insert into toy_shop2 values(null, '보핍', 25);
insert into toy_shop2 values(null, "슬링키", 22);
insert into toy_shop2 values(null, "렉스", 21);
select * from toy_shop2;

toy_id 에는 값을 따로 지정하지 않고 빈값으로 열들을 추가 시켰지만 자동으로 숫자가 1씩 올라가는것을 확인할 수 있다.

 

auto_increment가 몇 까지 증가되었는지 확인하는 방법

select last_insert_id();

위에서 방금 추가한 열만큼 값이 올라가있는것을 확인할 수 있다.

 

auto_increment로 입력되는 다음 값을 100부터 시작하도록 변경하기

alter table toy_shop2 auto_increment = 100;
insert into toy_shop2 values (null, '헴', 35);
select * from toy_shop2;

toy_shop 의 auto_increment = 100 이라는 코드로 auto_increment를 100 부터 시작하도록 설정 하였다.

이후 다음 새로운 열을 추가시키면 방금 설정한 100 부터 입력이 시작된다.

 

auto_increment로 입력되는 값을 1000으로 지정한 이후, 증가값을 3으로 변경하기

alter table toy_shop2 auto_increment = 1000;
set @@auto_increment_increment = 3;
insert into toy_shop2 values (null, '포테이토', 20);
insert into toy_shop2 values (null, '랜디', 23);
insert into toy_shop2 values (null, '알린', 25);
SELECT * from toy_shop2;

값을 1000부터 시작하게 한 이후 증가 값을 3으로 변경하면 auto_increment 가 3씩 증가되는 모습을 확인할 수 있다.

 

 

여러건 한번에 입력하기

여러건을 한번에 입력하기 위해서 values 뒤에 여러 값을 넣어서 사용할 수 있다.

insert into toy_shop2 (toy_name, age) values ("아미맨", 92), ("빌리", 77);

 

다른 테이블의 데이터를 한번에 입력하기

문법 작성 방식

insert into 테이블 이름 (열1, 열2, 열3 ...) select ~~

 

주의점

select 문의 결과 데이터의 열 갯수는 insert할 테이블의 열 갯수와 같아야 한다.

 

world 데이터베이스에 있는 city의 테이블 복사하기

1. world.city 에서 name 과 population 만 가지고 있는 테이블 생성하기

CREATE TABLE city_popul(
	city_name char(35),
	population int
);

2. world.city 에서 가지고 있는 정보 city_popul 테이블에 저장하기

insert into city_popul select name, population from world.city;

이후 select 문으로 전체 데이터를 조회해서 값이 잘 들어가있는지 확인하기

값이 잘 들어가있는것을 확인할 수 있다.

'데이터베이스' 카테고리의 다른 글

MySQL 데이터 삭제  (0) 2023.05.15
MySQL 데이터 수정  (0) 2023.05.15
MySQL 데이터 검색  (0) 2023.05.11
MySQL 데이터베이스, Table 생성하기  (0) 2023.05.11
데이터베이스  (0) 2023.05.11