article thumbnail image
Published 2022. 8. 25. 09:53

Database 생성 , 생성된 Database 확인

create database test_db;
show databases;

create database 데이터베이스명;

: 지정해준 이름의 db를 생성하는 쿼리문

      이때 db명은 되도록 소문자, 숫자, _ (언더바) 로만 구성되도록 만들자!

 

 

show databases;

: 현재 mySQL 에서 생성한 데이터베이스 목록이 아래와 같이 쭉 뜬다.

 

 

작업을 하다 보면 자연스럽게 사용하는 db 들이 많아질텐데, 이 중에서 당장 이 db를 사용하겠다~ 고 지정하기 위해서는 아래와 같은 쿼리문을 사용한다.

 

use test_db;

use 데이터베이스명;

 

 

 

 

table 생성 , 생성된 table 확인

table 생성

create table test_table(
    -> no int auto_increment primary key,
    -> id varchar(20) not null,
    -> pw varchar(20) not null,
    -> email varchar(25)
    -> );

create table 테이블명(필드명 데이터타입(크기));

 

no int 뒤에 붙여준auto_increment  는, 해당 필드에 값을 따로 입력하지 않아도 값을 넣어줄때마다 자동으로 1씩 값이 증가하게 만들어주겠다는 뜻으로 붙여주는 것이다. 어떤식으로 작동하는지는 아래 테이블에 값을 넣는 예시에서 보자!

바로 뒤의primary key  는, 해당 필드에 들어갈 값에 중복값을 허용하지 않겠다는 뜻이다.

 

id, pw 의 경우 문자 길이가 다를 수 있으므로 char 타입이 아닌 varchar, 크기는 넉넉하게 20으로 잡아주었고,

필수적으로 입력해야 한다, 즉, null값을 허용하지 않겠다는 의미로 not null  을 붙여주었다.

 

email 의 경우도 가변문자타입인 varchar로 잡아주었다.

 

 

 

table 구성 확인

 

이렇게 생성한 table의 "구성" 을 보기 위해서는 아래와 같은 쿼리문을 사용한다.

desc test_table;

desc 테이블명;

아래와 같이 각 필드명, 타입, null값 허용 여부, key 적용 여부 등등의 해당 테이블에 대한 정보가 나온다.

 

 

 

 

table 전체 확인

select * from test_table;

select * from 테이블명;

 

현재 test_table 내부에는 아무런 값도 들어가 있지 않아서 아래와 같이 "Empty set" 이라는 결과가 나온다.

 

 

 

데이터 삽입, 수정, 선택, 삭제

 

테이블에 데이터 삽입(추가)

insert into test_table (id, pw, email) values ('heidish', '123456', 'heidish@xxx.xxx');

insert into 테이블명 (필드명) values (데이터);

 

 

데이터를 넣어 줄 때, 만약 pw 의 필드 타입이 int 타입이라면 그냥 123456 을 입력하면 되지만,

여기서 pw 의 필드 타입은 varchar 이기 때문에 작은따옴표 ' ' 안에 적어줘야한다.

 

 

이렇게 값을 넣은 뒤 테이블을 확인 해 보면,

select * from test_table;

 

 

no 필드의 경우 insert 해줄 때 넣어줄 데이터를 지정하지 않았음에도 "1" 이라는 숫자가 들어간걸 볼 수 있는데, 우리가 위에서 table을 생성할 때, no 필드에 auto_increment 를 부여해 주었기 때문이다!

 

auto_increment 를 부여했을 때, 과연 정말로 no 필드에 들어가는 데이터를 직접 insert 하지 않아도 1씩 증가하는지 확인하기 위해 몇 개의 데이터를 더 넣어보자.

 

 

insert into test_table (id, pw, email) values ('lolla', 'aa111', 'lolola@xxx.xxx');
insert into test_table (id, pw, email) values ('pedro53', 'qwerty00', 'pedro_11@xxx.xxx');
select * from test_table;

 

 

 

테이블에 데이터 수정

update 테이블명 set 필드명=데이터;

 

update test_table set pw='bb222' where no=2;
select * from test_table;

where절에서 no=2 라는 조건을 걸어주었고, 이 조건에 맞는 경우 pw 필드값을 'bb222'로 바꾸라는 쿼리문을 써줬다.

결과적으로 no=2 인 레코드에서, pw라는 필드의 데이터값이 'aa111' => 'bb222' 로 바뀐걸 볼 수 있다.

 

 

 

 

테이블에서 데이터 선택

 

아직까지는 데이터가 손에 꼽을 정도로 몇 개 되지 않기 때문에 눈으로도 원하는 데이터를 확인하는게 가능하지만 데이터베이스에 100개, 200개, 1000개, 5000개 등등 방대한 자료가 저장된다면 원하는 값을 한눈에 확인하기도 어렵고 스크롤을 일일히 내려가면서 확인하는것도 비효율적이다.

 

이럴 때 사용할 수 있는 쿼리문이 아래의 쿼리문이다.

 

 

select 필드명 from 데이터명 where 조건;

 

 

 

 

 

테이블에 데이터 삭제

delete from test_table where no=3;
select * from test_table;

 

 

 

 

 

 

 

 

 

table 삭제, database 삭제

table 삭제

drop table test_table;

 

 

 

database 삭제

drop database test_db;

 

'MYSQL' 카테고리의 다른 글

MYSQL - utf8  (0) 2022.09.10
MYSQL 데이터 타입  (0) 2022.08.25
SpringBoot + MySQL + JPA과 연동하기 + 테스트  (0) 2022.08.24
Windows10에서 환경설정  (0) 2022.08.24
복사했습니다!