host가 달라지면 같은 계정이라도 다른사람처럼 보인다
revoke all privileges on <db-name>.* from '<user-name>'@'<host>'; : 유저의 모든 권한을 뺏는다.
공식문서에서 [...]대괄호는 optional한 정보이다.
create table [if not exists] student (
id int unsigned(-값은 취하지 않는다는 소리) not null auto_increment comment '학번',
name varchar(31) not null comment '학생명',
createdate timestamp not null default current_timestamp comment '등록일시',
graduatedt varchar(10) default null comment '졸업일',
auth tinyint(1) unsigned not null default '9' comment '0:sys, 1:super, ...',
-,
primary key (id),
unique key unique_stu_id_name (createdate, name)
) ENGINE=InnoDB AUTO_INCREMENT=45 DEFAULT CHARSET=utf-8
);
tinyint(1byte), smallint(2B), mediumint(3B), int(4B), bigint(8B), fload(M,D)
date(3B)날짜까지, time(3B)시간, datetime(8B)날짜랑 시간, timestamp(4B), year(1B)db는 1970년 기준이라 256개의 숫자로도 가능한 것
char(n) vs varchar(n)
-char은 고정형이다. (char은 나머지를 공백으로, varchar는 null로 채운다)
tinytext(255B), text(25535B), mediumtext(16777215B), longtext(294967295B)
- varchar의 글자수가 길어져서 255를 넘어가면 내부적으로는 자동으로 text로 넘어가는 것이다)
- longtext는 like검색등을 할 때 부담이 된다.
Datatime vs Timestamp
- Datatime은 상수이다 (2018-12-03 15:33:45.9 , 8바이트이다)
- Timestamp 는 UTC time 4B이다. (기준은 1970-01-01 00:00:01 ~ 2038-01-19 03:14:07)
- show variables like '%time_zone%'; => 타임존을 보여준다.
show processlist : 3306포트에(mysql) 접속한 세션들을 보여준다.
global을 주지 않고 timestamp를 변경하면 해당 세션만 바뀐다. (권한이 있는 계정에서만 가능)
select unix_timestamp(); : 1970년을 기준으로 밀리초를 출력한다.
select FROM_UNIXTIME(밀리초) : 밀리초를 년월일 분시초로 나타낸다
Timestamp: Default CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP : 변경이 있을때 현재시간으로 업데이트한다.
truncate table <table-name> : 테이블비우기
CREATE DATABASE <database> DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
ALTER DATABASE <database> DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
데이터베이스에서 생성되는 테이블이 기본 캐릭터셋을 바꾼다.
컬럼의 캐릭터셋은 테이블의 디폴트를 따라간다.
외부에서 id와 passwd로 접속하면 server socket을 mysql에서 생성한다.
세션에서 어떤 명령어를 시키면 mysql에서 명령을 수행한다음 해당 세션(세션id)로 결과값을 넘겨준다.
세션은 짜장면그릇, 한개의 세션은 한개의 프로세스를 갖는다(별도의 프로세스를 갖는다)
insert into <table-name> select * from <복제할 테이블> : 데이터를 복사해서 테이블에 넣는다.
'SeSac (2021-08 ~ 2021-12) > MySQL' 카테고리의 다른 글
| MySQL 06 - Join Tables 테이블 조인하기 (0) | 2021.08.27 |
|---|---|
| MySQL 05 - 관계(Foreign Key)와 index의 개념 (0) | 2021.08.27 |
| MySQL 04 - Insert, Select, Update, Delete 문 (0) | 2021.08.26 |
| MySQL 03 - Table Altering, Sample Data 자동 등록하기 (0) | 2021.08.25 |
| MySQL 01 - Database 및 User 생성하기 (0) | 2021.08.25 |