#: 한줄 주석문
-- : 한줄 주석문(--띄어쓰기!)
/*(내용)*/: 여러줄 주석문
show databases; :데이터 베이스 확인
create database 데이터 베이스명; : 데이터 베이스 생성
use 데이터베이스명; :데이터 베이스 선택
/*
create table 테이블명(
필드명1 타입 제약조건, --예) no(번호) int(타입) not null,
필드명2 타입 제약조건,
...
필드명n 타입 제약조건
)
*/
drop database 데이터 베이스명; : 데이터 베이스 삭제
테이블
데이터를 행과 열로 스키마에 따라 저장할 수 있는 구조
스키마?
데이터베이스의 구조와 제약조건에 관한 명세를 기술한 집합의 의미
데이터 타입
1. 숫자타입
-정수: tinyint. smallint, meduimint, int, bigint ....
-실수: float, double
2.문자열 타입
-텍스트: char. varchar(한칸에 65535 byte까지 저장), text(한칸에 65535 byte이상 사용하고 싶을때)
char(10) -> 1byte만 저장하더라도 총 10byte를 소모
varchar(10)-> 1byte를 저장하면 총 1byte만 사용
-바이너리(이진법): binary, varbinary )텍스트가 아닌 sound, image, 영상...DB에 binary를 넣지는 않음
-열거: enum
enum('남자' ,'여자') 남자 여자 쓴 글자만 들어갈 수 있다.
3.날짜와 시간타입
-날짜: date
-날짜와 시간타입: datetime(날짜연산을 간편하게 하기위해 날짜 타입이 존재),timestamp(1970년 1월1일 0시0분0초~)ms 천분의1초 ..(특정시간-특정시간)
제약조건(필수 x!)
데이터의 무결성을 지키기 위해 데이터를 입력받을 때 실행하는 검사 규칙 (무결성:잘못되지 않은것)
-NOT NULL
필드(열, 컬럼)에 NULL값을 저장할 수 없음
-UNIQUE(중복 X, null O)
중복된 값을 저장할 수 없음
NULL은 저장할 수 있음
-DEFAULT
기본값을 설정(NULL을 저장할 때 기본값을 저장)
-AUTO_INCREMENT (MySql의 특성)
자동으로 숫자가 증가되어 추가
중복값이 저장되지 않음
* 직접 데이터를 추가할 수 없음
* auto_increment를 사용한 필드는 primary key로 등록
-PRIMARY KEY (중복 X, NULL X)
UNIQUE제약 + NOT NULL제약 동시 적용
테이블에 오직 하나의 필드에만 적용
데이터를 쉽고 빠르게 검색할 수 있도록 설정(색인)
외래키가 참조할 수 있도록 설정, 속도가 빠름
-FOREIGN KEY(PRIMARY KEY에 있는 데이터만 저장이 가능하다)
다른 테이블과 연결해주는 역할
기준이 되는 테이블의 내용을 참조해서 레코드를 입력
PRIMARY KEY를 참조
'MySql' 카테고리의 다른 글
pk와fk 그리고 inner join문 (0) | 2023.04.25 |
---|---|
기본 문법2 (0) | 2023.02.28 |