Mysql语句使用精华

发布于 2021-02-07 00:13:46

1. 查询某一个字段是否有空格语句:

比如查询gene_bjcovid_user 样本编号sample_number 是否包含空格。

select * from gene_bjcovid_user where id not in (select id from gene_bjcovid_user where sample_number NOT LIKE '% %');

如果需要去除空格:

update `gene_bjcovid_user` set `sample_number`=replace(`sample_number`,' ','')

2. 解决表id过大问题,重置ID到1:

CREATE TEMPORARY TABLE tmp_name AS SELECT * FROM gene_bjcovid_idcard;

TRUNCATE table gene_bjcovid_idcard;

INSERT gene_bjcovid_idcard(sfz,createdate,modifydate) 
    SELECT sfz,createdate,modifydate FROM tmp_name;

DROP TABLE tmp_name;

3. 修改表字符集:(参考文档

ALTER TABLE 表名 CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; 

4. mysql无法异常无法启动,出现如下的错误:

2023-04-23 17:20:47 0 [Note] Plugin 'FEEDBACK' is disabled.
2023-04-23 17:20:47 0 [Note] Server socket created on IP: '::'.

解决方法:

1. 拷贝backup目录的所有索引文件。

image.png

2. 备份/data/ibdata1 文件,

3. 然后把backup目录相关文件拷贝到data目录覆盖

image.png

4. 最后恢复ibdata1文件,重新启动mysql。
1 条评论

发布
问题