SQL 명령어 정리 #1

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