Mysql_o1简介

本文介绍了MySQL的安装下载过程,详细阐述了用户管理的三种权限及其在不同环境中的应用,并提供了创建数据库和表的相关SQL语句。此外,通过三个实际案例,包括筛选消费金额、特定食品消费人数及计算销售额,深入讲解了数据库操作。
摘要由CSDN通过智能技术生成


目录

一、安装下载

二、用户管理(三种权限,三个环境)

三.相关的sql语句

四、建库建表

1. 表字段类型

2. 约束

3.建库建表SQL语句

五.案列

1.两个表

问题①:一月份笔消费均大于20元的用户的消费金额

问题②:一月只吃了麻辣烫和汉堡的人数

问题③:计算每个bd_time的bd对应门店的销售额


一、安装下载

MySQl的安装以及环境的搭建博主已经在前面的博客有写过,所有大家点击链接就可看到相关步骤
链接: http://t.csdn.cn/eY06X

二、用户管理(三种权限,三个环境)

项目经理 数据库而言:增删改查,Create、drop等权限,一般具备所有权限
项目组长 数据库而言:只具备增删改查
3)开发人员:数据库而言:查询(select)
对于系统开发而言,三个环境
线网、生产环境:系统开发完毕,客户使用的那个环境
测试环境:公司内部模拟客户现场,搭建而成的环境
开发环境:本地电脑
权限的划分,针对的是生产环境
 

一、首先我们需要来看一下mysql默认数据库里面的四张表(user,db,tables_priv,columns_priv)。

1、user表(用户层权限)


因为字段太多,只截取了一部分。首先登陆的时候验证Host,User,Password(authentication_string)也就是ip,用户名,密码是否匹配,匹配登陆成功将会为登陆者分配权限,分配权限的顺序也是按照上面四张表的排列顺序进行的,举个例子,如果user表的Select_priv为Y说明他拥有所有表的查找权限,如果为N就需要到下一级db表中进行权限分配了。其中的%是通配符,代表任意的意思。

2、db表(数据库层权限)


来到db表之后会匹配Host,User然后会根据Db字段对应的表进行权限分配,像Select_priv这些字段对应的权限大家应该都能看出来是对应着什么权限了吧,这里不细说了(不偷懒,举个例子Select_priv,Insert_priv,Update_priv,Delete_priv,Create_priv,Drop_priv分别代表着查询,增加,更新,删除,创建,销毁)。其中Y代表这拥有此项权限,N则代表没有此项权限。

3、tables_priv表(表层权限)


与上面一样,这是通过Host,Db,User,Table来进行定位到表层的一个权限分配。不过它只有Table_priv和Column_priv两个字段来记录权限。

4、columns_priv表(字段层权限)


顾名思义,字段层权限,通过Host,Db,User,Table,Column来进行定位到字段层的一个权限分配,只有Column_priv来记录权限。
 

三.相关的sql语句

0.查询用户
SELECT * from user;
​
1.创建用户并设置登录密码
#MySQL5.7
#命令:create user 用户名 identified by '密码';
#注:identified by会将纯文本密码加密作为散列值存储
create user ls identified by '123456';
#MySQL8
#用户名密码创建需要分开
#命令:create user 用户名;
create user ls;
​
​
2.查看用户信息
#MySQL5.7
select host,user,password from user;
#MySQL8
select host,user,authentication_string from user;
​
3.删除用户(慎用)
#命令:drop user 用户名;
#drop user ls;
​
4.修改用户密码
4.1 修改密码
#MySQL5.7
#命令:set password for 用户名=password('新密码');
set password for zs=password('123456');
​
#MySQL8
#ALTER USER 用户 IDENTIFIED WITH mysql_native_password BY '密码';
ALTER USER 'ls'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
​
4.2 刷新配置
#命令:flush privileges;
​
#MySQL5.7与MySQL8关于权限操作没有差异性
5.设置权限(Grant)
#语法:grant privileges on databasename.tablename to username@'host';
#给 zs用户 赋予 数据库db_xiaoli
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值