본문 바로가기

자바 웹 개발자가 될거야/DB

(41)
[Oracle] 테이블 절단하기 / TRUNCATE문 - 테이블 구조는 남겨두고 테이블의 모든 행을 제거하는 기능 - DROP문은 행뿐만 아니라 테이블 구조까지 제거 - DELETE문(where절 없이)과 결과 똑같음 TRUNCATE TABLE 테이블명; ① DELETE문과 차이 DELETE TRUNCATE 개념 테이블의 특정 행 삭제 테이블의 모든 행 절단(삭제) 문법 DELETE FROM 테이블명; TRUNCATE TABLE 테이블명; 차이점 DML(데이터 조작어) 저장공간 반납 X ROLLBACK O DDL(데이터정의어) 저장공간 반납 O ROLLBACK X - DELETE : 데이터가 지워져도 데이터가 차지하고 있던 저장공간이 DB로 반납 안됨 - TRUNCATE : 데이터가 지워짐과 동시에 데이터가 차지하고 있던 저장공간이 ..
[Oracle] 테이블 삭제 및 복구하기 / DROP문 - 테이블 구조, 데이터값, 제약조건 등 존재자체가 없어짐 - Drop문은 DDL이기 때문에 자동으로 commit이 된다. 즉, 엔터치면 바로 저장되기때문에 조심해야함 - Rollback이 소용없음 DROP TABLE 테이블명; ① 휴지통 기능 - 최근에 DROP했던 결과를 되살릴 수 있는 작업이 생김 - 휴지통(recyclebin)이 생겨서 실수로 테이블 삭제한 경우 되살릴 수 있음 - 아래의 2가지 방법이 있으니 편한거 쓰면 됨 SELECT original_name, operation, droptime FROM RECYCLEBIN; show recyclebin ② 되돌리기 작업 FLASHBACK TABLE 테이블명 TO BEFORE DROP; ③ 완전히 삭제하기 - 데이터베이스..
[Oracle] 이름 수정하기 / RENAME - 테이블을 생성한 후 컬럼명, 제약조건명, 테이블명을 수정하고 싶을 때 조치할 수 있는 방법 더보기 CREATE TABLE emp50AS SELECT employee_id, last_name, salary, department_id FROM employees WHERE department_id=50; ① 컬럼명 수정 - RENAME COLUMN으로 수정 ALTER TABLE 테이블명 RENAME COLUMN 기존컬럼명 TO 새컬럼명; ALTER TABLE emp50 RENAME COLUMN employee_id TO emp_no; ② 제약조건명 수정 - RENAME CONSTRAINT으로 수정 - 내가 만든 제약조건명이든 오라클이 자동으로 부여한 제약조건..
[Oracle] 제약조건 확인 스크립트 생성 및 불러오기 - 생성된 테이블의 제약조건을 편하게 확인하고 싶을 땐 스크립트를 만들어놓고 원할때마다 확인하면 된다 ① 제약조건 확인 스크립트 생성 - 터미널 창 새로 열기 > pwd로 현재 경로 확인 > /home/oracle 인지 확인 > vi search_cons.sql > i 입력 - 위 코드와 똑같이 입력 > ESC > :wq · col로 시작하는 3줄은 컬럼 사이즈 변경하는 코드 · select 절은 사용자가 입력한 테이블명을 받아들여 제약조건 정보 확인가능 ② 스크립트 파일 내용 확인하고 싶으면 ? - cat search_cons.sql - vi search_cons.sql - 2가지 방법 다 가능하다 ③ 스크립트 파일 불러오기 - @/home/oracle/search_cons.sql 입력 (sqlplus..
[Oracle] 테이블 수정하기 / ALTER문 - ALTER TABLE 테이블명 ALTER/MODIFY/DROP 조건; 이 기본틀이다 - 테이블 만든 후 특정 컬럼을 수정하고 싶을 때 사용 ① 컬럼 추가 - 컬럼 추가, 기존 컬럼에 제약조건 추가도 가능 - 가장 마지막 컬럼으로 추가됨 - 컬럼 새로 추가하게 되면 데이터값은 NULL로 배정 ALTER TABLE 테이블명 ADD 조건; ALTER TABLE dept80 ADD (job_id VARCHAR2(9)); ② 컬럼 수정 - 데이터타입, 컬럼 사이즈, Default값, 제약조건 추가 등의 수정가능하다 - 사이즈를 늘리는 건 언제든지 상관없음 ( 단, 사이즈를 줄이는건 이미 저장된 컬럼값에 의해 가능 불가능 ) ALTER TABLE 테이블명 MODIFY 조건; ALTER T..
[Oracle] 테이블 생성하기/ CREAT문 - CREATE TABLE ( 컬럼명1 제약조건 , 컬럼명2 제약조건, ...); 가 기본틀이다 - 아래의 2개 테이블 설계도 참고해서 테이블을 생성해보겠음 CREATE TABLE title( title_id number(10) constraint t_tid_pk PRIMARY KEY, title varchar2(60) constraint t_tit_nn NOT NULL, description varchar2(400) constraint t_des_nn NOT NULL, rating varchar2(4) constraint t_rat_ck CHECK(rating in('G','PG','R','NC17','NR')), category varchar2(20) constraint t_c..
[Oracle] 테이블 제약조건 / 컬럼레벨 테이블레벨 - 사용자가 원하는 조건의 데이터만 유지하기 위해서 특정 컬럼에 설정하는 제약 - 제약조건 종류 : Primary Key, Foreign Key, Unique, Not Null, Check - 제약조건 선언 시기 : 테이블 생성 시(Create table ~) 혹은 테이블 생성 후(Alter table~)에 가능하다. - 제약조건명 · 사용자 지정으로 고유하고 의미있는 이름 부여하는 것이 좋다 · ex) 테이블약자_컬럼약자_제약조건유형약자 · 사용자가 생략시 Oracle이 자동으로 부여함 ① 제약조건 유형 - NOT NULL · 컬럼안에 NULL이 들어가지 못하도록 설정 · 컬럼레벨 문법만 가능 id number(10) CONSTRAINT emp_id_nn NOT NULL - UN..
[Oracle] 테이블 제약조건 정보 조회 / 쿼리(스크립트) 저장하는 방법 - 테이블을 만든 후나 다른 사람이 만든 테이블의 제약조건을 확인하고 싶은 경우 다음과 같은 쿼리를 사용할 수 있다 - 참고로 이거는 sqlplus에서 확인한 방법이고 SQL Developer는 더 쉽게 확인 가능할 것이다 - where절을 작성하지 않으면 존재하는 모든 테이블을 보여주기 때문에 특정 테이블을 보고싶다면 조건을 걸어줘라 select constraint_name, constraint_type, search_condition, r_constraint_name from user_constraints where lower(table_name) = lower('&t_name'); - 위 커리 입력하면 테이블명 입력하라는 구문이 나온다 - 특정 테이블에 선언된 제약조..