SQL(Structured Query Language)이란
데이터베이스에 저장된 데이터를 조회, 입력, 수정, 삭제하는 등의 작업을 하기위한 질의 언어
테이블 생성하기
어떤 데이터를 저장할 것인지 정한 후 테이블을 생성한다.
create table 테이블명 (컬럼명 컬럼타입);
컬럼 타입
number(n) – 수치 데이터 저장시 사용
char(n) – 고정된 크기(길이)의 글자 저장
varchar2(n) – 글자의 길이가 변동적일 때 사용
date – 날짜 저장에 사용
primary key( )
데이터 무결성 제약 조건 -> 테이블에 부적절한 데이터가 입력되는 것을 방지하기 위해 테이블 생성시 컬럼에 지정하는 것.
SQL insert 명령
테이블에 새로운 데이터를 한 건씩 추가함.
into 절에 컬럼을 명시하지 않으면 테이블을 생성할 때 정의한 컬럼 순서와 동일하게 values 값을 입력한다.
컬럼의 데이터 타입이 문자(CHAR, VARCHAR2) 또는 날짜(DATE)일 경우에는 작은 따옴표(‘ ‘)를 사용한다.
테이블 레코드 조회하기
select [ all | distinct ] 컬럼_목록
from 테이블명
[where 조건]
[group by 컬럼_목록]
[having 조건]
[order by 컬럼_목록 [asc | desc]];
update 문
저장되어 있는 데이터 값을 변경할 때 사용.
update 테이블명 set 컬럼명1=컬럼값1, 컬럼명2=컬럼값2, 컬럼명3=컬럼값3, . . .
[ where 조건]
delete문
테이블에 있는 레코드를 삭제할 때 사용한다.
--테이블 생성
create table member(
name varchar2(10),
userid varchar2(10),
pwd varchar(10),
email varchar(20),
phone char(13),
admin number(1) default 0, --0:사용자, 1: 관리자
primary key(userid)
);
-- name 컬럼의 길이 변경
alter table member modify(name varchar2(20));
--데이터 삽입
insert into member values('이순신', 'sslee', '1234', 'sslee@email.com', '010-2222-2332', 0);
insert into member values('유관순', 'ksyou', '1234', 'ksyou@email.com', '010-8847-5633', 1);
insert into member values('장보고', 'bkjang', '1234', 'bkjang@email.com', '010-5574-7868', 0);
insert into member values('이순신', 'soonsin', '1234', 'sslee@email.com', '010-2222-2332', 0);
-- 데이터 저장
commit;
--전체 테이블 데이터 불러오기
select * from member;
-- where 연산
select * from member where userid='sslee';
-- and 연산
select * from member where name='이순신' AND userid='sslee';
-- or연산
select name, userid, email from member where userid='sslee' or userid='soonsin';
--비교연산
select * from member where admin > 0;
-- 조회한 레코드의 정렬
select * from member where admin >= 0 order by userid;
-- 부정 연산자
select * from member where not (userid='sslee');
-- in 연산자
select * from member where userid in ('ksyou', 'bkjang');
-- update문
update member set phone='010-3333-5555' where userid='bkjang';
select* from member;
commit;
-- insert : 강호동, hdkang
insert into member values('강호동', 'hdkang', '0000', 'hdkang@email.com', '010-1234-5678', 1);
-- delete
delete member where name='강호동';
commit;
select * from member;