제약조건 , 권한

2022. 3. 17. 21:17SQL

제약 조건

  • 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 [세이브포인트 이름];

'SQL' 카테고리의 다른 글

View  (0) 2022.03.20
GROUP BY, HAVING  (0) 2022.03.17
집합  (0) 2022.03.17
Index  (0) 2022.03.17
Trigger  (0) 2022.03.17