일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 연산자
- for문 369게임
- #완전수구하기
- 비교연산자
- JAVA기초
- java
- else if문
- 피보나치수열
- switch-case문
- 삼항 연산자
- 변수의특징
- 별찍기
- 증감연산자
- 알고리즘
- #java_festival
- 논리연산자
- #Java
- java조건문
- 복합대입연산자
- 팩토리얼
- 2차원배열
- 데이터타입
- 이진수
- switch문
- #이차원배열
- 소인수분해
- 로또 프로그램
- plusgame
- #알고리즘
- if문
- Today
- Total
숭어 개발 블로그
[SQL] sql문 본문
# RENAME TO
RENAME OLD_TABLE TO NEW_TABLE
# DROP TABLE
ALTER TABLE (테이블명)
DROP COLUMN (삭제할 컬럼명);
ALTER TABLE EMP
DROP COMM;
# TRUNCATE TABLE
DROP TABLE 과는 달리, 테이블 자체가 삭제되는 것이 아니라 테이블 구조를 유지한 채 내용(모든 행)을 삭제
재사용이 가능한 형태로 내용물만 제거한다.
TRUNCATE TABLE PLAYER ;
DROP TABLE 은 테이블 자체가 삭제되기 때문에 테이블 구조를 확인할 수 없지만, TRUNCATE는 테이블은 있되 데이터만 삭제하는 기능이다.
DML로 분류하기도 하지만, 처리방식이나 Auto commit 특성을 가져 DDL로 분류한다.
TRUNCATE 는 부하가 적다. 하지만 Auto commit 되기 때문에 삭제 후 복구가 되지 않으므로 주의가 필요하다.
# DELETE FROM
DELETE FROM 테이블명
DROP | TRUNCATE | DELETE | |
명령어 종류 | DDL | DDL( 일부 DML성격가짐) | DML |
Rollback여부 | Rollback 불가능 | Rollback 불가능 | Commit 이전 Rollback가능 |
Commit | Auto Commit | Auto Commit | 사용자 Commit |
삭제방식 | 테이블 정의자체를 완전히 삭제 | 테이블을 최초 생성된 초기상태로 만듬 | 데이터만 삭제 |
처리속도 | 빠름 | 빠름 | 느림 |
>> DROP TABLE 과 TRUNCATE TABLE 은 로그를 남기지 않는다.
# INSERT INTO
- COLUMN명에 따른 VALUE 값 넣기
INSERT INTO 테이블명 (컬럼명,컬럼명)
VALUES (해당 컬럼에 넣을 VALUE,해당 컬럼에 넣을 VALUE)
- COLUMN 명 순서에 따른 VALUE값 넣기
INSERT INTO (테이블명)
VALUES (VALUE,VALUE,VALUE)
# UPDATE SET
UPDATE 테이블명
SET 수정할 컬럼명 = 수정할 새로운 값
# [ 중복제거 ] DISTINCT / GROUP BY
- DISTINCT 를 사용한 중복제거
SELECT DISTINCT
a.deptno
, b.dname
FROM emp a
, dept b
WHERE a.deptno = b.deptno
AND a.sal > 1500
- GROUP BY를 사용한 중복제거
SELECT a.deptno
, b.dname
FROM emp a
, dept b
WHERE a.deptno = b.deptno
AND a.sal > 1500
GROUP BY a.deptno, b.dname
# Delete ( / Modify ) Action :
- Cascade : Master 삭제 시 Child 같이 삭제
- Set Null : Master삭제 시 Child 해당 필드 Null
- Set Default : Master 삭제 시 Child 해당 필드 Default 값으로 설정
- Restrict : Child 테이블에 PK값이 없는 경우만 Master 삭제 허용
- No Action : 참조 무결성을 위반하는 삭제 / 수정 액션을 취하지 않음
# Insert Action :
- Automatic : Master 테이블에 PK가 없는 경우 Master PK를 생성 후 Child 입력
- Set Null : Master 테이블에 PK가 없는 경우 Child 외부키를 Null값으로 처리
- Set Default : Master 테이블에 PK가 없는 경우 Child 외부키를 지정된 기본값으로 입력
- Dependent : Master 테이블에 PK가 존재할 때만 Child 입력 허용
- No Action : 참조무결성을 위반하는 입력 액션을 취하지 않음
# WHERE
- WHERE절은 FROM 절 다음에 위치
- WHERE절에서 NULL값을 사용하는경우 IS NULL / IS NOT NULL을 사용해야한다.
- 조건식구성
- 컬럼명 : 보통 조건식의 좌측에 위치
- 비교연산자
- 비교 컬럼명 : JOIN 사용시
# 비교연산자
- 연산자 우선순위
- 괄호로 묶은연산
- 부정연산자(NOT)
- 비교연산자 ( =,>,>=,<,<= ) , SQL 비교연산자 ( BETWEEN a AND B, IN, LIKE, IS NULL )
- 논리연산자 중 AND - OR 순으로 처리
- 부정비교연산자 종류
- !=
- ^=
- <>
- NOT 컬럼명 = (~와 같지 않다.)
- NOT 컬럼명 > (~ 보다 크지않다.)
# NULL 의 연산
- NULL 값과의 연산(+,-,*,/ 등) 은 NULL을 리턴
- NULL 값과의 비교연산은 거짓(FALSE)를 리턴
- 특정값보다 크다, 적다라고 표현할 수 없음
- ORACLE에서 ' ' 는 NULL로 입력되고 IS NULL로 검색
-SQL SEVER 에서는 ( WHERE 컬럼명 = ' ' ) 로조회
'SQL 시험 메모장 > 2.SQL 기본 및 활용' 카테고리의 다른 글
[SQL] GROUP BY 절 / HAVING 절 (0) | 2022.11.02 |
---|---|
[SQL] NULL 관련 함수의 종류 (0) | 2022.11.02 |
[SQL] 트랜잭션 (0) | 2022.11.01 |
[SQL] 제약조건_(UK, CK, PK, FK) (0) | 2022.11.01 |
[데이터베이스] DML / DDL / DCL / TCL 이란? (0) | 2022.10.25 |