关系数据库标准语言SQL-1
发布日期:2021-06-29 12:29:53 浏览次数:2 分类:技术文章

本文共 1738 字,大约阅读时间需要 5 分钟。

数据定义:CREATE、DROP、ALTER

数据查询:SELECT
数据操纵:INSERT、UPDATE、DELETE
数据控制:GRANT、REVOKE

主码约束: PRIMARY KEY

唯一性约束: UNIQUE
非空值约束: NOT NULL
primary key = unique + not null

创建表

建立一个“学生选课”表SC,它由学号Sno、课程号Cno,修课成绩Grade组成,其中(Sno, Cno)为主码
解:Create table SC(Sno char(12),
Cno varchar(10),
Grade int,
Primary key(Sno,Cno));

删除表

Drop table SC;

选择表

增加新的列和完整性约束条件
Alter table SC add Scome date;
删除指定的列
Alter table SC drop Scome
删除完整性约束条件
Alter table SC drop primary key(Sno);
用于修改列名和数据类型
Alter table SC modify Grade char(2);

创建索引

UNIQUE INDEX:唯一性索引(相当于增加了一个unique约束)(可多个)
CLUSTER INDEX:聚簇索引(某种情况下可调高查询速率)(只能有一个)
ASC:升序(默认)
DESC:降序
SC表按学号升序和课程号降序建唯一索引
create unique index Scon on SC(Sno ASC,Cno DESC);

删除索引

drop index Scon;

查询

GROUP BY:对查询结果按指定列的值分组,该属性列值相等的元组为一个组

HAVING:筛选出只有满足指定条件的组
ORDER BY:对查询结果表按指定列值的升序或降序排列
DISTINCT:消除取指重复的行

比较:=,>,<,>=,<=,!=,!>,!<,<>

确定范围:BETWEEN AND,NOT BETWEEN AND
确定集合:IN,NOT IN
字符匹配:LIKE ,NOT LIKE
空值:IS NULL,IS NOT NULL
多重条件:AND,OR

%代表任意长度(长度可以为0)的字符串

_ (下横线) 代表任意单个字符

count()计数

sum()总和
max()最大值
min()最小值
avg()平均值

查询Sno列值,查询Sname值并全部改写为小写

select Sno,ISLOWER(Sname) from SC;
查询表SC的全部记录
select * from SC;
查询Sname值并改名为name
select Sname name from SC;
查询Sno 的不重复值
select distinct Sno from SC;
查询信息系(IS)、数学系(MA)和计算机科学系(CS)学生的姓名和性别
select Sname,Ssex from SC where Sdept in(‘IS’,’MA’,’CS’);
查询第二个字为刘的学生的姓名,学号和性别
select Sname,Sno,Ssex from SC where Sname like’_刘%’
查询DB_Design课程的课程号和学分(有下划线)
select Cno,Ccredit from Cource where Cname like‘DB_Design’ escape’\’*(这里采用换码字符将通配符转义为普通字符)*
查询以”DB_”开头,且倒数第3个字符为 i 的课程的详细情况。
select * from Course where name like’DB_%I__’ escape’\’
查询学生总人数
select count(*)from SC;
查询选修了课程的学生人数
select count(distinct Sno)from SC;(Dinstinct避免重复计算学生人数)
查询选修了3门以上课程的学生学号
select Sno from SC group by Sno having count(*)>3

转载地址:https://bupt-xbz.blog.csdn.net/article/details/77113318 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:文章标题关系数据库标准语言SQL-2
下一篇:计算机网络-概述

发表评论

最新留言

留言是一种美德,欢迎回访!
[***.207.175.100]2024年04月13日 09时04分26秒