애플리케이션 개발/SQL

[SQL] SQLD - SQL의 종류

sofiaaa 2022. 3. 5. 18:52
반응형

 SQL의 종류

종류 명령어
DML SELECT, INSERT, UPDATE, DELETE
DDL CREATE, ALTER, DROP, RENAME
DCL GRANT, REVOKE
TCL COMMIT, ROLLBACK

 

 DML

 

INSERT INTO PLAYER (PLAYER) VALUES (‘PJS’);

UPDATE PLAYER SET BACK_NO = 60;

DELETE FROM PLAYER;

SELECT PLAYER_ID FROM PLAYER;

SELECT PLAYER AS “ ” 선수명 FROM PLAYER;

DISTINCT : 1 중복 시 회만 출력

 

 

 DDL

 

데이터 유형

- CHAR(s) : 고정 길이 문자열 정보 최대 . 길이 만큼 공간 채움 ‘AA’ = ‘AA ’

- VARCHAR2(s) : 가변 길이 문자열 정보 할당된 . 변수 값의 바이트만 적용 ‘AA’ != ‘AA ’

- NUMBER : , 정수 실수 등 숫자 정보

- DATE : 날짜와 시각 정보

 

테이블 생성

CREATE TABLE PLAYER ( PLAYER_ID CHAER(7) NOT NULL, PLAYER_NAME VARCHAR2(20) NOT NULL);

 

테이블 구조 변경

- 추가 : ALTER TABLE PLAYER ADD(ADDRESS VARCHAR2(80)); 

- 삭제 : ALTER TABLE PLAYER DROP COLUMN ADDRESS; 

- 수정 : ALTER TABLE TEAM_TEMP MODIFY (ORIG_YYYY VARCHAR2(8) DEFAULT '20020129' NOT NULL);

 

제약조건

제약조건 삭제 : DROP CONSTRAINT ;

조건명 제약조건 추가 : ADD CONSTRAINT 조건명 조건 ( 칼럼명);

테이블명 변경 : RENAME PLAYER TO PLAYER_BACKUP;

테이블 삭제 : DROP TABLE PLAYER;

테이블 데이터 삭제 : TRUNCATE TABLE PLAYER;

컬럼명 변경 : RENAME COLUMN TEAM_ID TO T_ID;

 

 

 DCL

 

GRANT CREATE USER TO SCOTT;

CONN SCOTT/TIGER(ID/PW)

CREATE USER PJS IDENTIFIED BY KOREA7;

GRANT CREATE SESSION TO PJS;

GRANT CREATE TABLE TO PJS;

REVOKE CREATE TABLE FROM PJS;

 

모든 유저는 각각 자신이 생성한 테이블 외에 다른 유저의 테이블에 접근하려면 해당 테이블에 대한 오 브젝트 권한을 소유자로부터 부여받아야 한다.

 

ROLE : 유저에게 알맞은 권한들을 한 번에 부여하기 위해 사용하는 것

CREATE ROLE LOGIN_TABLE;

GRANT CREATE TABLE TO LOGIN_TABLE;

DROP USER PJS CASCADE;

CASCADE : 하위 오브젝트까지 삭제 

 

 

 TCL

 

COMMIT : 올바르게 반영된 데이터를 DB에 반영

ROLLBACK : 트랜잭션 시작 이전의 상태로 되돌림

COMMIT 되지 않은 모든 트랜잭션을 롤백함.

SAVEPOINT : 저장 지점

반응형

'애플리케이션 개발 > SQL' 카테고리의 다른 글

[SQL] Column 'product_id' in group statement is ambiguous  (0) 2022.03.22
[SQL] SQLD - COALESCE  (0) 2022.03.09
[SQL] SQLD - ORDER BY 1, 2, 3  (0) 2022.03.04
[SQL] SQLD - 정규화  (0) 2022.03.01
[SQL] TABLE / View / Sequence  (0) 2020.11.26