일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- JOIN
- Eclipse
- 반복문
- n x 2 타일링 2
- 2156
- algoritm
- DP
- 입출력
- Database
- darkest dark
- 10951
- Dynamic Programming
- Algorithm
- 소숫점처리
- 그대로 출력하기
- 데이터길이
- 변수
- db
- 자바
- Java
- SQL
- 알고리즘
- 오라클
- select
- 데이터베이스
- oracle
- ANSI JOIN
- 백준
- 동적계획법
- 문자열
- Today
- Total
목록SQL (38)
Cracking Code
테이블이 다른 테이블을 참조하여 데이터를 읽을 수 있도록 관계를 형성하는 외래키에 대해 알아봅시다. -- COLUMN LEVEL column datatype [CONSTRAINT constraint_name] REFERENCES table (column1[, column2, ...] [ON DELETE CASCADE]) -- TABLE LEVEL [CONSTRAINT constraint_name] FOREIGN KEY (column1[, column2, ...]) REFERENCES table (column1[, column2, ...] [ON DELETE CASCADE]) 외래키로 열 또는 열의 집합을 지정할 수 있으며 동일 테이블 또는 다른 테이블 간 관계를 지정합니다 ON DELETE CASCADE..
데이터를 DB에 저장할 때 원하는 값만 들어오게끔 필터링을 하고 싶다면? CHECK 제약 조건에 대해 알아봅시다! -- COLUMN LEVEL column datatype [CONSTRAINT constraint_name] CHECK(조건) -- TABLE LEVEL [CONSTRAINT constraint_name] CHECK (column 조건) 예를 들어 '남자' 또는 '여자'인 값만 받고 싶을 땐 조건 절에 해당 컬럼명과 조건 연산을 입력해주면 됩니다. S_NO / NUMBER(2), S_NAME / VARCHAR2(10), S_SAL NUMBER(10)을 컬럼으로 가지고 S_SAL엔 500 밑의 값만 들어올 수 있도록 제약 조건을 걸어 SAWON7 테이블을 만들어 봅시다. -- COLUMN LE..
테이블에는 중복이 되면 안 되는 값들이 존재할 수 있겠죠? 이러한 것을 사전에 방지할 수 있도록 UNIQUE 제약 조건에 대해 알아봅시다. -- COLUMN LEVEL column datatype [CONSTRAINT constraint_name] UNIQUE -- TABLE LEVEL column datatype, ..., [CONSTRAINT constraint_name] UNIQUE (column1[, column2, ...]) 유니크 제약 조건은 해당 컬럼에 중복 값이 저장되지 않도록 제한합니다. 한 개 이상의 컬럼으로 구성되며 NULL 값을 저장할 수 있습니다. 🚨복합 컬럼 지정 시 테이블 LEVEL만 지정할 수 있습니다. S_NO / NUMBER(2), S_NAME / VARCHAR2(10),..
PRIMARY KEY는 기본키라고도 하며 테이블에서 각 행을 식별하는 제약 조건입니다. -- COLUMN LEVEL column datatype [CONSTRAINT constraint_name] PRIMARY KEY -- TABLE LEVEL [CONSTRAINT constraint_name] PRIMARY KEY (column1[, column2, ...]) 기본키는 각 테이블에 하나만 존재할 수 있습니다. UNIQUE와 NOT NULL 제약 조건이 동시에 걸려 있으며 UNIQUE INDEX가 자동으로 생성됩니다. ID / NUMBER(2), NAME / VARCHAR2(10) 을 컬럼으로 가지고 ID를 기본키로 컬럼 레벨에서 설정하여 PK_TAB1 테이블을 만들어봅시다. CREATE TABLE PK..
데이터베이스의 무결성을 유지하기 위해서 일종의 제약을 둡니다. 데이터베이스 제약 조건에 대해 알아봅시다. CREATE TABLE table( column datatype [DEFAULT expr] -- 컬럼 LEVEL [CONSTRAINT column_constraint], ..., [table CONSTRAINT column_constraint], -- 테이블 LEVEL ... ); 제약 조건은 테이블 LEVEL, 컬럼 LEVEL에서 선언할 수 있습니다. 테이블 LEVEL은 모든 컬럼의 선언이 끝난 후에 제약 조건을 명시하는 것이며 컬럼 LEVEL은 컬럼의 선언과 동시에 제약 조건도 명시하는 것입니다. 🚨컬럼 LEVEL 에선 제약 조건을 하나씩만 선언할 수 있습니다.🚨 제약 조건의 종류 제약 조건은 C..
데이터베이스의 기본적인 저장 단위인 테이블을 만들 수 있는 CREATE TABLE 명령어를 알아보겠습니다. CREATE TABLE [schema.]table ( column datatype [DEFAULT expr][, ...] ); table의 이름을 짓고 들어갈 column 들의 데이터 타입과 옵션을 지정해줍니다. * schema란 특정 사용자가 데이터베이스에 접근하여 생성한 객체들의 대표 이름을 의미합니다. 보통 사용자가 들어갑니다. datatype은 아래와 같습니다. 1. DEFAULT 옵션 해당 테이블에 행을 입력할 때 해당 컬럼에 값을 지정하지 않은 경우 자동으로 DEFAULT 값이 입력됩니다. NULL 값이 저장되는 것을 방지할 수 있습니다. NUM ( NUMBER(2) ), WRITEDAY..
트랜잭션 내의 데이터 변경 사항을 저장하거나 되돌릴 수 있는 COMMIT, ROLLBACK 에 대해 알아보겠습니다. 데이터베이스는 읽기 일관성을 유지합니다. 사용자들에게 가장 최근에 커밋된 데이터를 보여주며 다른 사용자가 변경 중인 데이터는 또 다른 사용자에게 보여지지 않습니다. 이는 동일 데이터를 동시에 변경할 때의 혼란을 방지합니다. 1. COMMIT COMMIT; 모든 데이터 변경 사항을 데이터베이스에 영구히 반영시키는 명령어입니다. 변경 전의 데이터는 모두 잃습니다. 2. ROLLBACK ROLLBACK; 모든 데이터 변경 사항을 취소하는 명령어입니다. 변경 전의 데이터가 복원됩니다. 트랜잭션이 진행 중이던 행들에 대한 잠금이 모두 해제되어 다른 사용자에 의해 변경이 가능해집니다.
두 개의 테이블을 하나로 합칠 수 있는 MERGE 문에 대해서 알아봅시다. MERGE INTO table alias USING table alias ON (조건절) WHEN MATCHED THEN UPDATE SET col1 = col1_value, col2 = col2_value, ... WHEN NOT MATCHED THEN INSERT (column_list) VALUES (column_values); MERGE는 구조가 같은 2개의 테이블을 비교하여 하나의 테이블로 합치는 데이터 조작어입니다. 행이 이미 존재하면 UPDATE가 실행되고 존재하지 않으면 INSERT가 실행됩니다. MERGE를 실습하기 전에 임시로 테이블을 만들어볼까요? CREATE TABLE PT_01( 판매번호 VARCHAR2(8..