mysql的应用(一)

mysql之账号管理

一.数据库账号及权限
#用户名密码创建需要分开
#命令:create user 用户名;
create user ls;
1.设置权限(Grant)
grant ALL on 【赋予权限的数据库】.* to 【数据库账号名】@’%’;
//ALL表示所有权限
grant SELECT on【赋予权限的数据库】.【表名】to 【数据库账号名】@’%’;
//SELECT表示赋予【赋予权限的数据库】的【表名】的查询权限
grant UPDATE on【赋予权限的数据库】.【表名】to 【数据库账号名】@’%’;
//同理 UPDATE赋予修改权限
grant SELECT on【赋予权限的数据库】.【星号】to 【数据库账号名】@’%’;
//SELECT表示赋予【赋予权限的数据库】的所有的表的查询权限
//同理 UPDATE表示赋予【赋予权限的数据库】的所有的表的修改权限

2.撤销权限(Revoke)
#语法:revoke privileges on databasename.tablename from username@‘host’;
#啥也不能回收,不会对GRANT ALL PRIVILEGES ON【赋予权限的数据库】.【星号】to @’%‘有任何影响
和设置权限相同 只是语法不同
revoke all on 【赋予权限的数据库】.【表名】 from@’%’;
//回收指定的表名的权限
#注:revoke只能回收grants列表中更小的权限;

设置权限(Grant)和撤销权限(Revoke)的参数说明:
1) privileges:  用户的操作权限,如SELECT,INSERT,UPDATE,DELETE等,如果要授予所有权限直接使用:all;
2) databasename:数据库名;
3) tablename:   表名,如果要授予用户对所有数据库和表的操作权限直接使用:*.*;  

3.查看用户权限
#命令:show grants for 用户名;
show grants for ‘zs’@’%’;
在这里插入图片描述
二.mysql默认数据库里面的四张表
1、user表(用户层权限)
2、db表(数据库层权限)
3、tables_priv表(表层权限)
4、columns_priv表(字段层权限)

三.DDL(数据定义语言)
1、数据库管理
以管理员模式打开CMD
1.创建数据库
create database 数据库名;

2.查看所有数据库
show databases;
3.删除数据库(慎用)
drop database 数据库名;
在这里插入图片描述
在这里插入图片描述

2表的管理
跟库差不多 创建: create 修改: alter 删除: drop;
1.创建create table 表名(列名 列的类型【(长度) 约束】);
2.表的修改
alter table 表名 add|drop|modify|change column 列名 【列类型 约束】;
在这里插入图片描述
这里没有创建库 是直接使用已经有的库 用use [库名];
在这里插入图片描述
创建一个BOOK的表

四.常见约束
含义:一种限制,用于限制表中的数据,为了保证表中的数据的准确和可靠性

分类:六大约束
NOT NULL:非空,用于保证该字段的值不能为空
比如姓名、学号等
DEFAULT:默认,用于保证该字段有默认值
比如性别
PRIMARY KEY:主键,用于保证该字段的值具有唯一性,并且非空
比如学号、员工编号等
UNIQUE:唯一,用于保证该字段的值具有唯一性,可以为空
比如座位号
CHECK:检查约束【mysql中不支持】
比如年龄、性别
FOREIGN KEY:外键,用于限制两个表的关系,用于保证该字段的值必须来自于主表的关联列的值
在从表添加外键约束,用于引用主表中某列的值

比如:
在这里插入图片描述
在这里插入图片描述
这张表ID添加了主键约束;所以当主键出现相同的就会报错;

注:主表的主键就是从表的外键!!!!
如:主表
班级编号 班级 老师
001 一班 XXX
从表
学生ID姓名班级编号
001 XXX 001
这里的班级编号就是外键

5.标识列

又称为自增长列
含义:可以不用手动的插入值,系统提供默认的序列值

特点:
1、标识列必须和主键搭配吗?不一定,但要求是一个key
2、一个表可以有几个标识列?至多一个!
3、标识列的类型只能是数值型
4、标识列可以通过 SET auto_increment_increment=3;设置步长
可以通过 手动插入值,设置起始值
在这里插入图片描述
在这里插入图片描述
会在下一行自动递增1;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值