[SQL] RDBMS,DCL,DDL,DML
RDBMS?
- 관계형 데이터베이스 시스템
- 에티블 기반의 DBMS
- 데이터를 테이블 단위로 관리 -> 하나의 테이블은 여러개의 컬럼으로 구성
- 중복데이터를 최소화함 -> 같은 데이터가 여러 컬럼 또는 테이블에 존재했을 경우 데이터 수정시 문제 발생가능성이 높아짐 -> 정규화
- 여러 테이블에 분산되어 있는 데이터를 검색시 테이블간의 관계(join)를 이용해 필요한 데이터를 검색

SQL
- 데이터베이스에 있는 정볼르 사용할 수 있도록 지원하는 언어
- 모든 데이터베이스에서 사용 가능
- 대소문자는 구별하지 않음.

SQL 구문은 DCL, DML, DML로 구분하며, 아래와 같은 종류가 있다.

SQL 종류
- DML : 데이터 조작어
- 데이터 조작기능
- 테이블의 레코드를 CRUD

- DCL : 데이터 제어어
- 데이터, 테이블의 접근권한이나 CRUD 권한을 정의
- 특정 사용자에게 테이블의 검색 권한 부여/금지
- TCL: 트랜잭션 제어어
- 트랜젝션이란 데이터베이스의 논리적 연산 단위
DDL




MYSQL 데이터 타입





MYSQL 테이블 생성

테이블 생성
- 제약조건
- 컬럼에 저장될 데이터의 조건을 설정하는 것.
- 제약조건을 설정하면 조건에 위배되는 데이터는 저장 불가
- 테이블 설정시 컬럼에 직접 지정하거나 consraint로 지정, 또는 alter를 사용하여 설정가능




DML



DML (selector)





내장함수
MYSQL 내장함수
- 숫자 관련 함수
- 문자 관련 함수
- 날짜 관련 함수
- 논리 관련 함수
- 그룹함수












트랜잭션
데이터베이스 상태를 변화시키는 일종의 작업 단위를 의미.