Full-Stack 개발자가 되려는 작은 개발자의 블로그
데이터베이스(Oracle) 기초1 본문
SQL(Structure Query Language)
- 구조적 질의 언어
SQL 종류
DDL(Data Definition Language) - 정의어 | CREATE | 계정, 테이블, 뷰등을 생성 |
DROP | 계정, 테이블, 뷰등을 삭제 | |
ALTER | 계정, 테이블, 뷰등을 수정 | |
DML(Data Manipulation Language) - 조작어 | INSERT | 데이터를 삽입 |
UPDATE | 데이터를 수정 | |
DELETE | 데이터를 삭제 | |
SELECT | 데이터를 검색 | |
DCL(Data Contol Language) - 제어어 | GRANT | 권한 부여 |
REVOKE | 권한 취소 |
- 사용자 계정 생성 -
CREATE USER '사용자명'
IDENTIFIED BY '비밀번호'
DEFAULT TABLESPACE USERS
TEMPORARY TABLESPACE TEMP
QUOTA UNLIMITED ON USERS;
GRANT DBA TO '사용자명';
※ TABLESPACE란? 오라클 DB가 데이터를 저장하는 논리 구조(파일) 하나 또는 여러개의 파일로 구성
- 테이블 생성(Table Creation) -
CREATE TABLE [tab_name] (
[col_name] [data_type],
: : ,
[col_name] [data_type]
); CREATE TABLE TEST1(
TEST_NUM NUMBER
);
------------------------------
CREATE TABLE TEST1(
TEST_NUM NUMBER
);
제약 조건(Constraint)
- 테이블에 부적절한 자료(데이터)가 입력되는 것을 방지하기 위해서 여러가지 규칙을 적용하는 것.
- 데이터의 무결성 유지를 위해 사용자가 지정 할 수 있는 성질
- 의미있는 이름을 부여하여 쉽게 참조 할 수 있음.
- 제약조건은 테이블 생성 시에 지정하거나, 수정(ALTER) 명령으로 추가 할 수 있음.
NOT NULL | 반드시 값을 입력해야하는 제약조건 |
UNIQUE | 중복 된 값을 입력하지 못하는 제약조건 |
CHECK | 특정 범위의 값만 입력하도록 하는 제약조건 |
DEFAULT | 입력이 없을 경우 지정 된 값을 입력하는 제약조건 |
PRIMARY KEY | 기본키를 설정하는 제약조건 |
FOREIGN KEY | 외래키를 설정하는 제약조건 |
-- not null 제약조건 : 반드시 값을 입력해야 한다는 제약조건 drop table emp3; create table emp3( -- ename VARCHAR2(20) constraint emp_nn_ename not null ename VARCHAR2(20) not null ); |
-- unique 제약조건 : 데이터의 유일성 보장 조건(중복 불가) create table dept3( --오류 발생 |
-- check 제약조건 : 데이터를 특정 범위로 제한 create table emp4( gender VARCHAR2(1) constraint emp_ck_gender check(gender in('M','F')) ); insert into emp4 values('M'); insert into emp4 values(' '); --공백은 check 조건으로 검사하지 않는다. insert into emp4 values('G'); --'M','F' 이외의 값이 들어오면 제약조건으로 인한 오류 발생 |
-- default : 값을 입력하지 않아도 지정한 값으로 입력 처리. create table membertbl( mid varchar2(20) constraint mtb_pk_mid primary key, mname varchar2(20) not null, mpass varchar2(16) not null, mgrade varchar2(10) default 'SILVER' ); insert into membertbl (mid,mname,mpass,mgrade) values('tester','정효진','1234','gold'); insert into membertbl (mid,mname,mpass) values('tester2','정효진2','1234'); |
-- 기본키 설정1 > 속성명 옆에 PRIMARY KEY CREATE TABLE TEST1( TEST_NUM NUMBER PRIMARY KEY ); |
-- 기본키 설정2 > 제약 조건으로 설정 CREATE TABLE TEST1( TEST_NUM NUMBER, CONSTRAINT TEST1_PK_TNUM PRIMARY KEY(TEST_NUM) ); |
-- 기본키 설정3 > 테이블 생성 후 ALTER 명령을 통해 제약조건 추가 CREATE TABLE TEST1( TEST_NUM NUMBER ); ALTER TABLE TEST1 ADD CONSTRAINT TEST1_PK_TNUM PRIMARY KEY(TEST_NUM); |
Oracle 데이터 타입
1. 문자타입(문자열만 처리)
- n만큼의 크기를 지정
- n은 입력하는 문자열의 길이
CHAR(n) | 고정 길이 문자열(byte 단위) |
VARCHAR2(n) | 가변 길이 문자열. 입력한 데이터에 따라 저장 공간 크기가 변경(byte 단위) |
NCHAR(n) | 고정 길이 문자열, n개의 글자만큼 저장 > 유니코드 기준(글자 단위) |
NVARCHAR2(ㅜ) | 가변 길이 문자열, n개의 글자만큼 저장 > 유니코드 기준(글자 단위) |
2. 숫자타입
NUMBER(m,n) | m - 전체 자리 수 , n - 소수의 자리수 |
3. 날짜타입
DATE | YYYY-MM-DD HH:MI:SS |
'강의 정리 > Oracle' 카테고리의 다른 글
데이터베이스(Oracle) 실습1 (0) | 2020.04.27 |
---|---|
데이터베이스(Oracle) 기초2 (0) | 2020.04.23 |
Comments