-- 데이터베이스 확인
SHOW DATABASES;
-- DB 생성
CREATE DATABASE db_test;
-- DB 생성 확인
SHOW DATABASES;
-- mysql 데이티버에스로 이동
USE mysql;
-- user 정보 확인(호스트, 유저네임, 패스워드)
SELECT host, user, password
FROM user;
-- user 생성
CREATE user 'test01'@'%' IDENTIFIED BY '1234';
-- user 권한 부여
GRANT ALL PRIVILEGES ON db_test.* TO 'test01'@'%';
-- 새로고침
FLUSH PRIVILEGES;
-- db_test 데이터베이스로 이동
USE db_test;
-- 테스트 테이블 생성
CREATE TABLE employee(
empno INT(11) NOT NULL AUTO_INCREMENT,
empname VARCHAR(11) NOT NULL,
salary INT(11) NOT NULL,
dno INT(11) NOT NULL,
PRIMARY KEY (empno)
);
-- table 확인
SHOW TABLES;
-- tables 구조 확인
DESC employee;
-- 샘플 데이터 인서트
INSERT INTO employee(empname, salary, dno)
VALUES('김길동', 2000000, 1);
INSERT INTO employee(empname, salary, dno)
VALUES('이길동', 3000000, 1);
INSERT INTO employee(empname, salary, dno)
VALUES('홍길동', 4000000, 1);
INSERT INTO employee(empname, salary, dno)
VALUES('박길동', 5000000, 2);
INSERT INTO employee(empname, salary, dno)
VALUES('성길동', 6000000, 2);
INSERT INTO employee(empname, salary, dno)
VALUES('명길동', 1500000, 3);
INSERT INTO employee(empname, salary, dno)
VALUES('함길동', 1800000, 3);
INSERT INTO employee(empname, salary, dno)
VALUES('고길동', 2100000, 3);
INSERT INTO employee(empname, salary, dno)
VALUES('신길동', 2400000, 3);
-- employee 테이블 조회
SELECT *
FROM employee;
-- '이'로 시작하는 사원 조회
SELECT *
FROM employee
WHERE empname LIKE '이%';
-- 부서번호가 1인 사원만 조회
SELECT *
FROM employee
WHERE dno=1;
-- 부서번호만 조회하되, 중복값 제거
SELECT DISTINCT dno
FROM employee;
-- 부서번호가 1이면서 월급이 1500000원 이상인 사원 조회
SELECT *
FROM employee
WHERE dno=1 AND salary >= 1500000;
-- 월급이 2000000~3000000 사이인 사원 조회
SELECT *
FROM employee
WHERE salary >= 2000000 AND salary <= 3000000;
-- 부서번호가 1, 3인 사원 조회 - 방법1
SELECT *
FROM employee
WHERE dno IN(1,3);
-- 부서번호가 1, 3인 사원 조회 - 방법2
SELECT *
FROM employee
WHERE dno=1 OR dno=3;
-- 부서번호가 1인 사원 조회 - 내림차순
SELECT *
FROM employee
WHERE dno=1
ORDER BY salary DESC;
-- 부서번호가 1인 사원 조회 - 오름차순
SELECT *
FROM employee
WHERE dno=1
ORDER BY salary ASC;
-- 사원 번호가 4인 사원 삭제
DELETE FROM employee
WHERE empno=4;
-- 사원 번호가 3인 사원의 이름 변경
UPDATE employee
SET empname='사길동'
WHERE empno=3;
-- table 삭제
DROP TABLE employee;
-- mysql 데이터베이스로 이동한 후 사용자 권한 삭제
USE mysql;
REVOKE ALL on db_test.* FROM 'test01'@'%';
-- 사용자 삭제
DROP USER test01;
--데이터베이스 삭제
DROP DATABASE db_test;