728x90
계정관련
-- user_id 에게 모든 권한을 부여한다 `%`localhost에서든 원거리에서든 접속허용가능한 user_id라는 계정을 생성
grant all privileges on *.* to 'user_id'@`%` identified by 'password';
-- 사용자 정보 조회
SELECT user,authentication_string,plugin,host FROM mysql.user;
-- 사용자 생성
create user 'root'@'localhost' identified by 'pass';
-- 권한 부여
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost';
GRANT GRANT OPTION ON *.* TO 'root'@'localhost';
-- 비밀번호 plugin 변경
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'pass';
Database
-- Databases 생성
CREATE DATABASE 'DB이름' CHARACTER SET utf8 COLLATE utf8_general_ci;
-- 모든 DataBases 보기
SHOW DATABASES;
-- Database 선택하기
USE 'DB이름';
-- Database 삭제
DROP DATABASE 'DB이름';
Table
-- Table 생성
CREATE TABLE 'TABLE이름' (
COLUMN_Name Data_type,
COLUMN_Name Data_type,
COLUMN_Name Data_type
)
-- 모든 Table 보기
SHOW TABLES;
-- Table 구조 보기
DESC 'TABLE이름';
-- COLUMN 작성 예
id int(10) unsigned not null primary key auto_increment comment '번호',
이름정의
PRIMARY KEY | - 다른 COLUMN과 절대로 중복되어 나타날 수 없음을 정의한다. (ex: 주민등록번호, 계정ID 등) PRIMARY KEY 로 지정된 COLUMN은 절대로 NULL 값을 가질 수 없습니다. PRIMARY KEY 는 UNIQUE와 NOT NULL 을 동시에 정의한 것과 같은 효과를 가진다. |
UNIQUE | - 유일한 값만 들어가도록 정의한다. - 데이터의 중복이 허용되지 않도록 할 경우 사용된다. |
NOT NULL | - 해당 필드에 NULL 값을 가질 수 없음을 정의한다. (ex: 계정ID, 회원가입 시 필수 입력 항목 등) |
COMMENT ‘이름’ | - COLUMN 생성 시 comment를 넣는다. ‘이름’ 에 주로 COLUMN의 이름을 넣어준다 |
UNSIGNED | - COLUMN 내에서 음수를 포함하지 않거나 양수 쪽으로 더 넓게 가지게 할 때 사용된다 (ex: -2147483648 부터 2147483647 에서 –> 0 부터 4294967295. 로 늘어나게된다.) |
AUTO_INCREMENT | - 해당 COLUMN이 생성될 때 마다 자동으로 1이 늘어나게 된다 (ex: 1번 게시물의 작성 후다음 게시물을 작성할 때 해당 게시물의 ID는 2번이 된다.) |
DEFAULT 0 | - 해당 COLUMN의 기본값을 0 으로 지정한다. (ex: 만약 0 대신 1을 사용하면 해당 COLUMN의 기본값은 1 이 된다.) |
COLUMN 숫자형 데이터 타입
- COLUMN 의 숫자형 데이터 타입
종류정의범위UNSIGNED 사용가능 여부
TINYINT(n) | 정수형 데이터 타입 | - 1 Byte(2^8) - 128 ~ + 127 또는 0 ~ 255 수 표현 가능 - 1Byte(2^8) - 128 ~ + 127 또는 0 ~ 255 수 표현 가능 |
O |
SMALLINT(n) | 정수형 데이터 타입 | - 2 Byte(2^16) - 32,768 ~ 32,167 또는 0 ~ 65536수 표현 가능 |
O |
MEDIUMINT(n) | 정수형 데이터 타입 | - 3 Byte - 8,388,608 ~ 8,388,607 또는 0 ~ 16,777,215 수 표현 가능 |
O |
INT(n) | 정수형 데이터 타입 | - 4 Byte - 2,147,483,648 ~ 2,147,483,647 또는 0 4,294,967,295 수 표현 가능 |
O |
BIGINT(n) | 정수형 데이터 타입(LONG) | - 8 byte - 2^64 - 1 표현 가능(무한 수 표현 가능이라고도 함 |
O |
DECIMAL(m, d) | - 고정 소수형 데이터 타입고정(길이+1 byte) - 화폐 데이터와 같이 데이터의 정확도를 요하는 경우에 주로 사용 - M의 최대값은 65, D는 소수 자릿수이며 0이면 소수점 가지지 않음 |
- 소수점을 사용한 형 - Default: m ⇒ 10 |
X |
FLOAT(n) | 부동 소수형 데이터 타입 | - 4 byte - 부동 소수점을 사용한 형태 |
X |
DOUBLE(n) | 부동 소수형 데이터 타입 | - 8 byte - DOUBLE을 문자열로 저장 |
X |
표 출처 : 프론트엔드 개발자 Martin의 사적인 블로그
COLUMN 문자형 데이터 타입
- COLUMN 의 문자형 데이터 타입
종류정의길이
CHAR(n) | - 고정 길이 데이터 타입 - 지정된 길이보다 짧은 데이터 입력 시 나머지 길이는 공백으로 채워짐 - 검색시, PAD_CHAR_TO_FULL_LENGTH 모드를 설정하지 않으면 공백은 제거됨 |
0 ~ 255 (byte) |
VACHAR(n) | - 가변 길이 데이터 타입 - 지정된 길이보다 짧은 데이터 입력시 공백으로 채우지 않음 -저장시 1-byte 혹은 2-byte 길이 Prefix 데이터를 저장. 이 Prefix 데이터는 값의 바이트 수에 대한 정보를 담는다.https://dev.mysql.com/doc/refman/8.0/en/char.html |
0 ~ 65,535 (byte) |
TINYTEXT(n) | - 문자열 데이터 타입(최대 255 byte) - TINYBLOB와 같은 길이값을 저장 가능(단 차이점은 저장 될때 nonbinary string으로 저장) https://dev.mysql.com/doc/refman/8.0/en/blob.html |
0 ~ 255 (byte) |
TEXT(n) | - 문자열 데이터 타입(최대 65,535 byte) - BLOB와 같은 길이값을 저장 가능(단 차이점은 저장 될때 nonbinary string으로 저장) |
0 ~ 65,535 (byte) |
MEDIUMTEXT(n) | - 문자열 데이터 타입(최대 16,777,215 byte) < br> - MEDIRMBLOB와 같은 길이값을 저장 가능(단 차이점은 저장 될때 nonbinary string으로 저장) | 0 ~ 16,777,215 (byte) |
LONGTEXT(n) | - 문자열 데이터 타입(최대 4,294,967,295 byte) - LONGBLOB와 같은 길이값을 저장 가능(단 차이점은 저장 될때 nonbinary string으로 저장) |
0 ~ 4,294,967,295 (byte) |
표 출처 : 프론트엔드 개발자 Martin의 사적인 블로그
COLUMN 날짜형 데이터 타입
- COLUMN 의 날짜형 데이터 타입
종류정의길이형식길이
DATA | 날짜(년,월,일) 형태의 기간 표현 데이터 | 3 Byte | 0000-00-00(YYYY-MM-DD) | 1000-01-01 ~ 9999-12-31 |
TIME | 시간(시,분,초) 형태의 시간 표현 데이터 | 3 Byte | 00:00:00 | . |
DATETIME | 날짜와 시간의 기간 표현 데이터 | 8 Byte | 0000-00-00 00:00:00 (YYYY-MM-DD hh:mm:ss) | 1000-01-01 00:00:00 ~ 9999-12-31 23:59:59.999999 |
TIMESTAMP | 날짜와 시간 형태의 기간 표현 데어터 타입 시스템 변경 시 자동으로 그 날짜와 시간이 저장 | 4 Byte | Integer | . |
YEAR | 년도 표현 데이터 타입 | 1 Byte | 0000 | . |
'Programming > DB' 카테고리의 다른 글
[MySql] DATETIME 형식 변환하기 (0) | 2022.10.24 |
---|---|
[DB]MongoDB란? (0) | 2022.07.27 |