반응형
CREATE TABLE
- 테이블 생성
CREATE TABLE 테이블명 (
칼럼명1 DATATYPE [DEFAULT 형식],
칼럼명2 DATATYPE [DEFAULT 형식],
칼럼명3 DATATYPE [DEFAULT 형식]
);
SQL> CREATE TABLE PLAYER(
2 PLAYER_ID CHAR(7) NOT NULL,
3 PLAYER_NAME VARCHAR2(20) NOT NULL,
4 TEAM_ID CHAR(3) NOT NULL,
5 BIRTH_DATE DATE,
6 CONSTRAINT PLAYER_PK PRIMARY KEY (PLAYER_ID)
7 );
Table created.
- 생성된 테이블 구조 확인
DESCRIBE 테이블명; 또는 DESC 테이블명;
SQL> DESCRIBE PLAYER;
Name Null? Type
----------------------------------------- -------- ----------------------------
PLAYER_ID NOT NULL CHAR(7)
PLAYER_NAME NOT NULL VARCHAR2(20)
TEAM_ID NOT NULL CHAR(3)
BIRTH_DATE DATE
- 테이블 복사
CREATE TABLE 테이블명
AS SELECT * FROM 복사할_테이블명;
SQL> CREATE TABLE TEAM_TEMP
2 AS SELECT * FROM TEAM;
Table created.
ALTER TABLE
- 칼럼 추가
ALTER TABLE 테이블명
ADD 추가할_칼럼명 테이터_유형;
SQL> ALTER TABLE PLAYER
2 ADD (ADDRESS VARCHAR2(80));
Table altered.
SQL> DESC PLAYER;
Name Null? Type
----------------------------------------- -------- ----------------------------
PLAYER_ID NOT NULL CHAR(7)
PLAYER_NAME NOT NULL VARCHAR2(20)
TEAM_ID NOT NULL CHAR(3)
BIRTH_DATE DATE
ADDRESS VARCHAR2(80)
- 칼럼 삭제
ALTER TABLE 테이블명
DROP COLUMN 삭제할_칼럼명;
- 칼럼에 대한 정의 변경
ALTER TABLE 테이블명
MODIFY ( 칼럼명1 데이터_유형 [DEFAULT 식] [NOT NULL],
칼럼명2 데이터_유형 ... );
SQL> ALTER TABLE TEAM_TEMP
2 MODIFY (ORIG_YYYY VARCHAR2(8) DEFAULT '20020129' NOT NULL);
Table altered.
- 칼럼명 변경
ALTER TABLE 테이블명
RENAME COLUMN 변경할_칼럼명 TO 새로운_칼럼명;
- 테이블 생성 시 부여했던 제약 조건 삭제
ALTER TABLE 테이블명
DROP CONSTRAINT 제약조건명;
- 테이블의 특정 칼럼에 제약조건 추가
ALTER TABLE 테이블명
ADD CONSTRAINT 제약조건명 제약조건 (칼럼명);
SQL> ALTER TABLE PLAYER
2 ADD CONSTRAINT PLAYER_FK FOREIGN KEY (TEAM_ID) REFERENCES TEAM(TEAM_ID);
Table altered.
RENAME TABLE
- 테이블명 변경
RENAME 변경할_테이블명 TO 새로운_테이블명;
DROP TABLE
- 테이블 삭제
DROP TABLE 테이블명;
- 테이블과 관계가 있있던 참조되는 제약조건도 함께 삭제
DROP TABLE 테이블명 [CASCADE CONSTRAINTS];
- 휴지통에 안넣고 영구삭제
DROP TABLE 테이블명 CASCADE CONSTRAINTS PURGE;
- 휴지통 확인
SELECT * FROM RECYCLEBIN;
TRUNCATE TABLE
- 해당 테이블에 들어있던 행들만 삭제 (저장 공간을 재사용 가능하도록 해제)
- TRUNCATE 후 자동으로 커밋을 한다. TRUNCATE의 삭제는 롤백할 수 없다.
TRUNCATE TABLE 테이블명;
반응형
'데이터베이스 > RDBMS' 카테고리의 다른 글
VARCHAR와 CHAR의 차이점 (0) | 2019.10.22 |
---|---|
[Oracle] 트랜잭션 Transaction, TCL (0) | 2019.10.06 |
[macOS] SQL Developer - The Network Adapter could not establish the connection 에러 해결 (6) | 2019.10.04 |
[Oracle] DML - SELECT, INSERT, UPDATE, DELETE (0) | 2019.10.02 |
[Oracle] the password will expire within 7 days 에러 해결 (0) | 2019.09.30 |