数据库常见管理命令

mysql数据库常见管理:

1.创建数据库

create database 数据库名;  <----库名不能以数字开头

查看建库语句

show create database 数据里名\G;     <----- 没有 ;

创建数据库并定义字符集和校对规则

create database 数据库名 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

字符集是:一套编码或者一套规则

校对规则:比较字符编码的方式

如果编译安装mysql的时候指定了字符集,则以后创建数据库会默认指定的字符集。

企业里怎么创建数据库:

1.根据开发的程序所使用的字符集

2.知道了所用的字符集后编译安装可以指定字符集,或者在安装好的mysql里

配置my.cnf指定字符集,这样以后创建数据库不需要定义

查看指定数据库

show database like '数据库名';          <----数据库名可以跟%  表示任意的意思 

显示当前所使用的数据库

select database();

如何删除数据库

drop database 数据库名;        

查看所以用户以及用户分配的host

select user,host from mysql.user;

如何创建用户:

create user '用户名'@'连接域';

创建用户并赋予密码:

create user '用户名'@'连接域' IDENTIFIED BY '密码;

如何删除用户

drop user '用户名'@'连接域';    <----连接域名指的是127.0.0.1或者localhost以及远程IP

无法删除用户的解决办法以及为什么

无法删除的原因是:保留用户名、特殊字符用户名,大写用户名

delete from mysql.user where user='root' and host='localhost';
flush privileges;

 给用户授权数据库所有权限

grant all on dbname.tables to 'user'@'localhost';     <---- dbname和tables可以使用通配符来进行匹配 比如 *.*

创建用户并赋予密码和数据库所有权限

grant all on dbname.tables to 'user'@'localhost' IDENTIFIED BY 'passwd';

刷新权限

flush privileges;

查看用户的数据库权限

show grants for 'test'@'localhost';     <----- 是grants 

查看用户的权限有哪些?

使用REVOKE

revoke insert on test.* to 'test'@'localhost';  <----使用revoke插入 可使用的权限

不登录数据库进行操作

mysql -uroot -p -e "执行的命令;"   <----使用-e 参数 传入命令 引号结尾需要带;