MY SQL
2. MYSQL - DML , DCL
미스터 한뺑
2022. 8. 11. 23:27
반응형
1. DML
-- 테이블의 데이터를 조작하는 명령어
-- insert: 테이블에 데이터를 삽입하는 명령어
-- update: 테이블에 데이터를 수정하는 명령어
-- delete: 테이블에 데이터를 삭제하는 명령어
-- select: 테이블에 데이터를 조회하는 명령어
<<< 예시 >>>
use shop;
select database();
# 데이터 삽입하기
-- 하나씩 삽입하기
desc tb_user;
insert into tb_user(user_name,user_phone,user_addr)
values("이관수","010-0000-0000","서울시 중랑구");
select * from tb_user;
-- user_name의 varchar 길이가 10으로 설정되어있어 에러발생
insert into tb_user(user_name,user_phone,user_addr)
values("11111111111","010-1111-0000","서울시 서초구");
desc tb_user;
-- not null 조건을 갖고 있는 컬럼에 데이터를 안 넣을경우 에러 발생
insert into tb_user(user_name)
values("이관수");
-- 여러 데이터 삽입하기
insert into tb_user(user_name,user_phone,user_addr)
values("민수","010-1111-0000","서울시 강남구"),
("철수","010-2222-0000","서울시 서초구"),
("만수","010-3333-0000","서울시 종로구"),
("훈수","010-4444-0000","서울시 중구");
select * from tb_user;
desc tb_product;
insert into tb_product(product_name,product_price)
values("에어컨",1200000),
("스마트tv",2000000),
("컴퓨터",1000000),
("모니터",200000);
select * from tb_product;
-- unique 제약이 있는 컬럼에 중복 데이터를 넣을경우 에러발생
insert into tb_product(product_name,product_price)
values("에어컨",00000);
desc tb_order;
select * from tb_user;
select * from tb_product;
insert into tb_order(user_id,product_id)
values(1,3);
select * from tb_order;
-- 부모의 기본키 없는 값을 외래키에 넣을 경우 안들어간다.
insert into tb_order(user_id,product_id)
values(6,1);
# 데이터 수정하기
select * from tb_product;
update tb_product
set product_name="삼성에어컨"
where product_id = 1;
select * from tb_product;
# 데이터 삭제하기
select * from tb_user;
delete from tb_user
where user_id = 5;
select * from tb_user;
-- 만약 자식 테이블에서 참조하는 값이 있는 부모키의 값은 삭제가 안된다.
-- 자식 테이블에 참조하는 값을 먼저 삭제하고 해당 부모키를 삭제해야한다.
# DCL
-- grant : 사용자 계정에 대한 권한을 주는 명령어
-- revoke: 사용자 계정에 대한 권한을 회수하는 명령어
-- commit: insert,update,delete 대한 데이터베이스에 실제 반영
-- rollback: insert,update,delete 대한 복구
<<<예시>>>
use mysql;
select database();
-- mysql에 계정생성하기
create user 'ID'@'IP' identified by '비밀번호';
-- 권한 부여하기
grant select,insert,delete,update(권한부여할 것) on *.* to 'ID'@'%';
select * from user;
-- 권한 해제하기
revoke select,insert,delete,update on *.* from 'ID'@'%';
select * from user;
-- 계정 삭제
drop user 'ID'@'%';
select * from user;
반응형