[Oracle] SQL 명령어 정리 (1)
by Roel DowneyOracle Data Types
character 형식 : ' 작은 따옴표 (single quotation) ' 를 사용한다.
numeric 형식 : 38
data 형식 : Date '2020-02-09'
Timestamp '2020-02-09 10.38.29.00000' 시 분 초
LOB 형식 : Large Object 타입
character 형식
char(3) -- 문자 3바이트 저장하겠다.
SELECT LENGTH('A') FROM DUAL; -- 1 글자 갯수
SELECT LENGTH('하') FROM DUAL; -- 1
SELECT LENGTHB('하') FROM DUAL; -- 3 글자 사이즈
SELECT LENGTHB('A') FROM DUAL; -- 1
기본은 바이트로 저장이 되고
char(3 char) -- 3개의 문자를 저장하겠다.
char : 고정길이 : 예) 주민번호 , 장점: 빠르다. 단점: 메모리 낭비가 된다.
varchar2 : 가변길이 : 예) 주소 , 장점 : 메모리 낭비가 없다. 단점 : 느리다.
nchar : 다국어를 활용한 고정 문자
nvarchar2 : 다국어를 활용한 가변 문자
LONG : 가변길이의 문자열을 저장 , 최대 2기가 까지 , 한 테이블에 하나만 사용 할 수 있다.
CLOB : 대용량 테스트 데이터 타입 , 한 테이블에 여러개가 올수 있다. , 최대 4기가
NCLOB : 대용량 텍스트 유니코드 데이터 타입 , 최대 4기가
numeric 형식
NUMBER(4) : 최대 4자리 숫자
NUMBER(6,2) : 소수점 2자리를 포함한 최대 6자리의 숫자. (소수점 둘째 자리에서 반올림)
INSERT INTO MEMBER(AGE) VALUES(123234.36); -- 불가능 , 소수점은 반올림을 하지만 앞에 숫자는 버릴수가 없기때문에 안된다.
INSERT INTO MEMBER(AGE) VALUES(1234.36); -- 가능
INSERT INTO MEMBER(AGE) VALUES(1234.362); -- 가능
INSERT INTO MEMBER(AGE) VALUES(1234.36555); -- 가능
DATE 형식
DATE : 날짜
TIMESTAMP : 기준의 나라가 어디인가에 따라서 시간이 다르다.
주석
한 줄 주석은 : --
여러 줄 주석은 : /* */
테이블 생성하기 : create
create table 테이블이름
(
칼럼명 자료형
};
예약어를 테이블 명으로 작성하고 싶다면 큰 따옴표 (Double quotation) 를 붙여준다.
- 예 ) COMMENT 예약어를 사용하려면 create table "comment" ( );
create table member
(
ID VARCHAR2(50),
PWD VARCHAR2(50),
NAME VARCHAR2(50),
GENDER VARCHAR2(50),
AGE NUMBER,
BIRTHDAY VARCHAR2(50),
PHONE VARCHAR2(50),
REGDATE DATE
);
테이블 수정
ALTER TABLE MEMBER MODIFY ID NVARCHAR2(50);
: 테이블명이 MEMBER ID를 NVARCHAR2(50)으로 수정하겠다.
ALTER TABLE MEMBER DROP COLUMN AGE;
: 테이블명이 MEMBER 칼럼 나이를 삭제하겠다.
ALTER TABLE MEMBER ADD EMAIL VARCHAR2(1000);
: 테이블명이 MEMVER 이메일 칼럼을 VARCHAR2(1000)으로 추가하겠다.
테이블 삭제
DROP TABLE MEMBER;
데이터 삽입 : INSERT
INSERT INTO <테이블명> VALUES <값목록>
모든 필드 값을 입력하기
INSERT INTO 테이블명 VALUES(순서대로 빠짐없이 값을 적어준다);
원하는 컬럼만, 원하는 순서대로 입력하기
INSERT INTO 테이블명(컬럼,컬럼1) VALUES(컬럼값,컬럼1의값);
INSERT INTO MEMBER(ID,PWD) VALUES('ROEL',5555);
-- 삽입은 되었지만 적용은 안되었다.
-- INSERT , UPDATE , DELETE 는 COMMIT 을 해야지 적용이 된다.
COMMIT;
-- 실수로 입력을 했을때 , COMMIT 하고 싶지 않을때
ROLLBACK;
처리해주지 않아도 자동으로 COMMIT, ROLLBACK 되는 경우
-- 자동 COMMIT : CREATE , ALTER, DROP , GRANT, REVOKE
-- 자동 ROLLBACK : 비정상적인 종료, SYSTEM FAILURE
데이터 조회 : select
SELECT * FROM MEMBER;
원하는 컬럼만 원하는 순서대로 조회하기 : EX ID,NAME,PWD
SELECT ID,NAME,PWD FROM MEMBER;
원하는 컬럼을 원하는 별칭으로 조회하기
SELECT ID AS USER_ID,NAME,PWD AS PASSWORD FROM MEMBER;
원하는 컬럼을 원하는 별칭으로 조회하기 (as를 빼도 된다.)
SELECT ID USER_ID,NAME,PWD PASSWORD FROM MEMBER;
'DB' 카테고리의 다른 글
[Oracle] SQL 명령어 정리 (3) (0) | 2020.04.23 |
---|---|
[Oracle] SQL 명령어 정리 (2) (0) | 2020.04.23 |
[MySQL] 집계함수 정리 (0) | 2020.04.06 |
[DB] SQL 이론 정리 (0) | 2020.04.06 |
[SQL] H2 Database 설정 이름 삭제후 초기 상태로 되돌리기 (1) | 2020.03.24 |
블로그의 정보
What doing?
Roel Downey