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 |