SQLPlus cli 기반 OracleDB 관리 프로그램
SQLDeveloper gui 기반 OracleDB 관리 프로그램 (CTRL+ENTER 블록된 명령어 실행)
오브젝트로 이루어진 데이터베이스 구조 -> SCHEMA
테이블 내의 다루고자 하는 개념상의 데이터 -> ENTITY
SQLPlus SQL 몇개
sqlplus sys as sysdba
password 접속
select name from v$pdbs;
가상db 확인
EXEC DBMS_XDB.SETLISTENERLOCALACCESS(FALSE);
리스너 로컬 접속만 가능 해제 -> 원격 접속 활성화
다른 컴퓨터에서 접속시 host : 부분에 공인ip
(안되면 DB서버 컴퓨터 방화벽에 oracleDB에서 사용하려고 설정한 port 번호 열어주고
공유기 쓰면 공유기 설정에서도 열어줘야함)
DBMS 명령어
DDL
CREATE ALTER DROP
DML
INSERT SELECT UPDATE DELETE
DCL
GRANT REVOKE
Data Types
Character 'abcd', 'A', '148'
Numeric 38, 3.85, 3.85F, 137
Date '2013-02-09'
LOB '2019-06-03 10.38.29.00000'
Character Type
CHAR [(size [BYTE | CHAR])] CHAR(3) 고정길이 3바이트 할당. size 1당 1바이트.
VCHAR2 (size [BYTE | CHAR]) VARCHAR2(3) 가변길이 3바이트.
NCHAR [(size)] NCHAR(2) 16비트 UTF 인코딩 테이블 사용. size 1당 2바이트. 외국어 2글자.
NVARCHAR2 (size)
CLOB 대용량 텍스트 데이터 타입(최대 4G)
NCLOB 대용량 텍스트 유니코드 데이터 타입(최대 4G)
MAX SIZE : STANDARD 4000bytes, EXTENDED 32767 bytes
Numeric Type
NUMBER[(p[,s])]
NUMBER(4)
NUMBER(6,2) 소수점 2자리를 포함한 최대6자리
NUMBER(6,-2) 소수점 -2자리에서 반올림하는 최대6자리
NUMBER NUMBER(38,*)
NUMBER(*,5) NUMBER(38,5)
Date Type
DATE 4712 BC~9999 AD (EX:01-JAN-99) BC4712년을 시작으로 시간을 카운트
TIMESTAMP NLS_TIMESTAMP_FORMAT 파라미터에 명시된 값을 따름
TIMESTAMP WITH TIME ZONE NLS_TIMESTAMP_TZ_FORMAT 파라미터에 명시된 값을 따름
TIMESTAMP WITH LOCAL TIME ZONE NLS_TIMESTAMP_FORMAT 파라미터에 명시된 값을 따름
테이블 구성 예)
CREATE TABLE NOTICE
(
ID NUMBER,
TITLE NVARCHAR2(100),
WRITER_ID NVARCHAR2(50),
CONTENT CLOB,
REGDATE TIMESTAMP,
HIT NUMBER,
FILES NVARCHAR2(1000)
);
명령어 사용 예)
(명령어는 대소문자를 가리지 않음)
(예약어 또는 공백을 사용하고 싶다면 큰따옴표로 감싸준다. 큰 따옴표 감쌀 시 대소문자 가림)
DDL
CREATE TABLE 생성할테이블이름;
DROP TABLE 삭제할테이블이름;
ALTER TABLE 테이블이름 MODIFY 속성명 수정할데이터타입;
ALTER TABLE 테이블이름 DROP COLUMN 삭제할속성명;
ALTER TABLE 테이블이름 ADD 추가할속성명 데이터타입;
DML
INSERT INTO 테이블이름 (속성명1, 속성명2) VALUES('넣을값1', '넣을값2');
-지정하지 않을 시 NULL값 입력. 값은 대소문자 가림.
SELECT * FROM 확인할테이블이름;
SELECT 속성명 바꿀속성명, 속성명2 FROM 확인할테이블이름;
-애플리케이션과 DB의 속성명이 다를 시 쿼리문 작성할 때 속성명을 변경해서 애플리케이션에 제공
SELECT * FROM NLS_DATABASE_PARAMETERS;
-환경설정 확인
SELECT LENGTH('한글') FROM DUAL;
-문자 갯수 확인
SELECT LENGTHB('한글') FROM DUAL;
-문자 바이트 확인
UPDATE 테이블이름 SET 속성명1='바꿀값1', 속성명2,='바꿀값2' WHERE 속성명='찾을값';
-테이블 내 모든 속성값을 바꿀게 아니라면 UPDATE 사용 시 반드시 조건절 WHERE을 사용해야한다.
DELETE 테이블이름 WHERE 속성명='삭제할값';
-테이블 내 모든 속성값을 삭제할게 아니라면 반드시 조건절 WHERE을 사용해야한다.
-삭제할 값이 속한 COLUMN을 삭제한다.
'Development > DB' 카테고리의 다른 글
Oracle DB #5 (0) | 2022.08.09 |
---|---|
Oracle DB #4 (0) | 2022.08.09 |
Oracle DB #3 (0) | 2022.08.08 |
MongoDb Cloud / python (0) | 2022.08.07 |
Oracle DB #2 (0) | 2022.08.07 |