记录了SQL语言的一些小例子
一、数据定义
1、表单创建1
1 | create table student |
2、表单创建2
或将createtable.txt
更改为.sql
格式,打开SQL Plus输入:@c:/createtable
,因为表中有student、course、sc三个表中会自带有数据。createtable.txt
如下:
1 | create table student |
3、表单删除
1 | /*删除student表(cascade:如果有外键,视图,也会被强制删除,属于简练操作;而如果使用restrict则不会强制删除)*/ |
4、表单修改
1 | /*向student表中增加“入学时间”列,其数据类型为varchar型*/ |
5、创建索引
1 | /*为student表建立索引 cluster:聚簇索引;物理顺序和索引的逻辑书讯相同,如买书 unique:唯一索引*/ |
6、修改索引表名
1 | /*将SC表中的scno索引名改为SCsno*/ |
7、删除索引表
1 | /*删除student表中的stuname索引*/ |
二、数据查询
1、select语句
可以用select来查询数据
1 | /*查询student表中的sno和sname*/ |
3、distinct
distinct可以用来去掉重复的行
1 | /*从sc表中查询sno,会发现结果中有重复的sno*/ |
4、where
查询满足指定条件的元组可以通过where字句来实现
1 | /*查询student表中sage<20的sname和sage*/ |
1 | /*查找分数为空的学生的学号和课程号*/ |
5、order by
可以用order by子句对查询结果按照一个或多个属性列的升序(ASC)或降序(DESC)排列,默认值为升序。
1 | /*查询了选修了3号课程的学生的学号及其成绩,查询结果按分数的降序排列*/ |
6、聚集函数
1 | /*查询student表中的元组数目*/ |
7、group by
1 | /*对sc表中的cno按cno进行分组*/ |
8、连接查询
1 | /*查询每个学生及其选修课程的情况【注意两个表连接形成了5个元组,student第一个连接到sc三个元组,第二个连接到sc两个元组,一共五个元组】*/ |
9、嵌套查询
1 | /*查询选修了2号课程学生的名字*/ |
10、集合查询
1 | /*查询CS系学生和年龄小于19岁的学生的并集*/ |
三、数据更新
1 | /*在student增添一行元组,所增添的信息不按表中的顺序,所以需要在student后面增添所添加信息的项目*/ |
四、空值的处理
1 | /*这两种方法都能将SC表中的grade设置为null*/ |
五、视图
1 | /*建立信息系学生的视图*/ |
本文作者:
小豆同学
版权声明: 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。转载请注明出处!
版权声明: 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。转载请注明出处!