테이블
테이블 생성 CREATE
-- 새로운 테이블 생성
CREATE TABLE 테이블명(
컬럼명 데이터타입 제약조건,
컬럼명 데이터타입 제약조건,
.
.
.
);
-- 기존 테이블 복사하여 테이블 생성
-- 테이블 구조 및 데이터 복사
CREATE TABLE 생성할_테이블명
AS
SELECT 컬럼명
FROM 복사할_테이블명
WHERE 조건;
-- 테이블 구조만 복사
CREATE TABLE 생성할_테이블명
AS
SELECT 컬럼명
FROM 복사할_테이블명
WHERE [flase조건];
테이블 컬럼 변경 ALTER
-- 컬럼 이름 변경
ALTER TABLE 테이블명 RENAME COLUMN 변경전_컬럼명 TO 변경후_컬럼명;
-- 컬럼 데이터타입 변경
ALTER TABLE 테이블명 MODIFY (컬럼명 데이터타입);
-- 컬럼 추가
ALTER TABLE 테이블명 ADD (컬럼명 데이터타입);
-- 컬럼 삭제
ALTER TABLE 테이블명 DROP COLUMN 컬럼명;
* 테이블 편집을 통해 손쉽게 변경 가능하여 쿼리문 잘 사용하지 않음
테이블 이름 변경 RENAME
RENAME 변경전_테이블명 TO 변경후_테이블명;
테이블 삭제 DROP
-- 테이블과 데이터 삭제
DROP TABLE 테이블명;
-- 제약조건까지 삭제
DROP TABLE 테이블명 CASCADE CONSTRAINTS;
-- 삭제한 테이블을 휴지통에 넣지 않고 삭제
DROP TABLE 테이블명 PURGE;
-- 테이블, 데이터, 제약조건 바로 삭제
DROP TABLE 테이블명 CASCADE CONSTRAINTS PURGE;
테이블 데이터 삭제 TRUNCATE
TRUNCATE TABLE 테이블명;
테이블 구조 DESCRIBE
DESC 테이블명;
DESCRIBE 테이블명;
데이터
데이터 삽입 INSERT
INSERT INTO 테이블명 [컬럼목록] VALUES [데이터목록];
-- 모든 필드 데이터 입력
INSERT INTO 테이블명 VALUES(데이터1, 데이터2, ... );
-- 원하는 필드만 원하는 순서대로 입력
INSERT INTO 테이블명(컬럼명1, 컬럼명2) VALUES(데이터1, 데이터2);
-- 서브쿼리를 사용하여 한 번에 여러 데이터 추가
INSERT INTO 테이블명
SELECT *
FROM 데이터_가져올_테이블명
WHERE 조건;
* 원하는 필드만 입력했을 경우 나머지 필드는 NULL 값으로 채워짐
* NULL 입력하고 싶을 경우, NULL 또는 ' ' 입력
- 날짜 입력 방법
-- 년 월 일 순서 표기
'2001/01/07'
'2001-01-07'
-- 다른 순서 표기
TO_DATE('07/01/01', 'DD/MM/YYYY')
-- 현재 시점 날짜
SYSDATE
데이터 수정 UPDATE
-- 전체 행 수정
UPDATE 테이블명 SET 컬럼명 = 데이터;
-- 특정 행 수정
UPDATE 테이블명 SET 컬럼명 = 데이터
WHERE 조건;
-- 여러 행 수정
UPDATE 테이블명 SET 컬럼명1 = 데이터1, 컬럼명2 = 데이터2, ...
WHERE 조건;
-- 서브쿼리를 사용하여 한 번에 여러 데이터 수정
UPDATE 테이블명
SET (컬럼명1, 컬럼명2) = (
SELECT 컬럼명1, 컬럼명2
FROM 데이터를_가져올_테이블명
WHERE 조건)
WHERE 조건;
UPDATE 테이블명
SET 컬럼명1 = (
SELECT 컬럼명1
FROM 데이터를_가져올_테이블명
WHERE 조건),
컬럼명2 = (
SELECT 컬럼명2
FROM 데이터를_가져올_테이블명
WHERE 조건)
WHERE 조건;
-- WHERE절에 서브쿼리 사용
UPDATE 테이블명
SET 컬럼명1 = 데이터
WHERE 컬럼명2 = (
SELECT 컬럼명2
FROM 테이블명
WHERE 조건);
데이터 삭제 DELETE
-- 전체 행 삭제
DELETE FROM 테이블명;
-- 특정 행 삭제
DELETE FROM 테이블명
WHERE 조건;
-- WHERE절에 서브쿼리 사용
DELETE FROM 테이블명
WHERE 컬럼명 IN(
SELECT 컬럼명
FROM 데이터를_가져올_테이블명
WHERE 조건);