用户操作
- 创建新的用户
create user '你的用户名'@'localhost' identified by '你的密码';
(localhost替换成%
,%
代表所有地址均可访问) - 更改用户密码
alter user '用户名'@'localhost' identified by 'MyNewPass4!';
新版本 - 查看用户权限
show grants for '用户名'@'localhost';
- 刷新权限,使更改的设置生效
flush privileges;
数据库操作
- 创建新数据库(可以指定字符集)
create database 数据库名 charset utf8mb4;
- 把某个数据库的管理权限给予某个MySQL用户
grant all privileges on 数据库名.该数据库的某个表名 to '你的用户名'@'localhost';
(可在后面加上with grant option
,作用是被赋予的权限能再赋给别人) - 移除某个MySQL用户的数据库权限
revoke all privileges on 数据库名.该数据库的某个表名 from 'mysql'@'%';
(名字可替换成*
,代表所有) - 查询所有的数据库
show databases;
- 进入某个数据库
use 数据库名;
- 删除数据库
drop database 数据库名;
- 数据库备份
mysqldump -u root -p '你的密码' mysql > 路径/mysql.sql
- 数据库恢复
mysql -u root -p '你的密码' mysql < 路径/mysql.sql
表操作
- 创建新表
create table 表名 (`id` int(4),`name` char(40));
- 查询数据库中所有的表
show tables;
- 查看某个表全部字段
desc 表名;
show create table 表名\G;
(不仅可以显示表信息,还可以显示建表语句) - 插入一行数据
insert into 数据库名.表名 values (1,'abc');
- 删除一行数据
delete from 数据库名.表名 values (1,'abc');
- 更改表中的某一行数据
update 数据库名.表名 set name='aaa' where id=1;
- 查询表数据
select * from 数据库名.表名;
查询该表中的所有字段
select count(*) from 数据库名.表名;
count(*)表示表中有多少行
select id,name from 数据库名.表名;
查询表中的多个字段
select * from 数据库名.表名 where name like 'a%';
在查询语句中可以使用万能匹配%
- 清空表数据
truncate table 数据库名.表名;
- 删除表
drop table 数据库名.表名;
- 清空数据库中的所有表
mysql -N -s information_schema -e "SELECT CONCAT('TRUNCATE TABLE ',TABLE_NAME,';') FROM TABLES WHERE TABLE_SCHEMA='数据库名'" | mysql -f 数据库名
其它操作
- 远程登陆mysql数据库
mysql -u root -p -h 主机地址 -P 3306
- 查看当前用户
select user();
- 查看当前所在数据库
select database();
- 查看数据库版本
select version();
- 查询数据库参数
show variables;
- 修改数据库参数
show variables like 'max_connect%';
(模糊查询max_connect参数)
set global max_connect_errors = 1000;
(重启数据库会失效,要在配置文件中修改) - 查看当前数据库队列
show processlist;
- 执行大量mysql语句采用的方式
mysql -u user -h hostname -p passwd <<EOF
mysql语句
EOF
我的个人博客网站是:www.coderyyn.cn
上面会不定期分享有关爬虫、算法、环境搭建以及有趣的帖子
欢迎大家一起交流学习
转载请注明