mysql 常用命令整理(不断更新)

一、mysqldump

1、导出一个数据库的结构

mysqldump  -d  dbname  -uroot  -p  >  dbname.sql

2、导出多个数据库的结构

mysqldump  -d  -B  dbname1  dbname2  -uroot  -p  >  dbname.sql

3、导出一个数据库中数据(不包含结构)

mysqldump  -t  dbname  -uroot  -p  >  dbname.sql

4、导出多个数据库中数据(不包含结构)

mysqldump  -t  -B  dbname1  dbname2  -uroot  -p  >  dbname.sql

5、导出一个数据库的结构以及数据

mysqldump  dbname  -uroot  -p  >  dbname.sql

6、导出多个数据库的结构以及数据

mysqldump -B dbname1 dbname2 -uroot -p > dbname.sql

7、导出一个数据库中一个表的结构

mysqldump  -d  dbname1  tablename  -uroot  -p  >  tablename.sql

8、导出一个数据库中多个表的结构

mysqldump  -d  -B  dbname1  --tables  tablename1  tablename2  -uroot  -p  >  tablename.sql

9、导出一个数据库中一个表的数据(不包含结构)

mysqldump  -t  dbname1  tablename  -uroot  -p  >  tablename.sql

10、导出一个数据库中多个表的数据(不包含结构)

mysqldump  -t  -B  dbname1  --tables  tablename1  tablename2  -uroot  -p  >  tablename.sql

11、导出一个数据库中一个表的结构以及数据

mysqldump  dbname1  tablename  -uroot  -p  >  tablename.sql

12、导出一个数据库中多个表的结构以及数据

mysqldump  -B  dbname1  --tables  tablename1  tablename2  -uroot  -p  >  tablename.sql

13、只导出存储过程和函数(不导出结构和数据,要同时导出结构的话,需要同时使用-d)

mysqldump  -R  -ndt  dbname  -u  root  -p  >  dbname.sql

14、只导出事件

mysqldump  -E  -ndt  dbname  -u  root  -p  >  dbname.sql

15、不导出触发器(触发器是默认导出的–triggers,使用–skip-triggers屏蔽导出触发器)

mysqldump  --skip-triggers  dbname1  -u  root  -p  >  dbname.sql

16、导入数据

mysql -u root -p
use dbname;
source dbname.sql

17、总结一下:

-d 结构(--no-data:不导出任何数据,只导出数据库表结构)

-t 数据(--no-create-info:只导出数据,而不添加CREATE TABLE 语句)

-n (--no-create-db:只导出数据,而不添加CREATE DATABASE 语句)

-R (--routines:导出存储过程以及自定义函数)

-E (--events:导出事件)

--triggers (默认导出触发器,使用--skip-triggers屏蔽导出)

-B (--databases:导出数据库列表,单个库时可省略)

--tables 表列表(单个表时可省略)

①同时导出结构以及数据时可同时省略-d和-t

②同时 不 导出结构和数据可使用-ntd

③只导出存储过程和函数可使用-R -ntd

④导出所有(结构&数据&存储过程&函数&事件&触发器)使用-R -E(相当于①,省略了-d -t;触发器默认导出)

⑤只导出结构&函数&事件&触发器使用 -R -E -d

 

二、mysql 字符集

1、mysql 字符集

mysql 字符集分五个层级:服务器级别;数据库级别;表级别、列级别;连接级别

2、使用下面的命令查看当前数据库的字符集设置:

SHOW VARIABLES WHERE Variable_name LIKE 'character\_set\_%' OR Variable_name LIKE 'collation%';
+--------------------------+--------------------+
| Variable_name            | Value              |
+--------------------------+--------------------+
| character_set_client     | utf8mb4            |
| character_set_connection | utf8mb4            |
| character_set_database   | utf8mb4            |
| character_set_filesystem | binary             |
| character_set_results    | utf8mb4            |
| character_set_server     | utf8mb4            |
| character_set_system     | utf8               |
| collation_connection     | utf8mb4_unicode_ci |
| collation_database       | utf8mb4_unicode_ci |
| collation_server         | utf8mb4_unicode_ci |
+--------------------------+--------------------+

看上面这张表:

character_set_server:默认的内部操作字符集

character_set_database:当前选中数据库的默认字符集

character_set_client:客户端来源数据使用的字符集

character_set_connection:连接层字符集

character_set_results:查询结果字符集

character_set_system:系统元数据(字段名等)字符集

character_set_filesystem:系统文件存储字符集

以collation_开头的同上面对应的变量,用来描述字符集排序

2、在mysql配置中修改字符集

[mysqld]

character-set-server = utf8mb4  
collation-server = utf8mb4_unicode_ci 

character-set-client-handshake=False

上面的配置:

第一项修改数据库及服务器的字符集设置,对应的是 character_set_database、character_set_server 两项;

第二项修改数据库及服务器的字符集排序规则,对应的是 collation_database、collation_server 两项;

第三项忽略掉客户端的字符集设置,默认使用服务器的设置,涉及 character_set_client、character_set_connection、character_set_results、collation_connection 这几项;

3、修改已经存在的数据库、表、字段的字符集:

由于已经存在的数据库及表使用的是创建时的字符集设置,不会随着配置的改变而改变,所以,在有些情况下,需要手动修改已经存在的数据库、表、字段的字符集

修改Database字符集:ALTER DATABASE database_name CHARACTER SET = 字符集名称 COLLATE  字符集排序规则名称;

修改Table字符集:ALTER TABLE table_name CONVERT TO CHARACTER SET 字符集名称  COLLATE 字符集排序规则名称;

修改column字符集:ALTER TABLE table_name CHANGE column_name column_name VARCHAR(191) CHARACTER SET 字符集名称 COLLATE 字符集排序规则名称  NOT NULL;

4、查看mysql所支持的全部字符集

show character set;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值