728x90

이 글은 뉴렉쳐 오라클 데이터베이스 SQL 강의 수강하며 정리한 글입니다.

 

 

12강 데이터 조작하기 #2 (UPDATE/DELETE)

DDL: CREATE/ALTER/DROP
DML: INSERT/SELECT/UPDATE/DELETE - CRUD
DCL: GRANT/REVOKE

 

UPDATE MEMBER SET PWD=’222’;
⚠️ 2개의 행이 업데이트 됨 → 모든 PWD가 변경됨

❓ 특정 USER만 선택해서 바꾸는 법
WHERE절 사용
UPDATE MEMBER SET PWD=’111’ WHERE ID=’dragon’;

⭐ UPDATE, DELETE는 WHERE절 확인 필수 ⭐

❓ 2개 이상의 COL 변경하는 법
UPDATE MEMBER SET PWD=’111’, NAME=’손오공’ WHERE ID=’dragon’;

 

DELETE
DELETE MEMBER `WHERE` ID='tmp';

⭐ UPDATE, DELETE는 WHERE절 확인 필수 ⭐

⚠️ VALUE는 대소문자를 가리므로 삭제 시, 유의

 

 

⚠️ Oracle DB를 쓰다가 MS SQL로 변경하게 될 경우, SQL 사용법(쿼리 API)이 달라 문제가 될 수 있음

 

Driver별로 사용법이 다르므로, Oracle Driver(Oracle에 접속하기 위한 연결 도구들), MS SQL Driver에 각각 직접 접근하지 않고 JDBC로 단일화된 접근을 제공함

 

⭐ JDBC는 DBMS마다 다른 연결 도구의 차이를 조정해줌

(나라별로 다른 전압 규격에 따라 조절해주는 어뎁터 역할)

 

JDBC 사용 절차

  1. DB 드라이버 로드
  2. 연결 생성
  3. 문장 쿼리 실행
  4. 결과집합 사용

 

 

소스 코드

🔗 HJ0216/TIL/OracleSQL

728x90
728x90

이 글은 뉴렉쳐 오라클 데이터베이스 SQL 강의 수강하며 정리한 글입니다.

 

 

11강 SQL 데이터 조작하기 #1 (INSERT/SELECT)

DDL: CREATE/ALTER/DROP
DML: INSERT/SELECT/UPDATE/DELETE - CRUD
DCL: GRANT/REVOKE

1. INSERT
INSERT INTO <TABLE> VALUES <VALUE LIST>

예:
INSERT INTO MEMBER VALUES(
‘newlec’,
‘111’,
‘홍길동’,
‘남성’,
‘1995-02-29’,
‘010-2345-6789’,
‘newlec@newlexture.com’,
‘2014-05-23’
)

⚠️ TABLE의 COL(flied, 속성)을 입력하지 않으면 모든 COL에 대한 값 입력이 필수가 됨
→ 원하는 필드만, 원하는 순서대로 입력하기

INSERT INTO MEMBER(ID, PWD) VALUES(
’newlec’,
‘111’
)

INSERT INTO MEMBER(PWD, ID) VALUES(
‘111’,
’newlec’
)
❓입력되지 않은 입력값은 NULL값(≠비어있음)이 됨

SELECT * FROM MEMBER;
→ MEMBER TABLE의 모든 COL 가져오기
⚠️ SQL에서 예약어는 대소문자를 가리지 않지만, 값은 대소문자를 가림

INSERT INTO MEMBER(ID, PWD) VALUES('newlec', '111');
SELECT * FROM MEMBER; --INSERT를 통해 입력된 값 불러오기

 

 

SELECT * FROM MEMBER — 모든 COL 조회

SELECT ID, NAME, PWD FROM MEMBER, — ID, NAME, PWD COL만 조회

⚠️ 값과 달리 COL, 예약어는 대소문자를 가리지 않음

❓ APPLICATION이 먼저 만들어지고, APPLICATION이 COL NAME을 미리 정해놓음 → DB TABLE COL NAME과는 다를 때, 쿼리에서 COL_NAME을 변경해서 반환시켜줄 수 있음(테이블 수정 필요X)

 

 

 

소스 코드

🔗 HJ0216/TIL/OracleSQL

728x90
728x90

이 글은 뉴렉쳐 오라클 데이터베이스 SQL 강의 수강하며 정리한 글입니다.

 

 

10강 SQL 쿼리 연습을 테이블 준비하기

 

 

CREATE TABLE NOTICE
(
	ID        NUMBER,
	TITLE     NVARCHAR2(100),
	WRITER_ID NVARCHAR2(50),
	CONTENT   CLOB,
	REGDATE   TIMESTAMP,
	HIT       NUMBER,
	FILES     NVARCHAR2(1000)
);

 

SQL 구문 작성 후,

  1. “블럭 처리” 후 ctrl + Enter
  2. 새로고침을 통해서 table 생성 확인
CREATE TABLE "COMMENT" --예약어로 인해 사용 불가 -> ""로 감싸면 사용 가능
(
	ID        NUMBER,
	CONTNET   NVARCHAR2(2000),
	REGDATE   TIMESTAMP,
	WRITER_ID NVARCHAR2(50),
	NOTICE_ID NUMBER
);

