Basic Queries
Baisc Queries
- Command 취소
- 긴 쿼리를 작성하다가 중간에 취소해야하는 경우
\c
를 붙혀주면 된다.
Data Migration
📝
텍스트(.txt)
파일을 읽어 테이블에 인서트하는LOAD DATA INFILE
구문이 있다. 기본 INSERT 구문을 쓰는 것보다 20배 정도 빠르다.
MYSQL > load data local infile '/home/webmaster/pet.txt' into table pet;
✔️ 한 레코드의 값들은 탭(tab)으로 구분되어야 한다.
✔️ 순서는 테이블을 생성할 때의 column순서대로 되어있어야 한다.
ORDER BY
❗️
order by
의 기본 정렬 옵션은ASC (오름차순)
이다.
About Syntax
%
- 여러개의 문자열_
- 1개의 문자
count(Attribute)
❗️
Attribute
가Null
값을 가진 record를 제외하고 카운팅한다.
restore dump
# mysql -u root -p < employees.sql
hr 계정 생성
-
로컬 접근 계정
create user 'hr'@'localhost' identified by 'hr';
🔑 권한 부여 ```shell grant all privileges on employees.* to 'hr'@'localhost';
-
192.168.1.56에서 접근하는 hr 계정
create user 'hr'@'192.168.1.56' identified by 'hr';
🔑 권한 부여 ```shell grant all privileges on employees.* to 'hr'@'localhost';
-
🌀
Grant
테이블 reloadflush privileges
MySQL 함수
숫자형 함수
now()
select now(), sleep(2), now();
now() | sleep(2) | now() |
---|---|---|
2019-05-03 14:22:16 | 0 | 2019-05-03 14:22:16 |
sysdate()
select sysdate(), sleep(2), sysdate(2);
sysdate() | sleep(2) | sysdate() |
---|---|---|
2019-05-03 14:23:03 | 0 | 2019-05-03 14:23:05.48 |
DATE_FORMAT(date,format)
select date_format(now(), '%Y %c월 %d일 %h시 %i분 %s초')
date_format(now(), ‘%Y %c월 %d일 %h시 %i분 %s초’) |
---|
2019 5월 03일 02시 29분 25초 |
PERIOD_DIFF()
YYMM이나 YYYMM으로 표기된 두 날짜 사이의
Month
를 반환
SELECT concat(first_name, ' ', last_name) AS name,
PERIOD_DIFF( DATE_FORMAT(CURDATE(), '%Y%m'),
DATE_FORMAT(hire_date, '%Y%m') )
FROM employees
DATE_ADD
select first_name, hiredate,
date_add(hiredate, interval 5 month);
first_name | hiredate | date_add(hiredate, interval 5 month) |
---|---|---|
Georgi | 1986-06-26 | 1986-11-26 |
Bezalel | 1985-11-21 | 1986-04-21 |
Parto | 1986-08-28 | 1987-01-28 |
ㅡㅡㅡ | ㅡㅡㅡ | ㅡㅡㅡ |
CAST(Expression AS type)
/ CONVERT(Expression, type)
type을 변경 하는데 유용하게 쓰이는 함수