下面的命令适用于 MySQL 和 MariaDB。
创建表
CREATE TABLE IF NOT EXISTS `<tablename>` (
`id` int NOT NULL AUTO_INCREMENT,
`info` tinytext,
`created` datetime DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
要查看创建某个表的操作,使用命令:
SHOW CREATE TABLE <tablename>
使用这个命令会显示出表的字符集(CHARSET)。如果你要存储拉丁字母之外的字符,如汉字、表情符合等,一定要使用 utf8mb4 字符集。
增加字段
ALTER TABLE <tablename> ADD <fieldname> VARCHAR(32)
删除字段
ALTER TABLE <tablename> DROP <fieldname>
插入一行
INSERT INTO <tablename> (<fieldname1>, <fieldname2>) VALUES ('val1', 'val2')
取得时间戳(Timestamp)
无论是 DATETIME,还是 TIMESTAMP 类型,在获取时默认都是一样的格式。要获取时间戳格式,请用下面的 SELECT 形式:
SELECT UNIX_TIMESTAMP(<fieldname>) FROM <tablename>
增加、显示表的注释
我们知道,使用 show tables 命令,可以显示当前数据库的表,但是显示结果只有表的名字。如果我们需要修改/增加表的注释,并且在查询的时候显示注释,可以使用下面的方法。
增加表的注释:
ALTER TABLE <tablename> COMMENT = '注释'
显示表的注释:
SELECT table_name, table_comment
FROM INFORMATION_SCHEMA.TABLES
WHERE table_schema = 'my_database'
显示 column 的详细信息,包括注释
SHOW FULL COLUMNS FROM <tablename>
查看当前数据库
下面三个命令都可以:
SELECT DATABASE() FROM DUAL;
SELECT DATABASE();
status
PHP 转换 datetime 为 UNIX timestamp
使用:
$timestamp = strtotime($datetime);
命令行命令(Ubuntu)
下面也记录一下命令行命令:
sudo systemctl restart mariadb // 重启数据库