728x90
< 테이블 내용 확인>
select * from 테이블 명
< 명령어 종류 >
DML(조작) : insert, update, delete, select
DCL(제어) : grant, deny
DDL(생성) : create, alter, drop ...
<테이블 생성>
형식 : create table 테이블명(칼럼명)
자료형 : varchar2, char, number, date, timestamp, clob, blob....
< 테이블 생성 예시 #1 >
create table test(no number, name varchar2(10));
describe test;
<DB 내의 모든 테이블 이름 확인>
select * from tab;
create table test(no number primary key, -- 중복을 허용하지 않음, 동일한 자료를 입력할 수 없음
name varchar2(10) not null, tel varchar2(15),
inwon number(3), addr varchar2(30));
< 자료 추가 하기 >
-- insert into 테이블명\칼럼명\,...) values(입력자료)...
< 자료 추가 예시 >
insert into test(no,name,tel,inwon,addr) values(1,'인사과','111-1111',5,'강남구 역삼동');
< 자료 수정 >
< update 테이블명 set 칼럼명=수정값,... where 조건 >
< 자료 수정 예시 >
update test set inwon=12 where no=1;
update test set tel='777-7777', inwon=22 where no=3;
update test set inwon=null where no=3;
update test set inwon='' where no=3;
< 자료 삭제 >
delete from 테이블명 where 조건
< 자료 삭제 예시 >
delete from test where no=2; -- 만일 where 을 입력하지 않으면 구조를 제외한 모든 레코드 폭파
< 테이블의 모든 행을 삭제 >
truncate table 테이블명 : 모든 행을 폭파(취소 불가)
< 커밋(커밋해줘야만 제대로 연동됨) >
commit;
< 무결성 제약 조건 >
무결성(constraint) 제약 조건 : 잘못된 자료의 입력을 막고자 제약조건 부여
domain 제약조건 : 구조 작성시 칼럼의 이름, 성격, 크기, null 허용 여부
기본키(primary key)
사용자 정의 제약조건 : check, unique, foreign key
< 기본키(PK) 제약조건 >
방법1) 칼럼 레벨
create table aa(bun number primary key, irun char(10));
select constraint_type, constraint_name from user_constraints where table_name ='AA';
방법2) 제약조건 이름 부여
create table aa(bun number constraint aa_bun primary key, irum char(10));
방법3) 테이블 레벨
create table aa2(bun number, irum char(10), constraint aa_bun primary key(bun));
< 제약조건 추가 및 제거 >
추가 : alter table 테이블명 add contraint 제약조건명 제약조건명
제거 : alter table 테이블명 drop contraint 제약조건명 제약조건명
<제약 조건 검사(입력되는 자료의 칼럼값 검사) >
create table aa(bun number, irum char(10), nai number(2) check(nai >=20));
insert into aa values(1,'tom',25);
insert into aa values(2,'tom2', 25);
< unique : 특정 칼럼에 대해 동일한 값 >
create table aa(bun number, irum char(10) unique);
insert into aa values(1,'tom');
insert into aa values(2,'tom');
drop table aa;
< 외부키(참조키,Foreign key, FK) // 엑셀 값 참조하는 느낌으로 생각하자 >
on delete cascade : 부모 테이블의 행이 삭제되면 자식도 함께 삭제
create table jikwon(bun number primary key, irum varchar2(10), buser char(10));
insert into jikwon values(1,'한송이','인사과');
insert into jikwon values(2,'박치기','영업과');
insert into jikwon values(3,'한가혜','총무과');
insert into jikwon values(4,'한송이','총무과');
create table gajok(code number primary key, name varchar2(10), birth date, jikwon_bun number references jikwon(bun));
insert into gajok values(100, '공기밥', '2000-01-12', 1);
insert into gajok values(101, '김밥', sysdate, 2);
delete from jikwon where bun = 1; -- 불가
delete from jikwon where bun = 4; -- 가능
< default : 특정 칼럼에 초기값 부여 >
create table aa(bun number, irum varchar2(10), juso varchar2(20) default '강남구 역삼동');
insert into aa values(1, '강남루', '강남구 신사동');
insert into aa(bun, irum) values(2, '박치기');
본 포스팅은 IT 교육기관인 KIC 캠퍼스의 지원을 받은 리포트입니다.
본문은 '남궁성, JAVA의 정석 3rd Edition' 교재를 공부하면서 주요 내용을 요약하고 있습니다.
혹시 잘못되거나 문제 소지시 댓글 남겨주시면 조치하겠습니다.
728x90
'DATA' 카테고리의 다른 글
SQL subquery 연습문제 풀이 (0) | 2018.01.17 |
---|---|
SQL union, merge, subquery 명령어 요약 (0) | 2018.01.16 |
SQL join 명령어 요약 (0) | 2018.01.16 |
SQL select 명령어 및 내장함수 예제 (0) | 2018.01.15 |
SQL select 명령어 및 데이터 정렬 예제 (0) | 2018.01.12 |
SQL 시퀀스 명령어 요약 (0) | 2018.01.11 |