๊ตญ๋น์ง์ D+29
- DB ํ ์ด๋ธ ์์ฑ ๋ฐ ๋ฐ์ดํฐ ์ถ๊ฐ/์ญ์ , ์กฐํ, ์๋ธ์ฟผ๋ฆฌ -
DB ํ ์ด๋ธ ์์ฑ ๋ฐ ๋ฐ์ดํฐ ์ถ๊ฐ/์ญ์
1. create
- table์ ์์ฑํ ๋ ์ฌ์ฉํ๋ค.
- table ์์ฑ์ ๋ฐ์ดํฐ ํ์ ์ ์ง์ ํด์ค๋ค.
- ์ ๋ณด๋ฅผ ์ ์ฅํ ํ๋ฅผ ๋ง๋ค ์ ์๋ค.
-- ํ
์ด๋ธ ์์ฑ
create table usertbl -- ํ์ํ
์ด๋ธ
(
userID char(20) not null primary key, -- ์์ด๋
name varchar(20) not null, -- ์ด๋ฆ
birthYear int not null, -- ์๋
addr char(2) not null, -- ์ง์ญ
mobile1 char(3), -- ๊ตญ๋ฒ
mobile2 char(8), -- ์ ํ๋ฒํธ
height smallint, -- ํค
mDate date -- ๊ฐ์
์ผ
);
2. auto increment
- ํ ์ด๋ธ์ ๋ฒํธ๊ฐ ์ผ์ ํ๊ฒ ์ฆ๊ฐ๋ ๋ ์ฌ์ฉํ๋ค.
- primary key ๋๋ unique๋ก ์ค์ ๋๋ค.
- ๋ฐ์ดํฐํ์ ์ซ์ํ๋ง ๊ฐ๋ฅํ๋ค.
- ๋ฐ์ดํฐ ์ถ๊ฐ์ NULL๋ก ์ง์ ํ๋ค.
3. insert into
- ํ ์ด๋ธ์ ์์ฑํ ๋ค์ ๋ฐ์ดํฐ๋ฅผ ์ ๋ ฅํ ๋ ์ฌ์ฉํ๋ค.
- ๋ฐ์ดํฐ ์ฝ์ ์ ์ด์ ์๋ต ๊ฐ๋ฅํ๋ฉฐ, ์๋ตํ ๊ฒฝ์ฐ values ๋ค์์ ๋์ค๋ ๊ฐ๋ค์ ์์ ๋ฐ ๊ฐ์๊ฐ ํ ์ด๋ธ์ ์ ์๋ ์ด์ ์์ ๋ฐ ๊ฐ์์ ๋์ผํด์ผ ํ๋ค.
INSERT [INTO] ํ
์ด๋ธ๋ช
[(์ด1, ์ด2, ... )] VALUES (๊ฐ1, ๊ฐ2, ...);
-- ๋ฐ์ดํฐ ์
๋ ฅ
INSERT INTO usertbl VALUES ('PSH', '๋ฐ๋ด๋ด', 1997, '์ธ์ฒ', '010', '12345678', 167, '1997-12-12');
INSERT INTO member(id, name, addr) VALUES ('1', '๋ฐ๋ด๋ด', '์ธ์ฒ');
4. update set
- ํน์ ๋ฐ์ดํฐ๋ฅผ ๋ณ๊ฒฝํ ๋ ์ฌ์ฉํ๋ค.
- set ๋ค์์ ๋ณ๊ฒฝํ ๊ฐ๊ณผ where ๋ค์์ ๋ณ๊ฒฝํ ๋ฐ์ดํฐ์ ๋ํ ์ค๋ช ์ ์์ฑํ๋ค.
UPDATE ํ
์ด๋ธ๋ช
SET ์ด1=๊ฐ1, ์ด2=๊ฐ2 WHERE ์กฐ๊ฑด;
-- ์ด๋ฆ์ด ๋ฐ๋นํด์ธ ์ฌ๋์ mobile1์ 010์ผ๋ก ๋ฐ๊ฟ๋ณด์
update usertbl
set mobile1='010'
where name='๋ฐ๋นํด';
5. delete
- ํน์ ๋ฐ์ดํฐ๋ฅผ ์ญ์ ํ ๋ ์ฌ์ฉํ๋ค.
- update์ ๋ฌ๋ฆฌ ์ด๋ ํ ๋ฐ์ดํฐ๋ฅผ ์ญ์ ํ ์ง์ ๋ํ ๋ฐ์ดํฐ ์ค๋ช ๋ง ์์ฑํด์ฃผ๋ฉด ๋๋ค.
- ํ๋จ์๋ก ์ญ์ ๋๋ค.
DELETE FROM ํ
์ด๋ธ๋ช
WHERE ์กฐ๊ฑด;
-- userID๊ฐ PSH์ธ ์ฌ๋์ ๋ฐ์ดํฐ๋ฅผ ์ญ์ ํ์์ค
delete from usertbl
where userID='PSH';
DB ์กฐํ
1. select
select๋ SQL์ ์์ฑํ๋ ๊ตฌ์กฐ๋ง ์ ํ์ ํ๋ฉด ๋๋ค.
select : ์๊ณ ์ถ์ ๊ฒ์ ๋ฌด์์ธ๊ฐ? => ์ปฌ๋ผ
from : ์๊ณ ์ถ์๊ฒ ์ด๋์ ์๋๊ฐ? => ํ ์ด๋ธ
where : ์กฐ๊ฑด์ ๋ฌด์์ธ๊ฐ?
2. where
- ๋ช ๋ น์ด์ ๋ํ ์กฐ๊ฑด์ ์ ์ํ ์์ด๋ค.
- where์ ์๋ ํฌ๊ฒ ๋น๊ต์ฐ์ฐ, ๋ ผ๋ฆฌ์ฐ์ฐ, ์ด์ฐ์ฐ์ฐ, Like์ฐ์ฐ์ด ์๋ค.
-- ๋น๊ต์ฐ์ฐ
-- ํค๊ฐ 175์ด์์ธ ํ์์ ์กฐํํ๋ค.
select *
from usertbl
where height >= 175;
-- ๋
ผ๋ฆฌ์ฐ์ฐ
-- ํค๊ฐ 175์ด์์ด๊ณ 1980๋
์ดํ ์ถ์์ธ ํ์์ ์กฐํํ๋ค.
select *
from usertbl
where height >= 175 and birthYear >= 1980;
-- ์ด์ฐ์ฐ์ฐ
-- addr์ด ์์ธ์ด๋ ๊ฒฝ๊ธฐ์ ์ฌ๋ ํ์์ ์กฐํํ๋ค.
select *
from usertbl
where addr in ('์์ธ', '๊ฒฝ๊ธฐ');
-- Like์ฐ์ฐ
-- userID๊ฐ L๋ก ์์ํ๋ ํ์์ ์ ๋ณด๋ฅผ ์กฐํํ๋ค.
select *
from usertbl
where userID like 'L%';
3. order by
- ์กฐํ ๊ฒฐ๊ณผ๋ฅผ ์ ๋ ฌํ๋ ๊ตฌ๋ฌธ์ผ๋ก ์กฐํ ๊ฒฐ๊ณผ์๋ ์ค์ง์ ์ผ๋ก ์ํฅ์ ์ฃผ์ง ์๋๋ค.
- select๋ฌธ์ ๊ฐ์ฅ ๋ค์ ์์นํ๋ค.
-- ์ ๋ ฌ order by
select *
from usertbl
order by mDate;
select *
from usertbl
order by mDate asc;
select *
from usertbl
order by mDate desc;
4. distinct
- ์ค๋ณต๋ row๋ฅผ ํ๋๋ง ์ถ๋ ฅํ๋๋ก ํ๋ค.
- ์ฌ๋ฌ ๊ฐ์ ์ปฌ๋ผ์ ์ ํ์์ distinct๊ฐ ๋ฌดํจ๊ฐ ๋๋ค.
-- ์ค๋ณต์ ๊ฑฐ distinct
select distinct addr
from usertbl;
DB ์๋ธ์ฟผ๋ฆฌ
- ์ฟผ๋ฆฌ์์ ์๋ ์ฟผ๋ฆฌ
- ํผ์ฐ์ฐ์์ ๋ช ํํ ๊ฐ์ ๋์ถํ๊ธฐ ์ด๋ ค์ธ๋ ์ฌ์ฉํ๋ค.
์๋ธ์ฟผ๋ฆฌ๋ ๊ฒฐ๊ณผ์ ๋ฐ๋ผ์ ๋ค๋ฅด๊ฒ ์์ฑํ๋๋ฐ ๋ง์ฝ ๊ฒฐ๊ณผ๊ฐ์ด ๋จ์ผ ๊ฐ์ผ ๊ฒฝ์ฐ์ ๋จ์ํ ์ฟผ๋ฆฌ์์ ์ฟผ๋ฆฌ๋ฅผ ๋ฃ๋ ํ์์ผ๋ก ๊ฐ์ ์์ฑํด์ฃผ๋ฉด ๋์ง๋ง, ๋ง์ฝ ์ฟผ๋ฆฌ์ ๊ฒฐ๊ณผ๊ฐ ๋ณต์๊ฐ์ผ ๊ฒฝ์ฐ์๋ ANY๋ ALL์ ์ฌ์ฉํด ๊ธฐ์ค์ ์ ํด์ค ํ์๊ฐ ์๋ค.
ANY๋ or์ ๋น์ทํ ๊ฐ๋ ์ด๊ณ , ALL์ and์ ๋น์ทํ ๊ฐ๋ ์ผ๋ก ๋จ์ผ ๊ธฐ์ค์ ์ฐ์ฐ์ ๋ง์ถฐ ๊ฐ์ ธ์ค๊ฒ ๋๋ค.
-- ๊น๊ฒฝํธ๋ณด๋ค ํค๊ฐ ํฐ ํ์ ์ ๋ณด๋ฅผ ์กฐํํด๋ผ
select *
from usertbl
where height > (select height from usertbl where name='๊น๊ฒฝํธ');
-- ๊ฒฝ๋จ์์ ์ฌ๋ ์ฌ๋๋ค๋ณด๋ค ํค๊ฐ ํฐ ์ฌ๋์ ์กฐํํด๋ผ
-- ANY(=or)
select *
from usertbl
where height > any(select height from usertbl where addr='๊ฒฝ๋จ');
-- ALL(=and)
select *
from usertbl
where height > all(select height from usertbl where addr='๊ฒฝ๋จ');
'์๋ > ๊ตญ๋น์ง์' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[D+31] JOIN, ๋ชจ๋ธ๋ง (0) | 2022.11.04 |
---|---|
[D+30] DB ์ธ๋ํค, ๊ทธ๋ฃนํ, DB๊ฐ๋ (1) | 2022.11.03 |
[D+28] ๋ฐ์ดํฐ๋ฒ ์ด์ค Database (0) | 2022.11.01 |
[D+27] ์ฝ๋ฉ ๋ฐ์ด (0) | 2022.10.30 |
[D+26] ์์ฉSW ๊ธฐ์ด ๊ธฐ์ ํ์ฉ (0) | 2022.10.27 |
๋๊ธ