<테이블 컬럼(열)의 추가/수정/삭제>
-
90번 부서의 직원들을 새테이블 E_EMP에 입력
1
2
3
4
5
|
CREATE TABLE E_EMP
AS
SELECT employee_id, last_name, salary, department_id
FROM employees
WHERE department_id=90;
|
cs |
-
열의 이름을 지정해서 E_EMP2 테이블 생성
1
2
3
4
5
6
7
|
CREATE TABLE E_EMP2(emp_id, name, sal, dept_id)
AS
SELECT employee_id, last_name, salary, department_id
FROM employees
WHERE department_id=90;
SELECT * FROM E_EMP2;
|
cs |
-
열의 추가
1
2
3
4
|
ALTER TABLE E_EMP
ADD (GENDER VARCHAR2(1));
SELECT * FROM E_EMP;
|
cs |
-
디폴트 값을 0으로 하는 열 추가
1
2
3
4
|
ALTER TABLE E_EMP
ADD (커미션 NUMBER DEFAULT 0 NOT NULL);
SELECT * FROM E_EMP;
|
cs |
-
두 개의 열을 추가
1
2
3
4
5
|
ALTER TABLE E_EMP
ADD (날짜 DATE DEFAULT sysdate,
제작자 VARCHAR2(100) DEFAULT USER);
SELECT * FROM E_EMP;
|
cs |
-
열의 수정
1
2
3
|
ALTER TABLE E_EMP
MODIFY (제작자 VARCHAR2(200)); --원래 (100)=>(200) 사이즈로
DESC e_emp;
|
cs |
1
2
3
|
ALTER TABLE E_EMP
MODIFY (제작자 VARCHAR2(50)); --원래 (200)=>(50) 사이즈로
DESC e_emp;
|
cs |
1
2
|
ALTER TABLE E_EMP
MODIFY (제작자 VARCHAR2(1)); --원래 (50)=>(1) 사이즈로
|
cs |
제작자 열은 2byte 크기의 데이터 타입이므로 1로 줄일 수 없다.
-
제작자의 데이터 형식을 바꾸려 하면
1
2
|
UPDATE E_EMP
SET 제작자 = NULL;
|
cs |
-
열의 삭제
1
2
|
ALTER TABLE e_emp
DROP COLUMN 제작자; --제작자 열 삭제
|
cs |
-
여러개의 열 삭제
1
2
|
ALTER TABLE e_emp
DROP (GENDER, 커미션, 날짜); --여러개 열 삭제
|
cs |
-
열의 이름 수정
1
2
|
ALTER TABLE e_emp
RENAME COLUMN department_id TO 부서번호;
|
cs |
1
2
3
4
5
6
|
ALTER TABLE e_emp
RENAME COLUMN salary TO 급여;
ALTER TABLE e_emp
RENAME COLUMN employee_id TO 직원번호;
ALTER TABLE e_emp
RENAME COLUMN last_name TO 이름;
|
cs |
-
테이블의 이름 수정
1
|
RENAME e_emp TO 직원테이블;
|
cs |
<예제>
-
employees 테이블의 job_id가 'ST_MAN'인 직원들을 새 테이블 stmans를 만들어 입력. 단 테이블의 컬럼 이름은 id, job, sal (직원 테이블의 employee_id, job_id, salary)
1
2
3
4
5
6
7
|
CREATE TABLE stmans (id, job, sal)
AS
SELECT employee_id, job_id, salary
FROM employees
WHERE job_id='ST_MAN';
SELECT * FROM stmans;
|
cs |
'Learning > SQL' 카테고리의 다른 글
인덱스 (0) | 2020.06.22 |
---|---|
뷰 (0) | 2020.06.22 |
제약조건의 삭제 (0) | 2020.06.22 |
제약조건의 추가 및 수정 (0) | 2020.06.22 |
제약조건 (constraints) (0) | 2020.06.19 |