요약 |
테이블 생성 명령어 정의 데이터 베이스의 구조를 정의한다. |
테이블 종류 데이터 딕셔너리,사용자 정의 테이블 |
열의 성질 varchar,char,number |
데이터 넣기 insert into 테이블명(열 이름 ..) |
|
|
------------------------------------------------------------------------------------------------------------------------------------ |
------------------------------------------------------------------------------------------------------------------------------------ |
|
|
|
테이블 생성 명령어란? |
=데이터 베이스의 구조를 정의한다. |
DDL(DATA definition language) |
:create |
------------------------------------------------------------------------------------------------------------------------------------ |
테이블의 종류? |
1. 데이터 딕셔너리 <-orcl을 설치하면 존재함 |
2. 사용자 정의 테이블 <- |
|
테이블 생성 명령어 |
create table table명 |
(column명 column성질 ..) |
ex) |
1 CREATE TABLE EMP1 |
2 (EMPNO NUMBER(4), |
3 ename varchar2(20), |
4 SAL NUMBER(7,2), |
5* HIREDATE DATE) <TABLE의 열들 |
|
테이블이 생성되었습니다. |
------------------------------------------------------------------------------------------------------------------------------------ |
테이블을 구성하는 열의 성질 |
|
number(4)의 의미 |
4자리 숫자 저장가능하다. |
|
NUMBER(4,2) |
4자리 숫자중 소수점 둘째자리까지 표현할 수 있다. |
CREATE TABLE COPY_EMP |
EMPNO NUMBER(38) 1234 <- 38개까지 들어간다 39개부터는 에러가 난다. |
|
varchar의 종류 |
varchar2 <-가변형 문자 타입 |
varchar |
char <-고정 문자 타입 |
|
ex varchar2(8) -> 8칸이 주어지는데 만약 a,b,c를 넣으면 3칸을 채우고 5칸을 지운다. |
char (8) -> 8칸이 주어지는데 만약 a,b,c를 넣으면 3칸을 채우고 5칸은 비워둔다. |
|
*varchar2와 char 비교 |
varchar2는 필요한 공간만 두고 없애서 공간을 줄이는데 |
char는 채워지는 것과는 상관없이 주어진 공간을 그대로 두어 공간을 차지한다. |
|
varchar2의 사용은 공간을 효율적으로 쓸 수 있는데 왜 char이 필요한가? |
varchar2는 공간효율적인 측면에서 좋지만 읽어들이는 속도는 떨어진다. |
왜냐하면 2글자를 읽을지 3글자를 읽을지 판단을 하고 나서 읽어야 하기 때문이다. |
|
반면에 char는 공간효율적인면에선 떨어지지만 읽어들이는 속도는 좀더 빠르다. |
왜냐하면 8글자 고정이라 판단할 필요없이 8칸을 일률적으로 읽어 들이기 때문이다. |
|
ex) |
member라는 테이블을 만들고 싶다면 |
구성요소 |
1.name 2.번호 3. 주민번호 4.핸드폰번호 5.집주소 |
|
주민번호에 대해서 |
입력을 숫자 or 문자로 해야하는지에 대해서 |
|
주민번호는 단순한 숫자조합이 아닌 각각의 의미 조합이다. |
|
주민번호의 구성 |
|
생년월일 - 1 동사무소 |
|
숫자로 입력하게 되면 000101-1231232 로 하게되면 읽어올때 앞의 0이 사라져 101부터 읽게 된다. |
그렇게 되면 데이터를 읽어올때 앞에 000을 채우고 읽게되어 연산이 느려지게 된다. <-자료형을 어떻게 할지 정하는 것에 대한 중요성 어필 |
|
때문에 생년 월일은 문자로 구성해야 한다. |
|
문자 형식에 대해서는 char를 쓰는 것이 좋다. |
왜냐하면 누구나 같은 자릿수를 가지기 때문이다 . |
|
|
주소에 대해서 |
varchar2를 써야한다. 주소는 들쭉날쭉하기 때문이다. |
|
*짜고싶은 요소의 성질을 잘 파악해서 어떤 도구를 설정할지 결정해야 한다. |
|
--------------------------------------------------------------------------------------------------------- |
만든 테이블에 데이터 넣기 |
insert into 테이블명(구성하는 열 ..) |
insert into copy_emp(empno,ename,job....) <-순서대로 값을 넣을 자신이 없으면 열을 나열하고 values에 값을 넣으면 순서대로 들어간다. |
values (7984,'MILLER','CLERK',7782,SYSDATE,1300,10); |
|
*AUTOCOMMIT 되는 경우 정상종료 ,DDL,DCL |