CREATE TABLE - 새로운 테이블을 생성하는 DDL명령어
테이블을 생성하기 전에 cmd 창을 켜야합니다.
sqlplus 를 키거나 다음화면처럼 실행해주세요!
저는 cmd창을 사용하기때문에 sqlplus 를 치고, 제가직접만든 hr 계정에 테이블을 만들기 위해 hr 비밀번호를 입력해주었습니다.
그리고 테이블을 생성해보겠습니다! 테이블을 생성하는 법은
CREATE TABLE 테이블명(컬럼명 컬럼Data Type); 입니다.
1 2 3 4 5 | create table a1( num number, id varchar2(20), name varchar2(20) ); | cs |
a1 = 테이블명
num, id, name = 컬럼명
number, varchar2(20) = 컬럼 Data Type
DESC 테이블명; - 테이블 조회
테이블을 생성하고 확인까지 하였습니다.
이번에는 테이블 안에 Data 를 넣어보겠습니다.
INSERT INTO 테이블명 VALUES('데이터','데이터',..); - 데이터 넣기
1 2 3 4 5 6 | insert into a1 values(1,'a1','aa'); insert into a1 values(1,'a2','bb'); insert into a1 values(1,'a3','cc'); insert into a1 values(2,'a4','dd'); insert into a1 values(2,'a5','ee'); insert into a1 values(2,'a6','ff'); | cs |
[set linesize 값;] 은 화면크기를 설정하는 쿼리문 입니다.
[select * from 테이블명;] 은 테이블 안의 데이터를 모두 나타내는 쿼리문 입니다.
테이블 만들기는 끝!
이제 기존 테이블과 동일한 내용과 구조를 같은 테이블을 AS절을 추가하여 만들어 보겠습니다.
CREATE TABLE 새테이블명 AS SELECT * FROM 기존테이블명;
1 | create table a2 as select * from a1; | cs |
테이블 a1과 테이블 a2의 데이터가 동일한 것을 볼수있습니다.
굳이 * 을 사용하지 않고 * 대신 원하는 컬렴명을 적으면 원하는 컬럼만 복사하여 테이블을 만들 수 있습니다.
1 | create table a3 as select id,name from a1; | cs |
또 쿼리문 뒤에 WHERE 조건절을 추가하여 원하는 조건을 제시하면 일부의 행만 복사할 수 있습니다.
1 | create table a4 as select * from a1 where num1 | cs |
WHERE 조건절에 항상 거짓인 조건을 주면 테이블 구조만 복사하는 쿼리문이 됩니다.
1 | create table a5 as select * from a1 where 1=0; | cs |
보이는 것 처럼 SELECT를 써도 데이터가 없어서 뜨지않지만 테이블 구조는 복사되어 생성되었습니다.
'DataBase' 카테고리의 다른 글
[oracle]테이블의 모든 데이터를 제거하는 TRUNCATE TABLE (0) | 2018.11.07 |
---|---|
[oracle]테이블 구조를 제거하는 DROP TABLE (0) | 2018.11.07 |
[oracle]테이블 명을 변경하는 RENAME (0) | 2018.11.07 |
[oracle]테이블 구조를 변경하는 ALTER TABLE (0) | 2018.11.07 |
[oracle]Virtual Columns(가상컬럼) (1) | 2018.11.07 |