--테이블명이 부적합합니다
--TABLE명이 부적합하거나 예약어인 경우 등
CREATE TABLE ROLE
(
	ID          VARCHAR2(50),
	DISCRIPTION NVARCHAR2(500)
);
CREATE TABLE MEMBER_ROLE
(
    MEMBER_ID NVARCHAR2(50),
    ROLE_ID VARCHAR2(50)
);

 

 

 

소스 코드

🔗 HJ0216/TIL/OracleSQL

728x90
728x90

이 글은 뉴렉쳐 오라클 데이터베이스 SQL 강의 수강하며 정리한 글입니다.

 

 

09강 테이블 수정하기(ALTER TABLE)

 

 

CREATE TABLE

CREATE TABLE MEMBER
(
    ID       VARCHAR2(50),
    PWD      NVARCHAR2(50),
    NAME     NVARCHAR2(50),
    GENDER   NCHAR(2), --NCHAR(2): 4byte, CHAR(2 CHAR): 6byte
    AGE      NUMBER(3),
    BIRTHDAY CHAR(10),
    PHONE    CHAR(13),
    REGDATE  DATE
    
);

 

 

TABLE 수정 필요

1. ID VARCHAR2(50) → NVARCHAR(50) 변경
ALTER TABLE MEMBER MODIFY ID NVARCHAR2(50);
⚠️ TABLE에 DATA가 존재할 경우 DROP시, 유실되므로 DATA가 있을때에는 ALTER 사용
⚠️ DATA TYPE 변경 시, 기존 DATA를 해치지 않는 범위 내에서만 가능
2. AGE NUMBER 삭제
ALTER TABLE MEMBER DROP COLUMN AGE;
3. EMAIL VARCHAR2(200) 추가
ALTER TABLE MEMBER ADD EMAIL VARCHAR2(200);

CREATE TABLE MEMBER
(
    ID       VARCHAR2(50),
    PWD      NVARCHAR2(50),
    NAME     NVARCHAR2(50),
    GENDER   NCHAR(2), --NCHAR(2): 4byte, CHAR(2 CHAR): 6byte
    AGE      NUMBER(3),
    BIRTHDAY CHAR(10),
    PHONE    CHAR(13),
    REGDATE  DATE
    
);

DROP TABLE MEMBER;

ALTER TABLE MEMBER MODIFY ID NVARCHAR2(50);
ALTER TABLE MEMBER DROP COLUMN AGE;
ALTER TABLE MEMBER ADD EMAIL VARCHAR2(200);

	--MEMBER TABLE에서 직접 편집 가능하여 DDL 중 ALTER을 사용하는 일이 적음

 

⚠️ SQL 대소문자 구분
명령어 대소문자 구분X, 값 대소문자 구분O

⚠️ SQL 실행 시, 범위 블럭 설정 후 ctrl + Enter

 

 

소스 코드

🔗 HJ0216/TIL/OracleSQL

728x90
728x90

이 글은 뉴렉쳐 오라클 데이터베이스 SQL 강의 수강하며 정리한 글입니다.

 

 

08강 오라클 데이터 형식 #2 (숫자,날짜 형식)

 

1. Character 형식: ‘’

 

2. Numeric 형식
`NUMBER`: 정수, 실수를 한 번에 표현 가능
예: NUMBER(4): 최대 4자로 이루어진 숫자 표현 가능
`NUMBER(6, 2)`: 소수점 2자리를 포함하는 최대 6자리의 숫자(소수점 둘째 자리에서 반올림)
`NUMBER(6, -2)`: 소수점 -2자리에서 반올림하는 최대 6자리 숫자
`NUMBER`: NUMBER(38—최대값, *)로 인식
`NUMBER(*, 5)`:  NUMBER(38, 5)로 인식

CREATE TABLE MEMBER
(
    ID       VARCHAR2(50),
    PWD      NVARCHAR2(50),
    NAME     NVARCHAR2(50),
    GENDER   NCHAR(2), --NCHAR(2): 4byte, CHAR(2 CHAR): 6byte
    AGE      NUMBER(3),
    BIRTHDAY CHAR(10),
    PHONE    CHAR(13),
    REGDATE  DATE
    
);

DROP TABLE MEMBER;

 

3. Date 형식
DATE(yyyy-mm-dd): 시작 기준 4712 BC
TIMESTAMP(yyyy-mm-dd hh:mm:ss): NLS_TIMESTAMP_FORMAT 파라미터에 명시된 값에 따름
TIMESTAMP WITH TIME ZONE: NLS_TIMESTAMP_TZ_FORMAT 파라미터에 명시된 값을 따름
TIMESTAMP WITH LOCAL TIME ZONE: NLS_TIMESTAMP_FORMAT 파라미터에 명시된 값을 따름

 

4. LOB 형식
Character Type +
(deprecated) LONG: variable-length character strings containing up to 2Gbyte-1
CLOB: 대용량 텍스트 데이터 타입(최대 4Gbyte)
NCLOB: 대용량 텍스트 유니코드 데이터 타입(최대 4Gbyte)

 

 

소스 코드

🔗 HJ0216/TIL/OracleSQL

728x90