본문 바로가기

DBMS/Oracle SQL22

0229 등급번호 등급이름 유저번호 유저아이디 등급번호 1 VVIP 1 A 1 2 VIP 2 B 2 3 NORMAL NULL NULL NULL LEFT OUTER JOIN - 우선 조인을 기준으로 왼쪽 테이블의 정보를 전부 가져온 후 온 조건과 일 ---------------------------------- 1. TO_CHAR() : 소괄호 안에 들어온 값을 문자열 타입으로 변환해준다. 날짜 형식을 변경할 때 유용하다. EX) TO_CHAR(SYSDATE, 'YYYY-MM-DD'); T0_CHAR(SYSDATE, 'YYYY년 MM월 DD일'); 2. TO_NUMBER() : 소괄호 안에 들어온 값을 NUMBER 타입으로 변환 3. TO_DATE() : 소괄호 안에 들어온 값을 DATE타입으로 변환 CHAR(10.. 2024. 2. 29.
계정만들기 1. CMD 에러나면 추방됨 디비 접근 권한 줌 (GRANT CREATE SESSION TO 계정명) 계정에 DB를 접근할 수 있는 권한 부여 HR 계정을 조회할수 있는 권한 주기 HR계정에서 TEST계정에게 EMPLOYEES 테이블을 UPDATE DELETE INSERT 할 수 있는 권한 부여 테이블 접근 권한 부여 -- 계정 권한 부여 GRANT SELECT, UPDATE, DELETE, INSERT ON EMPLOYEES -- 테이블 TO TEST; --계정명에게 권한 부여 TO -- 계정 권한 회수 REVOKE UPDATE, DELETE, INSERT ON EMPLOYEES FROM TEST; -- TEST으로 부터 FROM 계정 삭제 DROP USER삭제학 계정명 오류남 2024. 2. 29.
ON DELETE CASCADE 4. ON DELETE CASCADE - FK를 설정할 때 사용할 수 있는 옵션 - ON DELETE CASCADE를 걸어준 FK는 부모테이블의 데이터가 삭제되면 그 데이터를 참조하고 있는 자식 데이터도 자동으로 삭제된다. 3. NVL(), NVL2() 함수 - () 소괄호 있으므로 함수임. - SELECT에서 사용 - 조회할 때 NULL값을 다른 값으로 변경하여 조회할 수 있다. - 데이터를 수정하는 것이 아닌 조회할 때 값만 변경한다. - 1. NVL(컬럼명, 값) : NULL값 대신 지정한 값으로 변경하여 조회한다. - 2. NVL2(컬럼명, NULL이 아닐 때의 값, NULL일때의 값) : NULL이 아닐때의 값을 각각 설정할 수 있다. 2024. 2. 27.
TCL (TRANSACTION CONTROL LANGUAGE) : TCL 트랜잭션 - 작업단위 - 여러 개의 SQL문 묶음 트랜잭션 제어어 - COMMIT : 모든 작업을 확정하는 명령어 - ROLLBACK : 모든 작업을 취소하고 이전 커밋 시점으로 되돌리는 명령어 AUTO 커밋 자동 - 실수하면 롤백 불가 ** 롤백은 가장 최근 커밋시점으로만 돌아갈 수 있다. [1] 커밋 [2] 커밋 [3:현재] 2로만 이동가능 1로 불가 트랜잭션 명령어는 DML에만 적용된다. TRUNCATE와 DELETE 차이 - 둘 다 테이블에 있는 모든 데이터 삭제 명령어이다. 차이점 TRUNCATE :DDL(롤백불가 DELETE: DML (롤백 가능) - 정규화 데이터의 삽입/수정/삭제의 이상현상을 제거하기 위한 작업 데이터의 중복을 최소화하는데 목적이 있다. 6차 정규화까지 있으나 보통 .. 2024. 2. 26.
오라클 SEQUENCE 사용법 (규칙성) 1. 시퀀스 (SEQUENCE) - 오라클에서 중복되지 않는 값을 자동으로 순차적이게 생성하는 것 - 보통 PK 값에 중복 값을 방지하기 위해 사용된다. 2. 시퀀스 생성 및 삭제 CREATE SEQUENCE 시퀀스명; DROP SEQUENCE 시퀀스명; 2. 시퀀스 사용 INSERT INTO TBL_BOOK VALUES(SEQ_BOOK.NEXTVAL , '셜록', '추리', NULL); 시퀀스명 : SEQ_BOOK 3. 시퀀스 옵션 - START WITH 시작값 : 시퀀스의 시작값을 설정 -- 시퀀스 시작값 100으로 설정 CREATE SEQUENCE SEQ_TEST START WITH 100; - INCREMENT BY 증가값 : 시퀀스의 증가값을 설정 -- 시퀀스 숫자 5씩 증가 CREATE SEQ.. 2024. 2. 26.
외부 데이터(sql파일) 삽입 외부 데이터 삽입 - 남들이 만들어 놓은 쿼리를 가져와서 사용하는 방법 1. 폴더 압축해체 2. 관리자cmd 3. hr 로그인 // sql 계정과 비밀번ㅅ호 입력 4. @ sql 파일들 하나하나씩 드래그 +엔터 - 경로에 한글이나 띄어쓰기 있으면 오류날 확률 높음 -> 최대한 영어로 파일 만들어라 5. 한꺼번에 하면안되나?? 2024. 2. 26.
SQL 문법 종류 DML DDL DCL TCL 1. CRUD - 기본적인 데이터 처리 기능 CREATE: 생성 READ : 읽기, 조회 UPDATE:수정 DELETE: 삭제 2. SQL(쿼리문)의 종류 1. DML (Data Manipulation Langauge) : 데이터 조작어 - 데이터를 조작하는 쿼리문 DML (Data Manipulation Langauge) : 데이터 조작어 1. DML (Data Manipulation Langauge) : 데이터 조작어 - 데이터를 조작하는 쿼리문 2. DML 종류 1. SELECT 2. INSERT 3. UPDATE 4. DELETE 5. MERGE 6. CALL 2-1. SELECT : 데이터 조회 SELECT [DISTICT] 칼럼명 [AS 별칭] 칼럼명 [AS 별 ddah0329.tistory.. 2024. 2. 24.
DBMS 논리 연산자 AND OR NOT 1. 연산자 (Operator) - 예시) 데이터를 조회할 때 SALARY에서 1,000원씩 빼서 조회하겠다 할 때 사용 연산자 종류 : 1. 연결 연산자 2. 산술 연산자 3. 관계 연산자 4. SQL 연산자 5. 논리 연산자 2. 논리 연산자 - [ AND ] [ OR ] [ NOT ] - 피연산자 자리에 조건이 온다. - 여러 개의 조건을 연결하거나, 조건의 결과를 반전시킬 때 사용한다. 1. AND - [ a 조건식 AND b 조건식 ] - a 조건과 b 조건을 전부 만족하는 행만 조회 2. OR - [ a 조건식 OR b 조건식 ] - a 조건과 b 조건 둘 중 하나만 만족하는 행을 조회 3. NOT - [ NOT a 조건식 ] - a 조건을 만족하지 않는 행만 조회 3. 논리 연산자 사용 방.. 2024. 2. 23.
DBMS SQL 연산자 BETWEEN, IN, ANY, ALL 등등 1. 연산자 (Operator) - 예시) 데이터를 조회할 때 SALARY에서 1,000원씩 빼서 조회하겠다 할 때 사용 연산자 종류 : 1. 연결 연산자 2. 산술 연산자 3. 관계 연산자 4. SQL 연산자 5. 논리 연산자 2. SQL 연산자 - SQL에서만 존재하는 연산자 - SQL 연산자 종류 1. BETWEEN a AND b 2. IN(a,b,c) 3. LIKE _/% 4. IS (NOT) NULL 5. ANY(a,b,c) 6. ALL(a,b,c) 1. BETWEEN a AND b - a 이상 b 이하인 조건 2. IN(a,b,c) - a 또는 b 또는 c 일때 조건 3. LIKE - 문자열 패턴을 검색할 때 연산자 - 문자열이 데이터에 부분일치하는지를 검사한다. - %(퍼센트) : 부분일치하.. 2024. 2. 23.
DBMS 관계 연산자 (feat. WHERE 명령문) 1. 연산자 (Operator) - 예시) 데이터를 조회할 때 SALARY에서 1,000원씩 빼서 조회하겠다 할 때 사용 연산자 종류 : 1. 연결 연산자 2. 산술 연산자 3. 관계 연산자 4. SQL 연산자 5. 논리 연산자 2. 관계 연산자 (비교 연산자) - [ > ] [ >= ] [ = 10000 ORDER BY SALARY; -- WHERE절로 날짜 값 비교 -- 날짜값을 표현할 때는 ''(작은따음표)에 YYYY-MM-DD로 표시해야한다. SELECT FIRST_NAME, HIRE_DATE FROM EMPLOYEES WHERE HIRE_DATE > '2004-01-01' ORDER BY HIRE_DATE; -- 문자값 비교 -- 'John': 테이블에 문자열로 저장되어있는 데이터 값이기 때문에.. 2024. 2. 23.
DBMS 산술 연산자 1. 연산자 (Operator) - 예시) 데이터를 조회할 때 SALARY에서 1,000원씩 빼서 조회하겠다 할 때 사용 연산자 종류 : 1. 연결 연산자 2. 산술 연산자 3. 관계 연산자 4. SQL 연산자 5. 논리 연산자 2. 산술 연산자 - [ + ] [ - ] [ * ] [ / ] - 피연산자에 숫자 타입과 날짜 타입을 사용할 수 있다. - [ + ] [ - ] 연산자에는 DATE 타입도 가능하다. 자료형별 연산 결과(타입) 숫자와 숫자의 연산 NUMBER 날짜와 숫자간의 [ + ] [ - ] 연산 DATE (숫자 1 == 1일) - 날짜와 날짜간의 [ - ] 연산 NUMBER 3. 전체 쿼리문 -------------------------------------------------------.. 2024. 2. 23.
DBMS 연결 연산자 1. 연산자 (Operator) - 예시) 데이터를 조회할 때 SALARY에서 1,000원씩 빼서 조회하겠다 할 때 사용 연산자 종류 : 1. 연결 연산자 2. 산술 연산자 3. 관계 연산자 4. SQL 연산자 5. 논리 연산자 2. 연결 연산자 [ || ] - [ A || B ] : A와 B를 연결해준다. - 숫자,날짜, 문자열 타입의 값이 피연산자로 올 수 있다. - 앞에 온 값과 뒤에 온 값을 연결한다. - 연결의 결과는 항상 문자열 타입이다. 3. 전체 쿼리문 ----------------------------------------------------------------- -- 연결연산자 -----------------------------------------------------------.. 2024. 2. 23.
무결성 1. 무결성 - 데이터에 결함이 없다 - 데이터의 정확성, 일관성, 유효성이 유지되는 것 2. 무결성을 판단하는 3가지 1. 정확성 - 데이터베이스에 저장된 데이터는 정확해야 한다. 2. 일관성 - 같은 데이터라면 다른 테이블에서도 일관되어야 한다. 3. 유효성 - 데이터는 정의된 규칙과 제약조건에 따라 유효해야 한다. 3. 무결성의 3가지 종류 1. 개체 무결성 - 각 행은 행을 구분할 수 있는 고유한 식별자를 가져야 한다. - 모든 테이블이 PK로 선택된 컬럼을 가지고 있어야 한다. 2. 참조 무결성 - 두 테이블간의 관계를 유지하는 제약(FK)을 나타낸다. - 관계형 데이터베이스에서 다른 테이블의 데이터를 참조할 때 데이터의 일관성을 보장해야 한다. 3. 도메인 무결성 - 칼럼의 자료형, 제약조건에.. 2024. 2. 23.
PK, FK, ERD 1. 엔티티 관계도 : ERD 2. 제약조건(constraint) 컬럼 안에 들어갈 데이터에 제약을 거는 것이다 테이블 간의 관계를 맺을 때도 제약을 건다. 예) null값이 들어올 수 없어, 중복값이 들어올 수 없어 3. PRIMARY KEY(PK) :기본키 - 고유한 값이며, 각 행의 구분점으로 사용됨 - 중복 값을 허용하지 않고 NULL 값도 허용하지 않는다. - 하나의 테이블에는 하나의 PK만 걸어 줄 수 있다. ALTER TABLE TBL_CAR ADD CONSTRAINT PK_CAR PRIMARY KEY(CAR_NUMBER); 4. FOREIGN KEY(FK): 외래키 - 다른 테이블의 pk를 가져와 사용하며 중복값 허용 - 보통 테이블 간의 관계를 맺어줄 때 사용한다. - null 값을 허용.. 2024. 2. 21.
DDL (Data Definition Langauge) : 데이터 정의어 1. DDL (Data Definition Langauge) : 데이터 정의어 - 테이블 조작 또는 제어 관련 쿼리문 2. DDL 종류 1. CREATE 2. DROP 3. ALTER 4. TRUNCATE DDL - 테이블 조작언어라서 테이블 자체를 삭제하려면 이걸로 해야함 CREATE : 테이블 생성 CREATE TABLE 테이블명 ( 칼럼명 자료형 칼럼명 VARCHAR2(용량) ); DROP : 테이블 삭제 DROP TABLE TBL_PROD 3. ALTER : 테이블 수정 - 테이블 명 수정 ALTER TABLE 테이블명 RENAME TO 새로운테이블명; - 테이블 컬럼 추가 ALTER TABLE 테이블명 ADD(추가할컬럼명 자료형(용량)); - 컬럼 삭제 ALTER TABLE 테이블명 DROP C.. 2024. 2. 21.