目录标题
- 一.用户管理
- 1.概念
- 2.创建用户及权限授予
- 二.DDL(数据定义语言)在这里插入图片描述
- 1.概念
- 数据库的管理
- 数据表的管理
- 1.常规表表的创建及查看
- 2.约束表的创建
- 3.标识符
一.用户管理
1.概念
管理MySql中用户操作数据的操作权限
2.创建用户及权限授予
以管理员权限运行CMD
1.在控制台输入:==mysql -u root -p;==输入密码进入本地数据库
2.创建用户:create user 用户名;
3.给新建的用户设置密码:
ALTER USER ‘jack’@’%’ IDENTIFIED WITH mysql_native_password BY ‘123456’;
4.设置权限:grant … to …
SELECT(查询),INSERT(增加),UPDATE(修改),DELETE(删除) ALL(全部)
grant ALL on 数据库名.* to 用户名@’%’;
grant SELEVT,INSERT,UPDATE on 数据库名.表名 to 用户名@’%’;
[*表示所有表权限,只加单个表名表示对单个表的操作权限]
5.查看权限:show grants for 某用户名;
6.回收权限:revoke All on db_book.* from jack@’%’;
二.DDL(数据定义语言)在这里插入图片描述
1.概念
DDL(Data Definition Language)
DDL是SQL语言的四大功能之一。
用于定义数据库的三级结构,包括外模式、概念模式、内模式及其相互之间的映像,定义数据的完整性、安全控制等约束
数据库的管理
1.数据库的创建:create database 数据库名; 创建数据库
2.数据库的删除:drop database 数据库名;
3.数据库的使用:use 数据库命;
数据表的管理
1.常规表表的创建及查看
1.创建常规无约束表:create table 表名(字段名 类型,字段名 类型);
2.查看表:show tables;
3.查看表内容
desc 表名;
2.约束表的创建
1.约束的类型:六大约束
.
1.NOT NULL:非空,用于保证该字段的值不能为空
比如姓名、学号等
2.DEFAULT:默认,用于保证该字段有默认值
比如性别
3.PRIMARY KEY:主键,用于保证该字段的值具有唯一性,并且非空
比如学号、员工编号等
4.UNIQUE:唯一,用于保证该字段的值具有唯一性,可以为空
比如座位号
5.CHECK:检查约束【mysql中不支持】
比如年龄、性别
6.FOREIGN KEY:外键,用于限制两个表的关系,用于保证该字段的值必须来自于主表的关联列的值2.约束分为创建时添加约束和创建时在列段结束后添加约束和创表结束后添加约束
USE students;
DROP TABLE stuinfo;
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)#外键
);
CREATE TABLE major(
id INT PRIMARY KEY,
majorName VARCHAR(20)
);
3.标识符
又称为自增长列
含义:可以不用手动的插入值,系统提供默认的序列值
特点:
1、标识列必须和主键搭配吗?不一定,但要求是一个key
2、一个表可以有几个标识列?至多一个!
3、标识列的类型只能是数值型
4、标识列可以通过 SET auto_increment_increment=3;设置步长
可以通过 手动插入值,设置起始值
#一、创建表时设置标识列
DROP TABLE IF EXISTS tab_identity;
CREATE TABLE tab_identity(
id INT ,
NAME FLOAT UNIQUE AUTO_INCREMENT,
seat INT
);
TRUNCATE TABLE tab_identity;
INSERT INTO tab_identity(id,NAME) VALUES(NULL,'john');
INSERT INTO tab_identity(NAME) VALUES('lucy');
SELECT * FROM tab_identity;
SHOW VARIABLES LIKE '%auto_increment%';
SET auto_increment_increment=3;