본문 바로가기

MySql

기본 문법

#: 한줄 주석문

-- : 한줄 주석문(--띄어쓰기!)

/*(내용)*/: 여러줄 주석문

 

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