- root 계정으로 'SCOTT' DATABASE를 생성하고 scott 계정에 권한 부여.
- dochi 계정으로 TABLE 생성 및 DATA 입력하고 데이터 조회.
1. DB 생성 및 계정 생성
CREATE DATABASE scott;
-- scott 계정생성
-- 로컬에서만 접속 가능한 계정.
CREATE OR REPLACE USER 'scott'@'localhost' IDENTIFIED BY 'tiger';
-- 외부에서 접속 가능한 계정.
CREATE OR REPLACE USER 'scott'@'%' IDENTIFIED BY 'tiger';
--GRANT CREATE, ALTER, SELECT, INSERT, UPDATE, DELETE ON scott.* TO 'scott'@'localhost';
--GRANT CREATE, ALTER, SELECT, INSERT, UPDATE, DELETE ON scott.* TO 'scott'@'%';
grant all privileges on scott.* to 'scott'@'localhost';
grant all privileges on scott.* to 'scott'@'%';
flush privileges;
-- 권한적용
FLUSH PRIVILEGES; (잊지말고 적용 시킬것)
========================================================
2.권한 적용후 scott 으로 다시 접속
-- DATABASE 조회
SHOW DATABASES;
-- 'SCOTT' DATABASE로 변경
USE SCOTT;
-- TABLE 조회 SHOW TABLES;
3. TABLE 생성
CREATE TABLE EMP(
EMPNO INTEGER NOT NULL,
ENAME VARCHAR(10),
JOB VARCHAR(9),
MGR INTEGER,
HIREDATE VARCHAR(12),
SAL DECIMAL(7, 2),
COMM DECIMAL(7, 2),
DEPTNO INTEGER
);
CREATE TABLE DEPT(
DEPTNO INTEGER NOT NULL,
DNAME VARCHAR(14),
LOCATION VARCHAR(13)
);
CREATE TABLE SALGRADE(
GRADE INTEGER NOT NULL,
LOSAL INTEGER NOT NULL,
HISAL INTEGER NOT NULL
);
CREATE TABLE BONUS (
ENAME VARCHAR(10) NOT NULL,
JOB VARCHAR(9) NOT NULL,
SAL DECIMAL(7, 2),
COMM DECIMAL(7, 2)
);
PK 생성
ALTER TABLE EMP
ADD CONSTRAINT EMP_PK
PRIMARY KEY (EMPNO);
ALTER TABLE DEPT
ADD CONSTRAINT DEPT_PK
PRIMARY KEY (DEPTNO);
ALTER TABLE SALGRADE
ADD CONSTRAINT SALGRADE_PK
PRIMARY KEY (GRADE);
ALTER TABLE BONUS
ADD CONSTRAINT BONUS_PK
PRIMARY KEY (ENAME, JOB);
ALTER TABLE EMP
ADD CONSTRAINT DEPT
FOREIGN KEY (DEPTNO)
REFERENCES DEPT (DEPTNO);
ALTER TABLE EMP
ADD CONSTRAINT MGR
FOREIGN KEY (MGR)
REFERENCES EMP (EMPNO);
5. DATA 생성
INSERT INTO DEPT VALUES
(10, 'ACCOUNTING', 'NEW YORK'),
(20, 'RESEARCH', 'DALLAS'),
(30, 'SALES', 'CHICAGO'),
(40, 'OPERATIONS', 'BOSTON');
INSERT INTO EMP VALUES
(7839, 'KING', 'PRESIDENT', NULL, '1981-11-17', 5000, NULL, 10),
(7566, 'JONES', 'MANAGER', 7839, '1981-04-02', 2975, NULL, 20),
(7788, 'SCOTT', 'ANALYST', 7566, '1982-12-09', 3000, NULL, 20),
(7876, 'ADAMS', 'CLERK', 7788, '1983-01-12', 1100, NULL, 20),
(7902, 'FORD', 'ANALYST', 7566, '1981-12-03', 3000, NULL, 20),
(7369, 'SMITH', 'CLERK', 7902, '1980-12-17', 800, NULL, 20),
(7698, 'BLAKE', 'MANAGER', 7839, '1981-05-01', 2850, NULL, 30),
(7499, 'ALLEN', 'SALESMAN', 7698, '1981-02-20', 1600, 300, 30),
(7521, 'WARD', 'SALESMAN', 7698, '1981-02-22', 1250, 500, 30),
(7654, 'MARTIN', 'SALESMAN', 7698, '1981-09-28', 1250, 1400, 30),
(7844, 'TURNER', 'SALESMAN', 7698, '1981-09-08', 1500, 0, 30),
(7900, 'JAMES', 'CLERK', 7698, '1981-12-03', 950, NULL, 30),
(7782, 'CLARK', 'MANAGER', 7839, '1981-06-09', 2450, NULL, 10),
(7934, 'MILLER', 'CLERK', 7782, '1982-01-23', 1300, NULL, 10);
INSERT INTO SALGRADE VALUES
(1, 700, 1200),
(2, 1201, 1400),
(3, 1401, 2000),
(4, 2001, 3000),
(5, 3001, 9999);
COMMIT;
'마리아 DB' 카테고리의 다른 글
마리아 DB 연습 - 네번째(scott ) - SQL 쿼리 연습 (0) | 2022.04.09 |
---|---|
마리아 DB 연습 - 두번째(2) 유저 생성 및 권한 부여및 삭제 (0) | 2022.04.09 |
마리아 DB 연습 - 첫번째(1) - DATABASES 생성 및 삭제 (0) | 2022.04.09 |
마리아 DB - 게시판 페이징 처리 (0) | 2022.03.19 |