MySQL创建修改用户及常用命令

痞子三分冷 提交于 2020-03-05 15:30:02

新建用户和授权

新建,修改用户信息

参考:https://www.cnblogs.com/stfei/p/9184320.html;http://c.biancheng.net/view/2608.html
语法格式:
CREATE USER <用户名> [ IDENTIFIED ] BY [ PASSWORD ] <口令>

各部分参数解释:

<用户名>:格式为 ‘user_name’@‘host_name’,用户名@主机名;若只给了用户名,主机名默认为%。
[ PASSWORD ] :可选,这是一个关键字,下面例子中未使用
IDENTIFIED BY子句:用于指定用户账号对应的口令,若该用户账号无口令,则可省略此子句
<口令>:就是平常说的密码
如果两个用户具有
相同的
用户名和
不同的主机名
,MySQL 会将他们
视为不同的用户
,并允许为这两个用户分配不同的权限集合。

#格式:CREATE USER <用户名> [ IDENTIFIED ] BY [ PASSWORD ] <口令>
#实例,
mysql> CREATE USER 'james'@'localhost'
    -> IDENTIFIED BY 'tiger';

**上例解释L:**创建了一个用户名是:james,密码是:tiger,主机是localhost
创建、删除修改用户及修改密码

# 指定ip:192.118.1.1的mjj用户登录
create user 'mjj'@'192.118.1.1' identified by '123';
# 指定ip:192.118.1.开头的mjj用户登录
create user 'mjj'@'192.118.1.%' identified by '123';
# 指定任何ip的mjj用户登录
create use 'mjj'@'%' identified by '123';
2.删除用户
drop user '用户名'@'IP地址';
3.修改用户名
rename user '用户名'@'IP地址' to '新用户名'@'IP地址';
4.修改密码
set password for '用户名'@'IP地址'=Password('新密码');

注意:
1,SQL的关键字不区分大小写
2,每个命令语句到分号才算结束(python回车就行)

对用户的授权,删除用户和权限

参考:https://www.cnblogs.com/stfei/p/9184320.html
注意要在有ROOT权限的用户下执行,
授权命令:
格式:
grant 权限 on 数据库.* to 用户名@登录主机 identified by “密码”;

删除用户:
格式:

mysql>Delete FROM user Where User=‘test’ and Host=‘localhost’;
mysql>flush privileges;

#查看权限
show grants for '用户'@'IP地址'
#授权
grant select ,insert,update on db1.t1 to "mjj"@'%';
# 表示有所有的权限,除了grant这个命令,这个命令是root才有的。
grant all privileges  on db1.t1 to "mjj"@'%';
#取消权限
#取消来自远程服务器的mjj用户对数据库db1的所有表的所有权限
revoke all on db1.* from 'mjj'@"%";  
#取消来自远程服务器的mjj用户所有数据库的所有的表的权限
revoke all privileges on '*' from 'mjj'@'%';

常用命令

1, 列出所有数据库
mysql>show database;
  
2 ,切换数据库
mysql>use ‘数据库名’;

3, 列出所有表
mysql>show tables;

4,显示数据表结构
mysql>describe 表名;

5 ,删除数据库和数据表
mysql>drop database 数据库名;
mysql>drop table 数据表名;

6,登入Sql用户(已配置好mysql的环境变量)
在命令提示行输入:mysql -u 用户名 -p
(然后回车输入密码)

7,显示表中内容
在mysql环境下输入:**select * from 表名;**回车(有分号结尾)

8,创建表
参考:https://www.runoob.com/mysql/mysql-create-tables.html
CREATE TABLE table_name (column_name1 column_type1,
column_name2 column_type2,…
PRIMARY KEY (‘主键名(是上面column_name中某一个)’));

创建每一个列的数据类型
实例:

CREATE TABLE IF NOT EXISTS  runoob_tbl(
   runoob_id INT UNSIGNED AUTO_INCREMENT,
   runoob_title VARCHAR(100) NOT NULL,
   runoob_author VARCHAR(40) NOT NULL,
   submission_date DATE,
   PRIMARY KEY (runoob_id )
)ENGINE=InnoDB DEFAULT CHARSET=utf8;

解析:
1,如果你不想字段为 NULL 可以设置字段的属性为 NOT NULL,操作数据库时如果输入该字段的数据为NULL ,就会报错。
2,AUTO_INCREMENT定义列为自增的属性,一般用于主键,数值会自动加1。
3,PRIMARY KEY关键字用于定义列为主键。 您可以使用多列来定义主键,列间以逗号分隔
4,ENGINE 设置存储引擎CHARSET 设置编码

9,在数据表中插入数据
insert into 表名 [(要添加的列名)] values (对应的数据组)
注意,若每一个都需要添加是中括号内的可以省略
10,删除列表中内容
格式:**DELETE FROM table_name [WHERE Clause]**表示删除满足where语句的列表中的内容

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!