本篇博客记录了一些 MySQL 常用命令,方便查找。
1、显示当前 MySQL 的连接数
1
2
3
|
show processlist
或
show full processlist
|
2、显示 MySQL 的环境变量
3、查找最大连接数或服务器响应的最大连接数
1
2
3
|
show variables like "%conn%"
或
show global status like 'Max_used_connections' # 查询服务器响应的最大连接数
|
4、临时设置最大连接数
1
|
set global max_connections=200 # 在 mysql 终端中临时设置最大连接数为:200
|
或者在 /etc/my.cnf 中添加如下内容:
1
2
|
[mysqld]
max_connections=200
|
5、查询缓存的参数说明
1
|
show global variables like "query_cache%"
|
6、查询 MySQL 运行产生的状态值
1
|
show global status like 'qcache%'
|
7、采用直接重置 autoIncrement 值的方法重置 auto_increment
1
|
alter table marathon auto_increment = 1
|
8、查询数据库权限
1
|
show grants for 'root'@'localhost'
|
1、修改字段类型
1
|
ALTER TABLE `users` MODIFY COLUMN name varchar(30)
|
2、修改字段类型
1
|
ALTER TABLE `users` CHANGE COLUME name SET DEFAULT NULL
|
3、修改字段的数据
1
|
UPDATE `users` SET name='wangxin', age=24 WHERE user_id=13
|
4、增加新字段
1
|
ALTER TABLE `users` ADD `country` varchar(20) NOT NULL
|
5、删除字段
1
|
ALTER TABLE `users` DROP COLUMN `country`;
|
1、查询某张表中存在的键
1
|
SELECT * FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE t WHERE t.TABLE_NAME ='users'
|
2、添加唯一键
1
|
ALTER TABLE `users` ADD UNIQUE KEY `name` (`name`)
|
3、删除唯一键
1
2
|
ALTER TABLE `users` DROP INDEX `name`
ALTER TABLE `users` ADD UNIQUE INDEX iam_cloud_uk (`name`, `display_name`) # 注意,主键名中不能包含中划线
|
4、添加主键
1
|
ALTER TABLE `users` ADD PRIMARY KEY `id` (`id`)
|
5、删除主键
1
|
ALTER TABLE `users` DROP PRIMARY KEY
|
1、导出数据库中的数据表结构及数据
1
2
3
4
5
|
mysqldump -uroot -pAdmin369 xdhuxc > /tmp/xdhuxc.sql
或
mysqldump -uroot -p xdhuxc > /tmp/xdhuxc.sql,敲回车后,会提示输入密码
或
mysqldump -uroot xdhuxc > /tmp/xdhuxc.sql,敲回车后,会提示输入密码
|
2、导出数据库表结构
-d,--no-data,不导出表数据,只导出表结构。
1
2
3
4
5
|
mysqldump -uroot -pAdmin369 -d xdhuxc > /tmp/xdhuxc.sql
或
mysqldump -uroot -p -d xdhuxc > /tmp/xdhuxc.sql,敲回车后,会提示输入密码
或
mysqldump -uroot -d xdhuxc > /tmp/xdhuxc.sql
|
3、导出数据库表数据
-t,--no-create-info,不包含创建表的信息,只导出表数据
1
2
3
4
5
|
mysqldump -uroot -pAdmin369 -t xdhuxc > /tmp/xdhuxc.sql
或
mysqldump -uroot -p -t xdhuxc > /tmp/xdhuxc.sql,敲回车后,会提示输入密码
或
mysqldump -uroot -t xdhuxc > /tmp/xdhuxc.sql
|
4、导出指定表的数据或信息
参考上面的命令,在数据库名称后面加上表名称即可。
1
|
mysqldump -uroot -pAdmin369 -t xdhuxc users > /tmp/xdhuxc_users.sql
|
1、在命令行 mysql>
中使用命令:
1
|
source mysql_script_path
|
2、将sql脚本导入MySQL数据库
1)创建一个空数据库,使用命令为:
2)将表结构和数据导入数据库
方式一:使用 source
命令
1
2
3
|
use database_name # 选择数据库
set names utf8 # 设置数据库编码
source /tmp/database_name.sql # 导入数据库表结构和数据
|
方式二:直接使用命令实现,使用命令为:
使用–default-character-set = utf8指定编码以避免出现乱码。
1
|
mysql -u user_name -p password database_name < /tmp/database_name.sql –default-character-set = utf8
|
1、排除某些字符开头的数据
1
|
select * from users where left(email, 6) <> "intern" and is_deleted=false and left(email, 6) <> "nomail";
|
使用 left(args1, args2) 函数来实现,args1 表示数据库表字段,args2 表示从该字段起几个字符