텍스트
select * from tabs : 사용자가 보유하고 있는 테이블에 대한 정보확인
desc 테이블명: 테이블 속성에 대한 정보 확인
alter table 테이블명 modify(객체 이름 속성(값)): 테이블에 기존 객체 수정
alter table 테이블명 add (객체 이름 속성(값)): 테이블에 새로운 객체 추가
alter table 테이블명 drop column (객체 이름): 테이블에 기존 객체 삭제
update 테이블 명 set 변경할 필드=변경할 필드 값,변경할 필드 .. where 조건: 필트 값 변경
alter table 테이블 명 rename column 기존 컬럼 to 변경 컬럼: 기존 컬럼의 이름을 변경
insert into 테이블명 values (값) :필드 값 추가
insert into 테이블명 select (열 이름) from 참조 테이블
insert all
when to_char(hire_date, 'yyyy') = '2000' then into hired_2000
select employee_id, first_name, hire_date, job_id, salary, department_id from employees;
테이블 추가, 변경 삭제되는 데이터를 제한하기 위해서 사용
데이터에 제약조건을 거는 이유, 무결성을 위해서 반드시 필요
ADD constraint 제약조건명(컬럼명) REFERENCE (타겟테이블) 명(타겟_컬럼명)
USER_constraints (사용자가 설정한 제약 조건을 확인할 수 있음)
유사하게 ALL DBA 등으로도 제약 조건을 확인할 수 있고, constraint는 필드에 대한 제약 조건을 의미하고
USER_cons_columns(사용자 제약 조건), all_cons_columns(모든 제약 조건에 대한) 컬럼에 대한 제약 조건을 확인 할 수 있음
사용자가 통제할 수 없는 Data Dictionary 에 저장되어져 있음
where로 constraint에 조건을 걸어 확인할 때 컬럼이름을 대문자로 해야됨
Dictionary에 대문자로 저장되어있기 때문
테이블에 조건을 만들때 constraint를 지정하지 않아도 자동생성됨을 알 수 있음
NOT NULL 제약조건 오류
: 제약조건이 NOT NULL 이기에 값을 입력하지 않을 경우 테이블이 생성될 수 없음
무결성 제약조건 오류
UNIQUE로 설정되어있기에, 동일한 필드값을 넣으면 값이 저장되지 않음 4
모든 제약조건을보면 기본키와 참조키를 확인할 수 있음
PK 기본키, FK 외래키
alter modify 를 이용하여 제약 조건을 줄 수 있음
alter table mydept
add constraint my_dept_depton_pk PRIMARY KEY(deptno); // my~ pk 는 제약조건 이름 생성하지 않아도 됨
외래키로 참조되고 있는 데이터를 수정 할 수 없음
제약조건이 걸려있을 때 데이터 변경
제약 조건이 없을 경우 데이터를변경해도 문제가 되지 않음
check 제약 조건:
입력되는 값을 check 제약으로 설정된 값 이외에 받아드리지 않는 것
alter table my_emp
add constraint my_emp_sal ch check sal >10
alter table my_dep
add constraint my_dep deptno_ch check (depton in ('10','20','30','40'));
default 제약 조건: 값이 없을 경우 기본적으로 입력하는 조건