Oracle SQL (Structured Query Language) 명령어 실습

Download Report

Transcript Oracle SQL (Structured Query Language) 명령어 실습

Oracle DB SQL
Practice
장성봉
Http://ejavaschool.com.ne.kr
SQL 과 SQL * PLUS, PL/SQL의
차이점
• SQL (Structured Query Language) – 세계적
으로 공유되고 표준화된 데이터베이스의
질의어
• PL/SQL – Oracle 사에서 독자적으로 SQL
문을 확장시켜 만든 데이베이스 프로그래
밍 언어
• SQL * PLUS – PL/SQL을 사용하기 위한
Tool
계속
• SQL 문 : 국제 표준 구조적 질의어, 명령어
끝에 반드시 ; 을 붙인다.
• SQL * PLUS 명령문 : SQL * PLUS Tool
에서 사용하는 명령문으로 명령어 끝에 ;
붙이지 않아도 되고 / 를 ; 대신 사용함.
• SQL * PLUS 명령어 종류- APPEND,
CHANGE, LIST, DEL, INPUT, SAVE, GET,
RUN, PAUSE, SHOW, CLEAR, SET
SQL * PLUS 명령어
•
•
•
•
•
•
•
SQL> L (LIST 라고 입력해도 됨)
create table list(
name varchar2(20),
age number(3),
input_date date,
phone char(20))
해설 : L 이나 LIST 라고 입력하면 현재
Buffer에 저장된 내용을 출력한다.
Test-Table 목록 확인
SQL> select * from tabs;
ORACLE Data type
1.
2.
3.
4.
5.
6.
7.
NUMBER (a, b)-숫자 DATA저장, a-최대 자릿수, b-소
수점 이하 자릿수 지정.
CHAR (size)-최대 255개의문자 숫자 저장, size- 문자
숫자 데이터 크기 지정.
VARCHAR2(size)- 4000개 문자형 데이터저장, size문자 데이터 크기 지정.
DATE- 날짜 지정, BC4712년 1월1일부터 AD 4712년
12월 31일까지 지정.
LONG- 2GB의 문자 데이터 저장, 제약사항 많아 사용
어려움, 되도록 사용하지 않는 것이 좋음.
BINARY_INTEGER-정수 저장, -2147483674~
2147483674사이의 정수 저장, 사용 안 함.
BOOLEAN- TRUE, FALSE, NULL 값 저장, 사용 안 함.
사용방법 – 주소록 만들기 실습
• 사람이름 지정 : name VARCHAR2(20)
• 나이 지정 : age NUMBER(3)-연산 필요
시 사용, age VARCHAR2(3)
• 전화번호 지정 : phone NUMBER(15)-전
화번호를 연산할 일은 없으므로 사용 안함,
phone VARCHAR2(15)
• 주소 지정: address VARCHAR2(100)
• 날짜 : inpudate DATE
Table과 Column name규칙
• 사용가능 문자 : 영문자 A~Z, $, #, _
• 사용 불가능 : 문자 사이의 공백, SQL 예약
어
• 문자크기 30자 이상 넘지 못함.
• 기타 권장 사항
- Column NAME은 이해하기 쉽고, 알기 데
이터 내용을 알 수 있게 지정하는 것이 효
율적임.
SQL명령어
• 데이터베이스 구축 - CREATE, ALTER,
DROP
• 데이터구축 - INSERT, UPDATE, DELETE
• 사용자 쿼리 – SELECT
• Ex) SELECT * FROM LIST;
Table 생성
• SQL> create table list(
• 2 name varchar2(20),
• 3 age number(3),
• 4 input_date date,
• 5 phone char(20));
• Enter
• 테이블이 생성되었습니다.
Table 목록 확인
• SQL> desc list;
• 이름
널?
유형
• -----------------------------• NAME
Y
VARCHAR2(20)
• AGE
NUMBER(3)
• INPUT_DATE
DATE
• PHONE
CHAR(20)
- 해설 : 널? 표시는 값이 null인지 아닌지 확인, 만약 Y 라는
표시가 있으면 반드시 값이 있어야 한다.
- 명령어 끝에는 항상 ; 이 붙어야 한다.
Edit 명령어 사용하기
• Edit 명령어를 사용하면 메모장이 자동으
로 열리며 명령문을 보다 쉽고 빠르게 작
성하게 해준다.
• 주의사항: 반드시 명령문을 입력한 후에
edit 명령어 사용해야.
• 메모장 작업 후 반드시 / 를 입력한다. 그
래야 명령문이 생성된다.
Edit 실습- 저장 후 닫기
Oracle*Plus 에서 반드시 / 입력해
야 저장 Table에 추가됨
추가 사항 확인
Error – 메모장에선
“;” 사용 하면 안됨
Error 내용 출력
Table에 Column 추가
• SQL> alter table list
- add(취미 varchar(30));
• 테이블이 변경되었습니다.
• 변경 사항 확인
- SQL> desc list;
Alter 명령문 사용 결과
Table 삭제하기
• SQL> drop table list;
Table 구조 변경하기
• SQL> alter table list
•
modify(변경할 컬럼 이름, 변경할
내용));
Table에 data insert
• SQL > insert into tablename (insert
column name)
Values( insert column value)):
Table 전체 불러오기
• SQL > select * from Tablename;
Table의 column 값 불러오기
• SQL > select 가져올 column name from
Table name;
Table에서 원하는 데이터만 불러오
기
• Select * from list where name=‘박동성’;
• Select name, age from list where
age=30;
• Select * from list where name like ‘박%’;
- 박으로 시작하는 모든 사람의 데이터를
불러오라.
Table data 수정하기
• Update list set address=‘신길동’,age=19
where name=‘안동복’;
- 안동복의 주소를 신길동으로 바꾸고, 나
이를 19세로 수정하라..
Table에 있는 데이터 삭제하기
• Delete list where name=‘박동성’;
- 박동성 이라는 이름을 삭제하라
Roll-Back
•
•
•
•
데이터가 insert 되기 이전 상태로 복원됨.
SQL> rollback;
하면 insert한 데이터가 사라짐.
규칙 : insert, delete, update 명령어 사용
시만 적용됨.
• Drop, create 은 적용 안됨.
Commit
•
•
•
•
데이터를 완전히 메모리에 저장하는 것.
SQL> commit;
하면 완전하게 데이터가 저장되어진다.
Commit 후에 Roll-back 해야 데이터 보존
됨.
• 데이터 insert 후 반드시 commit 해야 저
장됨..