目录
创建用户:
命令:create user 用户名

设置用户密码:
命令:ALTER USER 用户 IDENTIFIED WITH mysql_native_password BY '密码'

登陆新创建的用户:

创建的新用户连接成功
赋予权限:
grant ALL on 数据库名.* to zs@'%' 给 zs用户 赋予 数据库中所有表 所有权限

权限成功

相关操作:
设置权限(Grant)
#语法:grant privileges on databasename.tablename to username@'host';
#给 zs用户 赋予 数据库db_xiaoli中的表t_p1_user 查询权限
grant SELECT on db_xiaoli.t_p1_user to zs@'%';
#给 zs用户 赋予 数据库db_xiaoli中的表t_p1_user 修改权限
grant UPDATE on db_xiaoli.t_p1_user to zs@'%';
#给 zs用户 赋予 数据库db_xiaoli中所有表 查询权限
grant SELECT on db_xiaoli.* to zs@'%';
#给 zs用户 赋予 数据库db_xiaoli中所有表 所有权限
grant ALL on db_xiaoli.* to zs@'%';
查看所有权限:
命令:show grants for 用户名;
show grants for 'zs'@'%'

撤销权限:(赋予了全部权限不能只撤回一个权限,要全部撤回再重新赋权)
命令:revoke all on t280.* from zs@'%';

相关代码:
撤销权限(Revoke)
#语法:revoke privileges on databasename.tablename from username@'host';
#啥也不能回收,不会对GRANT ALL PRIVILEGES ON `db_xiaoli`.* TO `zs`@`%`有任何影响
revoke DELETE on db_xiaoli.t_p1_user from zs@'%';
#可以回收GRANT SELECT, UPDATE ON `db_xiaoli`.`t_p1_user` TO `zs`@`%`这条权限语句
revoke all on db_xiaoli.t_p1_user from zs@'%';
#可以回收GRANT ALL PRIVILEGES ON `db_xiaoli`.* TO `zs`@`%`这条赋权语句带来的权限
revoke all on db_xiaoli.* from zs@'%';
#注:revoke只能回收grants列表中更小的权限;
新建连接:
1.手动建库
点击-------->MySQL

输入相关信息:

连接成功:

新建数据库:

输入相关内容:

新建成功:
2.脚本建库:
相关内容:
1.MySQL默认数据库介绍
1)information_schema:是一个信息数据库,它保存着关于MySQL服务器所维护的所有其他数据库的信息;
2)mysql:核心数据库,类似于sql server中的master表,主要负责存储数据库的用户、权限设置、关键字等mysql自己需要使用的控制和管理信息;
3)test:测试数据库,没有东西;
2.创建数据库
语法:create database 数据库名;
或者
create database if not exists 数据库名 default charset utf8 collate utf8_general_ci;
注:默认的数据库编码集:utf8(即UTF-8),collate表示排序规则为utf8_general_ci
3.查看所有数据库
语法:show databases;
4.删除数据库(慎用)
语法:drop database 数据库名;
建表:
进行相关操作就可以了:
1.手动建表
2.脚本代码:

相关代码:
MySQL中定义数据字段的类型对你数据库的优化是非常重要的。
MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。
1)字符类型:char varchar text blob
2)数值类型:int bigint float decimal
int -> int
bigint -> long
float -> 成绩
decimal -> 货币类型(精度,小数)
3)日期类型:date time datetime timestamp
date -> yyyy:MM:dd HH:mm:ss
time -> HH:mm:ss
datetime -> yyyy:MM:dd
timestamp(时间戳) -> 长整数

创表:
- 创建用户表
- CREATE TABLE tb_user(
-
- user_id VARCHAR(20) not null,
- order_time datetime not null,
- order_category VARCHAR(50) not null,
- order_atm FLOAT not null,
- shop_id VARCHAR(20) not null
- )
-
-
- insert into tb_user VALUES('A123','2018-01-01 12:34:00','麻辣烫',25.30,'ZL123' );
- insert into tb_user VALUES('A123','2018-01-06 19:20:00','粥',34.20,'SM456' );
- insert into tb_user VALUES('B456','2018-01-15 15:30:00','麻辣烫',22.30,'ZL123' );
- insert into tb_user VALUES('B456','2018-01-25 20:30:00','汉堡',19.50,'HBW123' );
- insert into tb_user VALUES('C789','2018-02-01 22:15:00','小龙虾',60.40,'XM456' );
-
-
- select * from tb_user
-
-
-
- 创建商品BD表
- create table tb_shop(
-
- shop_id VARCHAR(10) not null,
- bd_name VARCHAR(10),
- bd_team VARCHAR(20),
- start_time date,
- end_time date
- )
-
- insert into tb_shop VALUES('ZL123','小明','销售A组','2018-01-01','2018-01-14' );
- insert into tb_shop VALUES('ZL123','小张','销售B组','2018-01-01','2099-12-31' );
- insert into tb_shop VALUES('SM456','小张','销售B组','2016-01-01','2019-01-01' );
- insert into tb_shop VALUES('HBW123','小李','销售C组','2015-01-01','2020-12-31' );
- insert into tb_shop VALUES('XM456','小李','销售C组','2015-01-01','2016-01-01' );
-
-
-
- select * from tb_shop
题目:
1.1月份每笔消费均大于20元的用户的总消费
2.1月份只吃了麻辣烫和汉堡的人数
3.计算每一个BD_TEAM的BD对应门店的销售额
1月份每笔消费均大于20元的用户的总消费
select user_id,sum(order_atm) from(
select * from tb_user where order_time like '%-01-%' and order_atm>=20
)a GROUP BY user_id
效果:
1月份只吃了麻辣烫和汉堡的人数
select count(*) from (
select count(*) from (
select * from(
select * from tb_user where order_time like '%-01-%'
) c where order_category ='麻辣烫' or order_category ='汉堡'
) d GROUP BY user_id HAVING count(*)=2
) e
效果:

计算每一个BD_TEAM的BD对应门店的销售额
select sum(b.order_atm) from tb_shop a,tb_user b where a.shop_id=b.shop_id GROUP BY a.bd_team
效果: