VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 数据库 > MySQL >
  • 【MySQL】DCL语句及练习

  • SQL:结构化查询语言
  • DB:datebase 数据库

SQL语句主要有三个部分构成:DDL DML DCL
一、DDL:数据定义语言

二、DML:数据操作语言

三、DCL:数据控制语言
(针对权限的修改操作)
//创建一个本地用户(root下登录)

create user "cy1212" @ "localhost";
  • 1

1、授权 grant(root有授权权限) //将CY1212中的查看权限授予(to)“cy1212”

grant select on CY1212 .* to "cy1212";
#  *代表所有
  • 1
  • 2

权限:

  • select 查询
  • update 修改
  • insert 增加
  • delete 删除
  • create 创建数据库
  • drop 删除数据库
  • All 所有权限 2、回收权限 revoke //从CY1212中回收cy1212的查询权限(在root下进行)
revoke select on CY1212 .* from "cy1212"; 
  • 1

//将所有权限授予u1,则u1也具备授予权限的能力

grant all on *.* to "u1" with grant option;
  • 1

注意:回收权限时,由谁授予,就由谁回收,不能越级回收

MySQL练习: 1、查询“李”姓老师的基本信息 teacher… name…

select * from teacher “李%”;
  • 1

注:

  • *:所有信息
  • 模糊匹配用like,所以此处只能用like,不能用“=”
  • %:通匹配,只要是姓李就可以,但若无%,直接是“李”,那么“李四”、“李高兴”就不能匹配,出现错误。

2、求平均成绩大于60分的学生编号和平均成绩 成绩表 result:id pid score

在这里插入图片描述

select id , AVG(score) avg-score 
from result group by id having AVG(score) > 60;
  • 1
  • 2

注:AVG为聚合函数,有聚合函数时,“where”改为“having”

3、求“001”课程成绩大于“002”课程成绩的所有学生信息 stu:id name sex age result: sid pid score (求学生编号) A:

select id from result a,result b
where (a.id = b.id) and (a.pid = "001" and a.score > b.score);
  • 1
  • 2

B:连接

select id, name, sex, age
from stu t1
inner join
(select id
from
(select id, score from result where pid = "001")a
inner join
(select id, score, from result where pid = "002")b
on a.id = b.id and a.score > b.score)t2
on t1.id = t2.id;

相关教程