데이터베이스/Oracle

[Oracle] 테이블 생성(create), 데이터 입력(Insert)

반응형

-- 한줄 주석문

/*
범위 주석문

쿼리문 : 대문자, 소문자 다 가능
보통의 경우 : SELECT * FROM (대문자)
테이블명(소문자)
*/

SELECT * FROM employees;

 

-- 자료형
Java                           Oracle
int INTEGER,                NUMBER(더 많이씀)
double                       NUMBER(숫자는 무조건)
String                        VARCHAR2(통합), CHAR, LONG(문자열)
Date                         DATE(숫자)

-- table 생성
/*
CREATE TABLE 테이블명(
컬럼명1 자료형,
컬럼명2 자료형,

)


*/

-- 문자열
-- CHAR

CREATE TABLE TB_CHAR( 
COL1 CHAR(10 BYTE),
COL2 CHAR(10 CHAR),
COL3 CHAR(10) -->자동으로 Byte
);

 

--데이터 입력(insert)
INSERT INTO 테이블명(컬럼명, 컬럼명,.....)
VALUES (값, 값, ....)

INSERT INTO tb_char(COL1, COL2, COL3)
VALUES('ABC','ABC','ABC'); --영문 한글자 : 1Byte

INSERT INTO tb_char(COL1, COL2, COL3)
VALUES('가','나','다'); --한글 한문자 : 3byte

INSERT INTO tb_char(COL1, COL2, COL3)
VALUES('가나','가나','가나');

INSERT INTO tb_char(COL1, COL2, COL3)
VALUES('가나다','가나다','가나다');

SELECT COL1, COL2, COL3, LENGTHB(COL1), LENGTHB(COL2), LENGTHB(COL3)
FROM TB_CHAR;

/*
CHAR : 10 BYTE 11111 11111
가(3BYYE) + 9 BYTE = 12 BYTE
가나(6BYTE) + 8 BYTE = 14 BYTE
가나다(9BYTE) + 7BYTE = 16 BYTE
*/

 


-- VARCHAR2

CREATE TABLE TB_VARCHAR(
COL1 VARCHAR2(10 BYTE),
COL2 VARCHAR2(10 CHAR),
COL3 VARCHAR2(10)
);
INSERT INTO tb_VARCHAR(COL1, COL2, COL3)
VALUES('ABC','ABC','ABC'); --영문 한글자 : 1Byte

INSERT INTO tb_VARCHAR(COL1, COL2, COL3)
VALUES('가','나','다'); --한글 한문자 : 3byte

INSERT INTO tb_VARCHAR(COL1, COL2, COL3)
VALUES('가나','가나','가나');

INSERT INTO tb_VARCHAR(COL1, COL2, COL3)
VALUES('가나다','가나다','가나다');

SELECT COL1, COL2, COL3, LENGTHB(COL1), LENGTHB(COL2), LENGTHB(COL3)
FROM TB_VARCHAR;

 

-- LONG
-- 문자열 자료형
-- 최대 2GB

CREATE TABLE TB_LONG( -- LONG은 테이블당 1개만 가능
	COL1 LONG
-- COL2 LONG,
);
INSERT INTO TB_LONG(COL1)
VALUES('ABCDE');

 

-- INTEGER

CREATE TABLE TB_INTEGER(
	COL1 INTEGER,
	COL2 INTEGER
);

INSERT INTO TB_INTEGER(COL1, COL2)
VALUES(123,456);

INSERT INTO TB_INTEGER(COL1, COL2) --숫자로 정상적으로 들어간다.
VALUES('123','456');

 

 

--NUMBER 정수, 실수

CREATE TABLE TB_NUMBER(
	COL1 NUMBER,	
	COL2 NUMBER(5),
	COL3 NUMBER(5,2), -- 5= 유효숫자(총 숫자) , 소수점 2째자리 까지.. 
	COL4 NUMBER(*,2)
);
INSERT INTO TB_NUMBER(COL1, COL2, COL3, COL4)
VALUES(1234.5678, 12345.12, 123.456, 1234.56789);

INSERT INTO TB_NUMBER(COL1, COL2, COL3, COL4)
VALUES(1234.5677, 12537.123, 222.456, 3234.568);

 

 

-- 날짜 DATE
-- 년, 월, 일, 시, 분, 초

CREATE TABLE TB_DATE(
	COL1 DATE,
	COL2 DATE
);

--현재날짜 SYSDATE
INSERT INTO TB_DATE(COL1,COL2)
VALUES(SYSDATE, SYSDATE -1);

-- TO_DATE('문자열','형식')
INSERT INTO TB_DATE(COL1,COL2)
VALUES(SYSDATE, TO_DATE('2021-03-15 03:43:35','YYYY-MM-DD HH:MI:SS'));
반응형