跟mysql相关的一些笔记查看状态信息
mysql> status;
--------------
mysql Ver 14.14 Distrib 5.6.40, for Linux (x86_64) using EditLine wrapper
Connection id: 1
Current database:
Current user: root@localhost
SSL: Not in use
Current pager: stdout
Using outfile: ''
Using delimiter: ;
Server version: 5.6.40 MySQL Community Server (GPL)
Protocol version: 10
Connection: Localhost via UNIX socket
Server characterset: latin1
Db characterset: latin1
Client characterset: latin1
Conn. characterset: latin1
UNIX socket: /var/run/mysqld/mysqld.sock
Uptime: 10 min 17 sec
Threads: 1 Questions: 10 Slow queries: 0 Opens: 67 Flush tables: 1 Open tables: 60 Queries per second avg: 0.016
--------------
查看数据库物理文件存放位置
mysql> show global variables like "%datadir%";
+---------------+------------+
| Variable_name | Value |
+---------------+------------+
| datadir | /usr/data/ |
+---------------+------------+
1 row in set (0.00 sec)
查看编码方式
mysql> show variables like 'character%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)
查看版本
select version();
查看数据库以及表的大小
# 切换到information_schema数据库
use `information_schema`;
# 查看数据库的大小
SELECT
concat( round( sum( data_length / 1024 / 1024 ), 2 ), 'MB' ) AS DATA
FROM
TABLES
WHERE
table_schema = 'DB_NAME';
# 查看表的大小
SELECT
concat( round( sum( data_length / 1024 / 1024 ), 2 ), 'MB' ) AS DATA
FROM
TABLES
WHERE
table_schema = 'DB_NAME'
AND table_name = 'TABLE_NAME';
时间
格式
DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 21 DAY),'%Y-%m-%d') # 格式化
DATE_SUB(NOW(), INTERVAL 1 DAY) # 前一天
DATE_ADD(NOW(), INTERVAL 1 DAY) # 后一天
UNIX_TIMESTAMP(NOW()) # 转成时间戳
FROM_UNIXTIME(UNIX_TIMESTAMP(NOW())) # 时间戳转成默认的时间格式:'%Y-%m-%d %H:%i:%s'
获取某个表的所有字段
SELECT
COLUMN_NAME
FROM
information_schema.COLUMNS
WHERE
table_name = 'your_table_name'
AND table_schema = 'your_db_name';