SQL

SQL 강의 - day1 : MYSQL

record2080 2025. 2. 24. 23:12

▶MYSQL

유저 생성 -> DB 생성 -> 권한

// DB생성 -> root 계정에서 
CREATE DATABASE test;

// MYSQL이 user를 관리하는 테이블로 선택
use mysql;

// user 생성 구문
create user 'mysqluser'@'localhost' identified by 'mysql';

// 권한 부여
grant all privileges on test.* to 'mysqluser'@'localhost' with grant option;

// 권한 적용
flush privileges;

 

▶ 제약조건
PK : Primary key => 기본키 속성 추가
NN : not null => 데이터 값으로 null이 오지 못하게 막음.
AI : Auto_Increment => 자동증가 : 정수만 가능
UQ : unique => 중복안됨.
B : binary 바이너리 값
UN : Unsigned => 음수 안됨.
ZF : zero fill => 숫자앞에 0으로 채움  0001
G : grnerated => 속성 자동 생성
default : 기본값

 

▶ MYSQL 데이터 자료형
숫자 
(정수)
- bit(m) : 1~64 Binary 값을 지정
- bool : TRUE(1) / FALSE(0)  == TINYINT(1)
- tinyint(m) : 0~255 사이의 작은수 표현 (-128 ~ 127)
- smallint(m) : 2BYTE 0 ~ 65536 (-32768 ~ 32767)
- mediumint(m) : 3BYTE
- int(m) : 4BYTE => java int와 동일
- bigint(m) : 8BYTE => java long과 동일

(실수)
- float(m, d) : 정밀도가 작은 부동소수점 표현 (d:소수자리수)
- double(m, d) : 정밀도가 큰 부동소수점 표현
=> mysql 8.0.17 이후로 사용되지 않음.
- decimal(m,d) : 고정소수점 표현

문자
- char(m) : 고정길이 문자열 (0~255)
- varchar(m) : 가변길이 문자열 (0~65536)
- tinytext : 1BYTE 문자열 저장 => 가변길이
- tinyBOLB : 바이너리 데이터 저장용 => 이미지, 동영상 처리
- text : 2BYTE 가변길이
- midiumtext : 3BYTE
- longtext : 4BYTE

날짜
- date : 날짜
- datetime : 날짜+시간 => 가장 많이 씀.
- timestamp : insert, update 연산에 유리한 형태 
- year : 연도만
- time : 시간만

'SQL' 카테고리의 다른 글

SQL 강의 - day3: MYSQL  (0) 2025.03.09
SQL 강의 - day2 : MYSQL  (1) 2025.03.09
MYSQL 2일 - 테이블만들기  (0) 2025.03.09
MYSQL 1일 -테이블만들기  (0) 2025.03.09
SQL 강의 day 1 - 데이터베이스 기초  (0) 2025.02.16