mysql
#personal/技术储备/mysql
mysql编码格式
show variables like ‘%char%’
查看该数据库中所有的编码格式,需要修改的话,直接set xxx=utf8
注意 该情况只能临时生效,具体的需要修改my.cnf配置文件中来修改
truncate table table_name
删除连带主键在内的所有表数据
仅仅用delete,新增的数据,主键还会依次增加,这个命令会重新生成新的主键排序
在 mysql的命令行中,敲错命令,利用后面\c取消该条命令
distinct 查询某个表里面不重复的数据
1 | mysql> select distinct flags from items; |
导出数据库表结构或者数据
导出數據库為dbname所有表结构及表數據(不加-d)
mysqldump -uroot -pdbpasswd dbname table_name>db.sql;
导出數據库為dbname某张表(test)结构 (加 -d)mysqldump -uroot -pdbpasswd -d dbname table_name>db.sql;
mysql中的编码问题
编码格式如果没有定义,都是继承关系,mysql设置->database的编码->表结构的编码->表字段的编码
- 查看数据库的默认编码
show variables like '%char%'
- 强制设置数据库的默认编码使用set,一般修改的result的编码,直接使用
set names utf8
- 查看具体某个数据库的编码格式
SHOW CREATE DATABASE nn_publish_platform;
- 修改数据库的编码
alter database name character set utf8;
- 查看表里面具体字段的编码
SELECT CHARACTER_SET_NAME, COLLATION_NAME FROM information_schema.COLUMNS WHERE TABLE_NAME="monitor_templates";
- 修改表里面具体字段的编码
ALTER TABLE test_table ADD COLUMN char_column VARCHAR(25) CHARACTER SET utf8;
要替换表结构中的数据
比如A 表中 C1的数据为’master’, 需要在前面加一个 code, 可以使用
CONCAT
方法来操作
1 | update A set C1=CONCAT('code', C1); //在前面加 |
替换表数据
比如要替换 A 表中的 C1的数据为’master’, 需要改为’ mazasster’, 使用
replace
方法
1 | update A set C1=replace(C1, 'master', 'mazasster') |