DDL (테이블구조)
데이터 정의언어
트랜잭션이 발생시키지 않아서 빠르다.
되돌림이나 완전적용 사용불가
CREATE
새로운 테이블을 생성
ALTER
테이블 변경
DROP
테이블 삭제
DML(테이블 데이터)
데이터를 조작언어
트랜잭션이 발생하는 SQL도 이 DML에 속성
- 테이블의 데이터를 변경(입력/수정/삭제)할 때 실제 테이블에 완전히 적용하지 않고, 임시로 적용시키는 것
- ROLLBACK이 가능하지만 MYSQL에서는 commit이므로 ROLLback이 먹히지 않음
SELECT
데이터 검색
INSERT INTO 테이블[(열1, 열2..)] VALUES(값1,값2..)
열은 내가 쓰고 싶은 열만 쓰고 값도 같이 맞추어주어야함
튜플 삽입
UPDATE SET
데이터 튜플을 수정
DELETE
튜플 삭제
AUTO_INCREMENT 세팅
자동으로 증가하는 것인데 기본키, UNIQUE만 적용가능
데이터형은 숫자 형식만 사용가능
삭제 방식
DELETE : 로그 파일을 남김, 이전으로 돌아가기 가능
TRUNCATE : 로그파일을 남기지 않으므로 돌아가기 불가능
DROP : 아예 테이블 삭제
제약조건
데이터의 무결성으 ㄹ지키기 위한 제한된 조건 의미
특정 데이터를 입력할 떄 어떠한 조건을 만족했을 떄에 입력디도록 제약
ex) 동일한 주문등록 번호로 회원 중복 가입하지 못함
데이터 무결성을 위한 제약조건
PRIMARY KEY 제약조건
FOREIGN KEY 제약조건
UNIQUE 제약조건 (null값 허용)
DEFAULT 정의
NULL 값 허용 (null, not null허용)
외래키 제약조건
외래키 생성 방법1
Create table 끝에 foreign key 키워드로 설정
pritbl의 값을 변경하여 준다.
UNIQUE 제약조건
중복되지 않는 유일한 값을 입력해야 하는 조건
PRIMARY KEY와 거의 비슷하며 차이점은 UNIQUE는 NULL값 허용
- NULL은 여러개가 입력되어도 상관 없음
check 제약조건
입력되는 데이터를 점검하는 기능
- 키 제한 - 마이너스 값이 들어올수 없도록, 출생년도 제한
ALTER TABLE문으로 제약조건 추가 가능
default 제약조건
값 입력하지 않았을 때 자동으로 입력되는 기본 값 정의하는 방법
NULL 제약조건
NULL값을 허용하려면 NULL을 허용하지 않으려면 NOT NULL
테이블 수정
ALTER TABLE문 사용
테이블에 무엇인가 추가/변경/수정/삭제 모두 ALTER TABLE문 사용
'DB > MY-SQL' 카테고리의 다른 글
MYSQL 테이블과 도식화 (0) | 2021.05.27 |
---|---|
MYSQL - DDL DML 예제 (0) | 2021.05.26 |
MYSQL 많이 사용하는 함수 (0) | 2021.05.26 |
MYSQL - Select문, 서브쿼리 기본 예제 (0) | 2021.05.25 |
MYSQL - JOIN (INNER JOIN) (0) | 2021.05.25 |
댓글