查看编码
查看数据库编码。
show variables like '%char%';
查看表编码
show create table <表名>;
例:show create table user;
查看字段编码
show full columns from <表名>;
例: show full column from user;
修改编码格式
修改数据库编码格式
alter database <数据库名> character set utf8mb4;
例:alter database db_user character set utf8mb4;
修改表编码
alter table <表名> character set utf8mb4;
例:alter table user character set utf8mb4;
修改字段编码
ALTER TABLE <表名> MODIFY COLUMN <字段名> <字段类型> CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
例:ALTER TABLE comment MODIFY COLUMN content VARCHAR(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
批量插入数据库乱码问题
可以将要插入的表dump出来然后将表头的一些set信息复制到要导入的sql文件当中 例:
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
注:SET NAMES 'utf8'语句告诉服务器将来从这个客户端传来的信息采用字符集utf8”。它还为服务器发送回客户端的结果指定了字符集。
date()将时间转化为年月日 date(t.date) as fix_date,
mysql IF 语句多判断可以用CASE
IF判断 if(t.status='C','完成','完成') as vul_status,
CASE判断 CASE 字段 WHEN 1 THEN 'one' WHEN 2 THEN 'two' ELSE 'more' END
IF多判断
IF search_condition THEN
statement_list
[ELSEIF search_condition THEN]
statement_list ...
[ELSE
statement_list]
END IF
删除数据,同时要求再次插入数据时,id从1 开始累计
ALTER TABLE table_name auto_increment =1 ;