본문 바로가기
SQL

[MySQL] 데이터 저장, 불러오기, 변경 : use, show tables, desc, select, from, insert into, delete, update, drop table

by eyoo 2022. 5. 15.

SQL은 파이썬과 다르게 코드가 끝날때 세미콜론 ' ; '을 붙여줘야 된다.

 

코드를 입력하기 위해 먼저 SQL+ 아이콘을 클릭하여 진입한다.

 

 

 

작업할 데이터베이스 스키마를 선택한다.

use yh_db; -- 작업할 데이터베이스 스키마를 선택하는 SQL

# SQL에서의 주석은 하이픈 두개를 '--' 입력후 스페이스바를 누르고 주석을 쓰면된다.

 

 

해당 코드를 사용하면 디렉토리창에서 굵게 표시된다.

 

 

 

show tables로 DB의 테이블들의 이름을 볼수있다.

 

in:

show tables;

out:

 


desc를 사용해 테이블 속 컬럼의 속성을 볼수있다,

 

in:

desc cats;

out:

 

 

테이블속 데이터를 확인하고 싶을떄는 select와 from을 사용하면 된다.

 

in:

select * from cats;

out:

# 현재 테이블에 데이터가 없어서 빈 테이블이 표시된다.

# select 다음에는 보통 테이블속의 가져올 컬럼명을 입력하는데 * 을 넣어주게 되면 모든 컬럼을 가져오게 된다.

 


데이터를 저장하고 싶을때 inset into와 values를 사용한다.

 

in:

insert into cats (name,age) values ('Jetson',7);

out:

# insert into 오른쪽에 테이블명, 컬럼명을 입력 후 values를 사용해 넣어줄 데이터를 입력한다.


하나의 SQL문으로 여러개의 데이터를 저장할수도 있다.

 

in:

insert into cats
(name,age)
values
('야옹이',3), ('Blue',6), ('검정이',4), ('노랑이',3), ('Happy',8);

select * from cats;

out:

# name과 age컬럼에만 데이터를 넣었다.

# 파이썬과 달리 SQL은 줄바꿈해서 써도 되지만 마지막에는 항상 세미콜론 ' ; '을 입력해야 한다.

※ safe update mode때문에 실행되지 않을수 있으니 도구모음에서 [Edit] - [Preferences] - [SQL Editor] 의 맨 밑 항목에 Safe Updates 체크박스의 체크를 해제하면 된다.

 


breed 와 같이 비어있는 부분은 자동으로 null로 인식한다.



breed 컬럼의 속성을 nn으로 처리하면 null이 아닌 공백문자로 처리된다.

 

 

in:

select * from cats;

out:

# 또한 default 항목에 특정 데이터를 저장하고 해당 데이터가 비어있는 상태로 insert 되면 default 에 입력한 데이터로 저장된다.

 

cats 테이블에 더 많은 고양이들을 저장 하자

 

in:

INSERT INTO cats(name, breed, age)
VALUES
('Ringo','Tabby',4),
('Cindy','Maine Coon',10),
('Dumbledore','Maine Coon',11),
('Egg','Persian',4),
('Misty','Tabby',13),
('George Michael','Ragdoll',9),
('Jackson','Sphynx',4);

select * from cats;

out:

 


update를 사용하여 기존 데이터 변경하자

 

breed가 Tabby 인 고양이의 종을 Shorthair로 변경한다.

 

in:

update cats
set breed = 'Shorthair'
where breed = 'Tabby';

select * from cats;

out:

# Tabby종이 Shorthair로 바꼈다.

# 먼저 set을 입력하고 어느 컬럼의 어떤 데이터를 변경할지 지정한다.

# 그 후, where을 입력하여 변경할 컬럼과 데이터를 입력한다.

 

 

고양이 이름이 misty 인 고양이의 나이를 14로 바꿔보자

 

in:

update cats
set age = 14
where name = 'Misty'; 

select * from cats;

out:

 

 

delete로 데이터 삭제할수 있다.

 

이름이 Egg인 고양이를 삭제한다.

 

in:

delete from cats
where name = 'Egg';

select * from cats;

out:

# 삭제할때에도 where을 사용하여 지정한다.

※ where을 사용하지 않으면 해당 테이블 데이터 전체가 삭제하니 주의하자!

 

 

select뒤에 컬럼명들을 나열하여 데이터를 가져올때 가져올수있는 컬럼을 정할수있다.

 

고양이의 나이가 10살 이상인 고양이의 이름과 나이만 가져오자.

 

in:

select name, age from cats
where age >= 10;

out:

 

 

drop table을 입력하면 table을 제거한다.

 

drop table cats;

# 혹은 디렉토리 속의 테이블을 클릭해 드랍할수도 있다.

 

 

 

 

 

댓글