๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ–ฅ๏ธ/DBMS

[MySQL] ํ…Œ์ด๋ธ” ๋งŒ๋“ค๊ธฐ

by HanaV 2023. 4. 10.
728x90

1. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ƒ์„ฑํ•˜๊ณ  ์‚ฌ์šฉํ•˜๊ธฐ (create)

create database product_db;
use product_db;

 

2. ํ…Œ์ด๋ธ” ๋งŒ๋“ค๊ธฐ (create)

ํ…Œ์ด๋ธ”์„ ์ƒ์„ฑํ•  ๋•Œ๋Š”
์—ด์ด๋ฆ„๊ณผ ๋ฐ์ดํ„ฐํƒ€์ž… nullํ—ˆ์šฉ์—ฌ๋ถ€ (PK);
๋กœ ์ ์–ด์ฃผ๋ฉด ๋œ๋‹ค.

create table product (
	product_name char(20) not null primary key,
    product_price int not null,
    product_made char(10),
    product_company char(20),
    product_num int
);

๋งŒ์•ฝ ์—ด์˜ ์ด๋ฆ„์ด๋‚˜ ๋ฐ์ดํ„ฐํƒ€์ž…์„ ๋ณ€๊ฒฝํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด
alter table ํ…Œ์ด๋ธ”๋ช… change ์˜ˆ์ „์—ด์ด๋ฆ„ ์ƒˆ๋กœ์šด์—ด์ด๋ฆ„ ์ƒˆ๋กœ์šด๋ฐ์ดํ„ฐํƒ€์ž… (nullํ—ˆ์šฉ์—ฌ๋ถ€) (PK);
๋กœ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋‹ค.

alter table product change product_made product_made date not null;
alter table product change product_num product_num tinyint unsigned not null;
date ํƒ€์ž…์€ ์ˆซ์ž 8์ž๋ฆฌ๊ฐ€ YYYY-MM-DD๋กœ ๋ฐ์ดํ„ฐ๊ฐ€ ์ž…๋ ฅ๋œ๋‹ค. ์ด๋Š” ๋‚˜์ค‘์— ๊ฒ€์ƒ‰(SELECT)ํ•  ๋•Œ ๋ฒ”์œ„๋ฅผ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์–ด์„œ ํŽธ๋ฆฌํ•˜๋‹ค.
tinyint ํƒ€์ž…์€ 1byte๋กœ -128~128์˜ ์ˆซ์ž ๋ฒ”์œ„๊นŒ์ง€ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋‹ค. ๋งŒ์•ฝ ์Œ์ˆ˜๋ฅผ ์“ฐ๊ณ  ์‹ถ์ง€ ์•Š๋‹ค๋ฉด, tinyint unsigned๋กœ 0~255๊นŒ์ง€ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ๋‹ค.

๋ฐ์ดํ„ฐ ํƒ€์ž…์— ๋Œ€ํ•œ ๊ธ€ ๋งํฌ

 

3. ํ…Œ์ด๋ธ”์— ๋ฐ์ดํ„ฐ ์ž…๋ ฅ/์ˆ˜์ •/์‚ญ์ œํ•˜๊ธฐ (insert into / delete from / update)

๋ฐ์ดํ„ฐ ์ž…๋ ฅ์€
insert into ํ…Œ์ด๋ธ”์ด๋ฆ„ values (๋ฐ์ดํ„ฐ);
์ด๋•Œ, ์ž…๋ ฅ๋˜๋Š” ๋ฐ์ดํ„ฐ๋Š” primary key ์ˆœ์œผ๋กœ ์ž๋™์ •๋ ฌ๋œ๋‹ค. ์ž๋™์ •๋ ฌ๋˜๋Š” ์ด์œ ๋Š” PK๋Š” ์ง€์ •๋˜๋Š” ์ˆœ๊ฐ„ ์ธ๋ฑ์Šค๊ฐ€ ์ƒ์„ฑ๋˜์–ด ์ •๋ ฌ๋˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

insert into product values('๋ฐ”๋‚˜๋‚˜', 1500, '2023-04-07', '๋ธ๋ชฌํŠธ', 17);
insert into product values('์ฐธ์น˜๋งˆ์š” ์‚ผ๊ฐ๊น€๋ฐฅ', 900, '2023-04-06', '', 3);
insert into product values('์ง„๋ผ๋ฉด ๋งค์šด๋ง›', 600, 20230320, '์˜ค๋šœ๊ธฐ', 37);
insert into product values('ํฌ์ผ“๋ชฌ์Šคํ„ฐ ์Šคํ‹ฐ์ปค', 500, '20230402', '', 1);

์ž…๋ ฅํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ญ์ œํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด 
delete from ํ…Œ์ด๋ธ”์ด๋ฆ„ where PK๊ฐ’; 
์„ ์‚ฌ์šฉํ•ด์ฃผ๋ฉด ๋˜๋Š”๋ฐ, PK๊ฐ’์„ ์‚ฌ์šฉํ•ด์•ผ ์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ๋”ฑ ํ•˜๋‚˜๋งŒ ์‚ญ์ œ๋œ๋‹ค.

delete from product where product_name='ํฌ์ผ“๋ชฌ์Šคํ„ฐ ์Šคํ‹ฐ์ปค';

์ž…๋ ฅํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ •ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด
update ํ…Œ์ด๋ธ”์ด๋ฆ„ set ์ˆ˜์ •ํ•˜๊ณ ์‹ถ์€์—ด์ด๋ฆ„='์ˆ˜์ •ํ›„๋ฐ์ดํ„ฐ' where ์ˆ˜์ •ํ•˜๊ณ ์‹ถ์€์—ด์ด๋ฆ„='์ˆ˜์ •์ „๋ฐ์ดํ„ฐ';

update product set product_num = 35 
	WHERE product_name = '์ง„๋ผ๋ฉด ๋งค์šด๋ง›';

 

4. ๋ฐ์ดํ„ฐ ์กฐํšŒํ•˜๊ธฐ (show / select)

์—ด์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๋ณด๊ณ  ์‹ถ๋‹ค๋ฉด
 show columns from ํ…Œ์ด๋ธ”์ด๋ฆ„;

show columns from product;

๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด
select ๋ฐ์ดํ„ฐ์—ด์ด๋ฆ„ from ํ…Œ์ด๋ธ”์ด๋ฆ„ where ์กฐ๊ฑด์‹ group by ์—ด์ด๋ฆ„ order by ์—ด์ด๋ฆ„;

select * from product;

* ์€ ์ „์ฒด๋ฅผ ์˜๋ฏธ

select product_name from product;

select product_name, product_price from product
	where product_price < 1000;

select * from product
	where product_name like '%๋ผ๋ฉด%';

-- char์ด ์•„๋‹Œ date๋ฅผ ์“ฐ๋Š” ์ด์œ : ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋‚ ์งœ๋ฅผ ํ™œ์šฉํ•œ ๊ฒ€์ƒ‰์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
select * from product where date(product_made)='2023-04-06';
select * from product where date(product_made) between '20230401' and '20230421';

 

 

 

728x90

"); wcs_do();