CREATE TABLE 테이블이름(
열이름 데이터타입 [DEFAULT 값] [NOT NULL]
{,열이름 데이터 타입 [DEFAULT 값] [NOT NULL]}*
[PRIMARY KEY (열 리스트).]
{[FOREIGN KEY(열 리스트) REFERENCES 테이블이름 [(열이름)]
[ON DELETE 옵션]
[ON UPDATE 옵션]],}*
[CHECK (조건식) | UNIQUE(열이름) ]);
SQL> CREATE TABLE userTBL -- 회원테이블
2 ( userID CHAR(8) NOT NULL PRIMARY KEY, --사용자 아이디(PK)
3 userName nvarchar2(10) not null, --사용자 이름
4 birtYear number(4) not null, --출생 연도
5 addr nchar(2) not null, --지역(경기, 서울, 경남 식으록 2글자만 입력)
6 mobile1 CHAR(3), --휴대폰의 국번(010, 011, 016, 017, 018, 019 등)
7 mobile2 CHAR(8), --휴대폰의 나머지 전화번호(- 제외)
8 height number(3), --키
9 mDate DATE --회원 가입일
10 );
SQL> CREATE TABLE buyTBL -- 회원구매테이블
2 ( idNum number(8) NOT NULL PRIMARY KEY, --순번(pk)
3 userID char(8) not null, --사용자아이디
4 prodName nchar(6) not null, --물품 명
5 groupName nchar(4), --분류
6 price number(8) not null, -- 단가
7 amount number(3) not null, -- 수량
8 FOREIGN KEY (userID) REFERENCES userTBL(userID)
9 -- 외래 키 설정하여 buyTBL의 userID를 userTBL(userID)를 참고하여 연결
10 );
CREATE TABLE 테이블이름 AS SELECT 문;
-- 테이블의 전체 내용을 복사
SQL> CREATE TABLE buyTBL2 AS (SELECT * FROM buyTBL);
-- 테이블 중에 특정 COLUMN만 복사
SQL> CREATE TABLE buyTBL3 AS (SELECT userID, prodName FROM buyTBL);
ALTER를 이용하여 테이블 구조를 변경하는 문법은 다음과 같다!
ALTER TABLE 테이블이름 ADD 열이름 데이터타입 [DEFAULT 값]
SQL> ALTER TABLE buyTBL3 ADD amount varchar2(3) null;
ALTER TABLE 테이블이름 MODIFY 열이름 데이터타입 [DEFAULT 값];
SQL> ALTER TABLE buyTBL3 MODIFY amount number(3);
ALTER TABLE 테이블이름 DROP COLUMN 열이름;
SQL> ALTER TABLE buyTBL3 DROP COLUMN amount;
DROP TABLE, TRUNCATE TABLE, RENAME TABLE 명령문을 사용하여 테이블을 삭제, 절단, 이름 변경을 할 수 있다, 테이블 및 테이블 내용을 삭제하기 위한 명령어의 사용 문법은 다음과 같다!
DROP TABLE 테이블이름;
SQL> DROP TABLE buyTBL;
TRUNCATE TABLE 테이블이름;
SQL> TRUNCATE TABLE buyTBL3;
RENAME 이전테이블이름 TO 새로운테이블이름
SQL> RENAME buyTBL3 TO shopTBL;
ATER TABLE 이전테이블이름 RENAME TO 새로운테이블이름
SQL> ALTER TABLE shopTBL RENAME TO buyTBL3;
userID CHAR(8) NOT NULL PRIMARY KEY,
FOREIGN KEY (userID) REFERENCES userTBL(userID)
userID VARCHAR(10) UNIQUE NOT NULL,
userID VARCHAR(10) UNIQUE NOT NULL,
CONSTRAINT emp_ch_gno CHECK(LENGTH(gno)=13),
CONSTRAINT emp_ch_sex CHECK(sex IN('남', '여'))
CREATE TABLE 내부에 제약 조건을 명시하는 형태로 사용
ARTER를 통해 테이블 제약 조건 변경 가능
SQL은 DDL, DML 및 DCL과 같은 유형의 작업을 통해 데이터베이스 안에 그릇을 만들고
그 안에 데이터를 담거나 꺼내어 사용하는 도구다
사용하는 제품마다 다를 수 있다
관계형 데이터베이스, 정보를 격자 형태의 테이블로 저장하고
테이블의 관계를 이용해 정보를 활용하는 데이터 베이스
SQL> CREATE TABLE '주문테이블' (
2 '주문번호' VARCHAR(16) NOT NULL,
3 '고객번호' VARCHAR(16) NOT NULL,
4 '주문일' VARCHAR(8) NOT NULL,
5 '주문가격' DECIMAL(15,2) NOT NULL,
6 '배송도시' VARCHAR(256),
7 '배송완료일' VARCHAR(8),
8 '결제금액' VARCHAR(8),
9 '할인금액' DECIMAL(15,2) NOT NULL,
10 '적립포인트' DECIMAL(15,2) NOT NULL,
11 PRIMARY KEY('주문번호')
12 );
CREATE TABLE 신규테이블 AS (SELECT * FROM 기존테이블);
SQL> CREATE TABLE '주문테이블2' AS (SELECT * FROM '주문테이블');
SQL> SELECT * FROM '주문테이블';
SHOW TABLES;
SQL> ALTER TABLE '주문테이블' CHANGE '배송도시' '배송도시코드' INT;
// 맨 뒤에 추가
ALTER TABLE '테이블명' ADD '새컬럼명' 자료형;
// 맨 앞에 추가
ALTER TABLE '테이블명' ADD '새컬럼명' 자료형 FIRST;
// 지정 컬럼 뒤 추가
ALTER TABLE '테이블명' ADD '새컬럼명' 자료형 AFTER '앞컬럼명';
SQL> ALTER TABLE '주문테이블' ADD FOREIGN KEY ('배송소디코드') REFERENCES '도시코드테이블'(code);
SQL> ALTER TABLE '주문테이블' DROP FOREIGN KEY[제약조건 이름];
ALTER TABLE 테이블이름 ADD [CONSTRAINT 제약조건이름] 제약조건(열이름);
ALTER TABLE 테이블이름 CONSTRAINT 제약조건이름
| 테이블이름 PRIMARY KEY
| FOREIGN KEY(열이름)
| UNIQUE(열이름)
ALTER TABLE 테이블이름 DISABLE CONSTRAINT 제약조건이름
ALTER TABLE 테이블이름 ENABLE CONSTRAINT 제약조건이름
-- 스키마 생성
-- USER SQL
ALTER USER "Shop"
DEFAULT TABLESPACE "USERS"
TEMPORARY TABLESPACE "TEMP"
ACCOUNT UNLOCK ;
-- QUOTAS
ALTER USER "Shop" QUOTA 10240K ON "USERS";
-- ROLES
ALTER USER "Shop" DEFAULT ROLE "CONNECT","RESOURCE";
-- SYSTEM PRIVILEGES
-- 유저 생성(command line)
SQL> create user shop identified by 1234;
-- 권한주기(grant)
-- 세션을 만들 권한을 주겠다(접속 권한)
SQL> grant create session to shop;
-- 테이블 생성 권한
SQL> grant create table to shop;
-- system user create table
SQL> connect system
Enter password:
Connected.
SQL> create table third_tbl (
2 name1 varchar2(20 byte) not null,
3 num1 number(10) not null);
-- connect는 연결, dba 데이터베이스 권한, resource는 장소
SQL> grant connect, dba, resource to shop;
-- shop, create table Member
SQL> create table MEMBER(
2 memberID varchar(8) not null,
3 memberName nchar(5) not null,
4 memberAddress nvarchar2(20) null );
-- shop, product
SQL> create table PRODUCT (
2 productName nchar(4) not null,
3 cost number(7) not null,
4 makeDate date null,
5 company nchar(5) null,
6 amount number(3) not null);
This viewpoint throws new wordle junior insight on the subject and invites further investigation and discussion. convertidor mp3