select [all|DISTINCT]
<目标列表达式>[别名],<目标列表达式>[别名]...
from <表名或视图名>[别名],<表名或视图名>[别名]...
where <条件表达式>
group by <列名1>
having <条件表达式>
order by <列名2>
查询学生表和选课表中中的全部数据。
select *
from student
select *
from sc
查询计算机系的学生的姓名、年龄。
select sname,sage
from student
where sdept="计算机系"
查询选修了c01号课程的学生的学号和成绩。
select sno,grade
from student,sc
where sno="c01"
查询成绩在70到80分之间的学生的学号、课程号和成绩。
select s.sno,sc.sno,grade
from student s,sc
where grade between 70 and 80
查询计算机系年龄在18到20之间且性别为男的学生的姓名、年龄。
select sname,sage
from student
where sage between 18 and 20 and ssex="男" and sdept="计算机系"
查询0412101号学生的选课情况。
select *
from sc
where sno="0412101"
查询c01号课程成绩最高分。
select max(grade)
from sc
where sno="c01"
查询学生选修的课程,列出课程号
select sno
from sc
查询学生数据库中学生的最大年龄和最小年龄
select max(sage),min(sage)
from student
查询选修c02号课程的所有学生的平均成绩、最高成绩和最低成绩。
select AVG(grade),max(grade),min(grade)
from sc
where sno="c02"
统计每个系的学生人数。
select sdept,count(sno)
from student
group by sdept
统计每个学生的选课门数,并按选课门数递增显示结果。
select sno,count(sno)
from sc
group by sno
order by count(sno) ASC
格式:
insert
into <表名> (<属性列>...)
values (常量...)
insert语句的功能是将指定的元组插入到指定的关系中,其中属性列的顺序要与常量值一一对应,常量1的值赋给属性列1,常量2的值赋给属性列2,依次类推。
插入一条学生数据。
insert
into Student(Sno,Sname,Ssex,Sdept,Sage)
values(‘200215128‘,‘lee‘,‘男‘,‘CS‘,‘18‘)
在Student表中查询出所有01类图书,将id=01插入到user1表中
insert
into user(id)
select Sdept=‘CS‘
from Student
where id=‘01‘
说明:SQL先处理子查询,得到查询结果,再将结果插入到所指的基本表中。
格式:
update <表名>
set<列名>=<表达式>...
where <条件>
update语句的功能是修改指定关系中满足where子句条件的元组,其中set子句给出指定列的修改方式及修改后的值。若省略where子句,则说明要修改关系中的所有元组,在where子句中可以嵌套子查询。
将学生表中学号为200215128的学生年龄加1.
update Student
set Sage = Sage+1
where Sno=‘200215128‘
将学生表中所有学生年龄加1.
update Student
set Sage = Sage+1
将选课表中所有计算机系的学生成绩提高5%
update SC
set Grade = Grade*1.05
where Sno = (select Sno
from Student
where Sdept=‘CS‘)
格式
delete
from <表名>
where <条件>
delete语句的功能是删除指定关系中满足where子句条件的所有元组。当where语句省略时,表示要删除关系中的全部元组,但表的定义仍存放在数据字典中。delete语句删除的是关系中的数据,而不是表的定义。
将学号为200215128的学生从学生表中删除
delete
from Student
where Sno=‘200215128‘
将学生表中所有学生删除
delete
from Student
将选课表中所有计算机系的学生删除
delete
from SC
where Sno(select Sno
from Student
where Sdept=‘CS‘)
格式
grant <权限> ...
on <对象类型><对象名>
to <用户>...
[with grant option]
grant语句是将指定操作对象的指定操作权限授予指定的用户。如果指定了with grant option子句,则获得某种权限的用户还可以把这种权限在授予别的用户,但在收回权限时,将级联收回。
把查询user1表权限授给用户u1,并允许他再将此权限授予其他用户
grant select
on user
to u1
with grant option
把对user1表和product表的全部权限授予用户u2和u3
grant all priviliges
on user1, product
to u2, u3
把查询user1表的权限授给所有用户
grant select
on user1
to public
格式
revoke <权限>...
on <对象类型><对象名>
from <用户>
用户被授予的权限可由DBA或其他授权者用revoke语句收回。
把用户u4对user表进行修改的权限收回
revoke update
on user
from u4
收回所有用户对user表的查询权限
revoke select
on user
from public
原文:https://www.cnblogs.com/hermitlee/p/13778791.html