제약조건 , 권한
2022. 3. 17. 21:17ㆍSQL
제약 조건
- NOT NULL : 이 컬럼에는 NULL 값을 저장할 수 없음
- UNIQUE : 이 컬럼의 값들은 서로 다른 값을 가져야 함
- DEFAULT : 이 컬럼에 입력값이 없을 시 기본값이 설정됨
- PRIMARY KEY : 이 컬럼은 테이블의 기본 키, NOT NULL과 UNIQUE 특징을 모두 가짐
- FOREIGN KEY : 이 컬럼은 테이블의 외래 키, 이 컬럼은 다른 테이블의 특정 컬럼을 참조함
- AUTO_INCREMENT : 주로 테이블의 PRIMARY KEY 데이터를 저장할때 자동으로 숫자를 1씩 증가시켜 주는 기능으로 사용함
권한과 DCL
- DDL : 데이터 정의어(Data Definition Language) (EX)CREATE, ALTER, DROP, RENAME, TRUNCATE
- DML : 데이터 조작어(Data Manipulation Language) (EX)SELECT, INSERT, UPDATE, DELETE
- DCL : 데이터 제어어(Data Control Language) (EX)GRANT, REVOKE
- TCL : 트랜잭션 제어(Transaction Control Language) (EX)COMMIT, ROLLBACK, SAVEPOINT --데이터베이스의 데이터 상태를 바꾸는 작업 묶음
권한 부여 코드정리
- MySQL 기본 데이터베이스인 mysql 데이터베이스 선택하기 USE mysql;
- 사용자 목록 조회하기 SELECT user, host FROM user;
- 사용자 생성하기 CREATE USER [사용자 이름]@[ip주소];
- 비밀번호와 함께 사용자 생성하기 CREATE USER [사용자 이름]@[ip주소] IDENTIFIED BY ‘[사용자 비밀번호]’;
- 사용자 삭제하기 DROP USER [사용자 이름];
- 권한 부여하기 GRANT [권한] ON [데이터베이스 이름].[테이블 이름] TO [사용자 이름]@[ip주소];
- 권한 확인하기 SHOW GRANTS FOR [사용자 이름]@[ip주소];
- 권한 삭제하기 REVOKE [권한] ON [데이터베이스 이름].[테이블 이름] FROM [사용자 이름]@[ip주소];
- 권한 적용하기 FLUSH PRIVILEGES;
트랜잭션 코드 정리
- 트랜잭션 시작하기 START TRANSACTION;
- 트랜잭션 확정하기 COMMIT;
- 트랜잭션 이전으로 돌아가기 ROLLBACK;
- 세이브포인트 만들기 SAVEPOINT [세이브포인트 이름];
- 세이브포인트로 돌아가기 ROLLBACK TO [세이브포인트 이름];