단단히

DB 기본 쿼리 _ insert 본문

DataBase/개념 정리

DB 기본 쿼리 _ insert

이게아닌데 2022. 9. 28. 11:45

 

2022.09.26 - [DataBase/개념 정리] - DB(MySQL) 기본 쿼리_ DB 생성/ Table 생성 / Table명세

 

위의 게시판에서 DataBase와 Table을 생성(creat)했다.

이제 table에 값을 넣어야한다.

table에 데이터를 삽입하는 문장이다.

 

table에 데이터를을 입력할 때는 insert 쿼리를 사용한다.

 

 


기본 DB

 

create database start_1199;
-- Drop database start_1199;

use start_1199;

create table test(
num 		int			unique 				auto_increment,
userID 		char(20) 		not null			primary key,
userPW 		char(20) 		not null,
age		int
);
-- drop table test;

desc test;

 


 

기본 insert문 사용법

 

insert into 테이블명 value('칼럼1 값','칼럼2 값','칼럼3 값'...);

 

이때 '칼럼 값'은 테이블 순서에 맞춰 넣어야 한다.

 

 

 

insert문 ( 1번째 방법 )

 

insert into test value(1,'tester','1234');
insert into test value(2,'test02','1234');
insert into test value(3,'sample','1234');

※ 칼럼 순서에 맞춰야 원하는 칼럼에 제대로 들어간다.

※ 앞의 숫자는 자동카운터(auto_increment)이기때문에 쓰지않아도된다.

 

각각 다른 쿼리문이기 때문에 각 쿼리마다 실행해야 한다.

 

 

 

 

insert문 ( 2번째 방법 )

 

 

insert into test value(1,'tester','1234'), (2,'test02','1234'), (3,'sample','1234');

 

이렇게 한 번에 적을 수 있다.

한 번만 실행해도 값을 넣을 수 있기 때문에 각각 적는 것보다 편리하다.

 

 

 

 

 

insert문 null값 넣기 

 

 

값을 반드시 넣지 않을 거 경우,

해당 칼럼 자료형에 따라 다르다. 

 

 

칼럼 자료형이 int일 경우 

 

insert into test value(1,'tester','1234',29),
(2,'test02','1234',15),
(3,'sample','1234',null);

 

칼럼 자료형이 String일 경우 

 

insert into test values (4,'ID123','',14);

※ 예시다. userPW 칼럼은 not null이기에 반드시 값이 있어야 한다.

 

insert into test(userID,userPW) values ('ID123','123PW');

※ 앞의 숫자는 자동카운터(auto_increment)이기때문에 위와 같이 쓰지않아도된다.

 

둘다 같은 결과를 가져온다.

 

 

insert문 선택적 값만 넣기 

 

 

모든 칼럼에 값을 넣고 싶지 않을 수 도 있다.

( ※ 데이터 조건에 not null(필수 값)이 아니라면 데이터를 반드시 넣지 않아도 된다.

반대로 not null이라면 값은 반드시 존재해야 한다.)

 

insert into test(num,userID,userPW) values (4,'ID123','123PW');

 

위와 같이 원하는 값만 넣을 수 있다.

 

 

 

 

 

select 구문으로 insert값 확인하기

 

select *from test(테이블명);

* 는 전체 값을 선택한다는 뜻이다.

 

실행하면 insert로 넣은 값을 확인할 수 있다.

 

 

 

Table에 값을 넣는 쿼리 키워드는 insert이다.

 

모든 값을 insert하지 않아도 된다. 하지만 not null조건인 칼럼은 반드시 값을 넣어줘야 한다.

 


전체 쿼리문

create database start_1199;
-- Drop database start_1199;

use start_1199;

create table test(
num 			int				unique 			auto_increment,
userID 		char(20) 		not null			primary key,
userPW 		char(20) 		not null,
age			int
);
-- drop table test;
desc test;

insert into test value(1,'tester','1234',29),
(2,'test02','1234',15),
(3,'sample','1234',null);


insert into test(num,userID,userPW) values (4,'ID123','123PW');

select *from test;
Comments