用户授权

数据库账号及权限管理
**概念:**用户管理指的就是管理MySQL数据库中数据的操作权限。

1.用户查询
SELECT *FROM ‘user’;
2.创建用户
语法:create user 用户名;
操作: create user jf;
3.给设置的用户设置密码
ALTER USER ‘jf‘@’%’ IDENTIFIED WITH mysql_native_password BY ‘root’;

数据库用户授权以及ddl语言

4.给创建的用户设置权限
grant ALL on t1.* to [email protected]’%’;
grant ALL on t2.*to [email protected]’%’;
数据库用户授权以及ddl语言
通过设置权限 jf用户也拥有了和fuxing用户一样的数据库。

5.查询权限
show grant for ‘jf’@’%’;
数据库用户授权以及ddl语言
6.撤销权限
revoke all on t1.* from [email protected]’%’;
jf用户将不在拥有t2的权限
7.重新授权
grant SELECT,UPDATE,INSERT on t1.* to [email protected]’%’;
数据库用户授权以及ddl语言
点击运行后,jf用户将会拥有对t1的查看,添加,修改的权限。
二.DDL语言
一.数据库的管理
1.创建数据库
create databse b_book;
数据库用户授权以及ddl语言
数据库用户授权以及ddl语言
从上图可以看到在fuxing用户下创建了一个名为b_book的数据库。
2.删除数据库
DROP DATABASE b_book;

3.使用数据库
数据库用户授权以及ddl语言

二.数据表管理
1.创建表
数据库用户授权以及ddl语言
数据库用户授权以及ddl语言

创建一个名为orders的表并且设置id ,bname,price字段并且设置字节长度。
2.修改表名
数据库用户授权以及ddl语言
数据库用户授权以及ddl语言
从图中可以看到orders改成了books;
3.表的删除
DROP TABLE IF EXISTS book_author;
SHOW TABLES;
4.表的修改
(1).修改列名
数据库用户授权以及ddl语言
数据库用户授权以及ddl语言
这里数据类型为varchar的时候一定要给长度,不然就会报错。
(2).添加列名
数据库用户授权以及ddl语言
数据库用户授权以及ddl语言
添加类型为int的price列,如果添加的数据类型是varchar类型一定要在括号里给长度。
(3).删除列名
数据库用户授权以及ddl语言
数据库用户授权以及ddl语言

5.查询用户

数据库用户授权以及ddl语言
6.展示表
show tables;
数据库用户授权以及ddl语言
可以看到在b_book的数据库中有一个名为orders的表。

常见约束
含义: 一种限制,用于限制表中的数据,为了保证表中数据的可靠和准确性。
分类:1.NOT NULL:非空,用于保证该字段的值不能为空。
DEFAULT:默认,用于保证该字段有默认值。
PRIMARY KEY:主键,用于保证该字段的值就有唯一性,并且非空。
比如学号,员工编号。
UNIQUE:唯一,用于保证该字段的值具有唯一性,可以为空,比如座位号。
CHECK:检查约束。
FOREIGN KEY:外键,用于限制两个标的关系,用于保证该字段的值必须来自于从表的关联列的值
注意:**从表的外键为主表的主键。
主键和唯一的最大区别就是主键不允许为空,唯一允许为空。
外键:
外键设置在从表当中。
主表的关联必须是一个key
插入数据时,先插入主表,再插入从表
删除数据时,先删除从表,再删除主表

1.创建students数据库
CREATE DATABASE students;
CREATE TABLE stuinfo(
id INT PRIMARY KEY,#主键
stuName VARCHAR(20) NOT NULL UNIQUE,#非空
gender CHAR(1) CHECK(gender=‘男’ OR gender =‘女’),#检查
seat INT UNIQUE,#唯一
age INT DEFAULT 18,#默认约束
majorId INT REFERENCES major(id)#外键
)
数据库用户授权以及ddl语言
数据库用户授权以及ddl语言
数据库用户授权以及ddl语言
#查看stuinfo中的所有索引,包括主键、外键、唯一
SHOW INDEX FROM stuinfo;
数据库用户授权以及ddl语言
2.1添加非空约束

数据库用户授权以及ddl语言
数据库用户授权以及ddl语言
2.2添加默认约束:
数据库用户授权以及ddl语言标识列
该种列具有以下三种特点:

1、列的数据类型为不带小数的数值类型

2、在进行插入(Insert)操作时,该列的值是由系统按一定规律生成,不允许空值

3、列值不重复,具有标识表中每一行的作用,每个表只能有一个标识列。

由于以上特点,使得标识列在数据库的设计中得到广泛的使用。

二、标识列的组成
创建一个标识列,通常要指定三个内容:
1、类型(type)
在SQL Server 2000中,标识列类型必须是数值类型,如下:
decimal、int、numeric、smallint、bigint 、tinyint
其中要注意的是,当选择decimal和numeric时,小数位数必须为零
另外还要注意每种数据类型所有表示的数值范围
2、种子(seed)
是指派给表中第一行的值,默认为1
3、递增量(increment)
相邻两个标识值之间的增量,默认为1。

相关文章: