ORACLE DATABASE SYSTEM GUI Enterprise Manager SQL SQLPlus
ORACLE DATABASE SYSTEM 관리 도구 £ 설치된 오라클에 접속 방법 Ø GUI 기반의 Enterprise Manager Ø SQL 기반의 SQL*Plus
ORACLE DATABASE SYSTEM SQL*Plus £ SQL*Plus 로그인
ORACLE DATABASE SYSTEM SQL*Plus £ 텍스트 창을 통해 SQL문을 실행
ORACLE DATABASE SYSTEM 테이블 형태
ORACLE DATABASE SYSTEM 테이블 생성(2) Ø 테이블 생성하기 ü CREATE TABLE 문으로 생성 CREATE TABLE [schema. ]table_name ( column datatype [DEFAULT expr] [column_constraint_1], . . . column datatype [DEFAULT expr] [column_constraint_N] ) [PCTFREE int] [PCTUSED int] [INITRANS int] [MAXTRANS int] [TABLESPACE tablespace] [s. STORAGE stroage_절] [CLUSTER cluster(column, . . . , )] [ENABLE enable_절] [DISABLE disable_절] [AS subquery] ;
ORACLE DATABASE SYSTEM 테이블 생성 – 제약조건(5) ü CHECK 조건 § 컬럼의 값을 특정 범위로 제한하고자 할 때 사용 SQL> ALTER TABLE emp ADD CONSTRAINT emp_ck_comm CHECK (comm >= 10 AND comm <= 100000) ; SQL> ALTER TABLE emp ADD CONSTRAINT emp_ck_comm CHECK ( deptno IN (10, 20, 30, 40) ) ;
ORACLE DATABASE SYSTEM 테이블 생성 – 제약조건(8) SELECT constraint_name, constraint_type from user_constraints;
ORACLE DATABASE SYSTEM 데이터 타입
ORACLE DATABASE SYSTEM CHAR 사용예 SQL> CREATE TABLE student (name char(10) ); SQL> INSERT INTO student VALUES ('aa'); SQL> INSERT INTO student VALUES ('aaaa'); SQL> SELECT * FROM student WHERE name='aa '; NAME --------aa aa name의 타입이 CHAR(10)이기 때문에 조건문의 ‘aa ‘ 뒤에 공백이 추가로 채워져 10 bytes 길이를 맞추게 된다. 따라서 aa + 공백 8개로 저장되어 있는 두 행이 모두 선택되는 것이다.
ORACLE DATABASE SYSTEM 테이블 생성 예(1) CREATE TABLE student ( id number(5) name varchar 2(50) address varchar 2(50) birthday date year number(1) department_id number(3) ) CREATE TABLE department ( id number(3) name varchar 2(50) phone char(14) fax char(14) ) PRIMARY KEY , NOT NULL , , , DEFAULT 1 NOT NULL, NOT NULL PRIMARY KEY , NOT NULL ,
ORACLE DATABASE SYSTEM 테이블 생성 예(2) create table person( id number(3) not null, name varchar 2(15), age number(3), sex char(2), interest varchar 2(15), salary number(8)); CREATE TABLE EMP ( emp_no SMALLINT NOT NULL, emp_name CHAR(20) CONSTRAINT emp_name_nn NOT NULL, salary INTEGER CONSTRAINT emp_salary_nn NOT NULL, PRIMARY KEY ( emp_no ), CONSTRAINT emp_salary_min CHECK (salary > 0) ); desc 테이블명; select * from tab; SELECT table_name FROM USER_TABLES ;
ORACLE DATABASE SYSTEM 테이블 수정 ALTER TABLE [schema. ]table_name ADD ( column_name datatype [DEFAULT expression] [column_constraint] [, . . . ]); ALTER TABLE [schema. ]table_name MODIFY ( column_name datatype [DEFAULT expression] [column_constraint] [, . . . ]); ALTER TABLE [schema. ]table_name DROP COLUMN column_name; ALTER TABLE [schema. ]table_name RENAME COLUMN old_column_name TO new_column_name; 열 추가 열 수정 열 삭제 속성명 변경
ORACLE DATABASE SYSTEM 테이블 수정(열 추가) £ ADD라는 키워드를 사용 £ 예) Ø email이라는 열을 student 테이블에 추가 ALTER TABLE student ADD email varchar 2(30) NOT NULL
ORACLE DATABASE SYSTEM 테이블 수정(열 수정) £ MODIFY란 키워드를 사용 £ 예) Ø student 테이블의 email 열의 데이타 타입과 속성을 수정 ALTER TABLE student MODIFY email char(50) NULL
ORACLE DATABASE SYSTEM 테이블 수정(열 삭제) £ DROP COLUMN이란 구문을 사용 £ 예) Ø email 열을 student 테이블에서 삭제 ALTER TABLE student DROP COLUMN email
ORACLE DATABASE SYSTEM 실습-2 £ 테이블 생성 SQL> CREATE TABLE 대리점 ( 2 상품번호 NUMBER NOT NULL, 3 상품이름 CHAR(30), 4 상품개수 NUMBER, 5 박스번호 NUMBER NOT NULL); £ 확인 SQL> DESC 대리점; £ 데이터 입력 SQL> SQL> INSERT INSERT INTO INTO 대리점 대리점 대리점 VALUES (1, 'TV', 5, 3); VALUES (2, '냉장고', 2, 2); VALUES (8, '비디오', 2, 5); VALUES (9, '세탁기', 3, 5); values (5, '카메라', 10, 1);
ORACLE DATABASE SYSTEM 실습-4 £ 테이블 생성 SQL> CREATE TABLE 부서 ( 2 부서번호 NUMBER NOT NULL, 3 부서명 CHAR(10), 4 사번 NUMBER, 5 사원명 CHAR(10) NOT NULL); £ 확인 SQL> DESC 사원; £ 데이터 입력 10개 이상의 데이터 삽입
- Slides: 67