MySQL 使用
MySQL 数据库编码 转换
修改表编码格式的同时修改表字段编码
ALTER TABLE `table-name` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
只修改表的字符集
ALTER TABLE `table-name` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
default
只修改表的字符集,CONVERT TO
即修改表又修改字段的字符集
修改数据库编码格式
ALTER DATABASE `database-name` CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci;
批量修改数据表编码 [CONVERT TO
或者 default
]
SELECT
CONCAT("ALTER TABLE `", TABLE_NAME,"` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;")
AS target_tables
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA="database-name"
AND TABLE_TYPE="BASE TABLE"
MySQL 日期格式化
DATE_FORMAT(NOW(), "%Y-%m-%d %H:%i:%s")
-- 2020-10-13 10:16:34
MySQL 其他
-- 间隔函数
-- task_date 列类型为dateTime
select * from stv_tasks as t1 WHERE t1.task_date >= '2020-08-01' AND t1.task_date < '2020-08-01' + INTERVAL 1 MONTH
-- tinyint(1)
mysql中没有Boolean,所以它用tinyint(1)代替Boolean。如果想用tinyint的本类型,建议tinyint(n), n>=2。