MySQL笔记代码总结(数据库,表格,数据操作,存储程序,用户管理,用户权限管理,角色管理)

Mysql代码指令

一.数据库

  1. 创建数据库

Create database 数据库名;

  1. 查看数据库

Show databases;

使用数据库

Use 数据库名;

  1. 修改数据库

Alter database 数据库名;

  1. 删除数据库

Drop database 数据库名;

二.表格

  1. 创建和查看表格

创建表格

create table 表名(

字段1 字段类型,

字段2 字段类型,

字段n 字段类型

);

​ 查看表格

show tables;

desc 表格名;

  1. 修改数据表

(1)修改表名

alter table 原表名 rename to 新表名;

(2)修改字段

alter table 表名 change 原字段名 新字段名 新数据类型;

(3)添加字段

alter table 表名add 新字段名 新数据类型;

(4)删除字段

alter table 表名 drop字段名;

  1. 删除表

drop table 表名;

三.添加、删除、修改数据

  1. 添加插入数据

INSERT INTO 表名(字段名1,字段名2,...) VALUES (值 1,值 2,...);

  1. 插入多条数据

INSERT INTO 表名 [(字段名1,字段名2,...)]VALUES (值 1,值 2,…),(值 1,值 2,…),...;

  1. 修改数据

UPDATE 表名 SET 字段名1=值1[,字段名2 =值2,…] [WHERE 条件表达式];

  1. 删除数据

DELETE FROM 表名 [WHERE 条件表达式];

四.查询数据

1.SELECT语句的基本语法格式

SELECT [ALL | DISTINCT ] * | 列名1 [[AS] 别名] [,列名2,…,列名n]

FROM 表名

[WHERE条件表达式]

[GROUP BY 列名 [ASC | DESC] [HAVING 条件表达式]]

[ORDER BY 列名 [ASC | DESC] , ...]

[LIMIT [OFFSET] 记录数];

• SELECT 子句:指定查询结果集返回的列,当使用“*”时,用于显示表中所有的列;关键字DISTINCT为 可选参数,用于消除查询结果集中的重复记录。

• FROM子句:表示查询的数据源,可以是表或视图。

• WHERE子句:指定查询筛选条件。

• GROUP BY子句:指定查询的分组列名;关键字HAVING为可选参数,用于指定分组后的结果集筛选条件。

• ORDER BY子句:指定查询结果集的排序列名。

• LIMIT子句:用于限制查询结果集的行数。参数OFFSET为偏移量,当OFFSET值为0时,表示从查询结果从 第1条记录开始返回,如果OFFSET为1,表示查询结果从第2条记录开始,以此类推

查询语句的书写顺序和执行顺序
select ===> from ===> where ===> group by ===> having ===> order by ===> limit

五,存储函数,存储过程,事件

​ 1.存储函数

CREATE FUNCTION 函数名 ([参数列表 ])

RETURNS 数据类型

[COMMENT ‘注释’]

[ [NOT] DETERMINISTIC ]

[{ CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA }]

函数体;

参数列表:格式: 参数名 数据类型

RETURNS:指定返回值的数据类型

[NOT] DETERMINISTIC: 指明函数的确定性,当指明为DETERMINISTIC时,表示当输入 参数相同时,运行结束,函数的 输出结果也是不变的。

函数体:

BEGIN…END

必须包含RETURN语句

2.定义数据(局部变量)

DECLARE 变量名 数据类型 [ DEFAULT 初始值];

3.存储过程

CREATE PROCEDURE 存储过程名 ([参数列表 ])

[存储过程特性]

程序体;

参数列表:格式: [IN | OUT | INOUT ] 参数名 数据类型

存储过程特性: COMMENT, [NOT] DETERMINISTIC …

函数体: BEGIN…END

​ 4.触发器

CREATE TRIGGER 触发器名

触发时间 触发事件

ON 表名 FOR EACH ROW

BEGIN

被触发后将要执行的动作

END;

触发时间:BEFORE/AFTER

触发事件:INSERT/UPDATE/DELET

5.事件

CREATE EVENT 事件名称

ON SCHEDULE 时间与频率

[ON COMPLETION [NOT] PRESERVE ]

[ENABLE | DISABLE]

[COMMENT 事件注释]

DO 程序体;

时间与频率:执行一次: AT 时间戳 [+ INTERVAL 时间间隔 时间单位]

周期性执行:EVERY 时间间隔 时间单位 [STARTS 开始时间 [+ INTERVAL 时间间隔] ]

[ENDS 结束时间 [+ INTERVAL 时间间隔] ]

六.数据库用户管理

查询主机用户(控制台输入)

use mysql;

select host,user,authentication_String from user;

​ 1.创建用户

create user '用户名'@'登陆主机/ip' identified by '密码';

​ 2.登录用户

mysql -u '用户名'@'登陆主机/ip'

​ 3.修改密码

alter user ‘用户名'@'登陆主机/ip' identified by '密码';

4.删除用户

drop user '用户名'@'主机名'

七.用户权限管理

1.权限的授予

​ (1)权限授予

GRANT 权限类型 [(属性列表)] [,权限类型 [(属性列表)] [, …]]

ON [{TABLE | PRCEDURE | FUNCTION}]

{* | *.* | 数据库名.* | 数据库名. 表名 | 表名 | 数据库名.存储过程/函数名}

TO ’用户名’ [@’主机名’] [ , ’用户名’ [@’主机名’] [, …]]

[WITH GRANT OPTION]

* 使用ALL关键字,指定所有类型的权限

* 指定 WITH GRANT OPTION 的情形下, 允许该用户将自己所有的权限赋予其他用户

(2)权限的查看

SHOW GRANTS FOR ’用户名’ [@’主机名’];

2.权限的收回

REVOKE 权限类型 [(属性列表)] [,权限类型 [(属性列表)] [, …]]

ON [{TABLE | PRCEDURE | FUNCTION}]

{* | *.* | 数据库名.* | 数据库名. 表名 | 表名 | 数据库名.存储过程/函数名}

FROM ’用户名’ [@’主机名’] [ , ’用户名’ [@’主机名’] [, …]]

八.角色管理

​ 创建角色 CREATE ROLE 角色名1 [, 角色名2, …];

​ 删除角色 DROP ROLE 角色名1 [, 角色名2, …];

角色授权 GRANT 权限类型 ON 数据对象 TO ‘角色名’@’主机名’ ;

将角色指派给用户 GRANT角色名1 [, 角色名2, …] TO 用户1 [, 用户2, …] ;

  • 25
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值