定义模式
CREATE SCHEMA "S-T" AUTHORIZATION WANG /*为用户WANG定义一个学生课程模式S-T*/
删除模式
DROP SCHEMA WANG CASCADE /*级联删除*/
DROP SCHEMA WANG RESTRICT /*限制删除*/
级联删除在删除模式的同时把该模式中所有的数据库对象全部删除;限制删除表示如果模式中已经定义了下属的数据库对象(表、视图等),则拒绝该删除语句的执行。
定义基本表
CREATE TABLE "S-T".Student ( /*建立一个学生表*/
Sno CHAR(9) PRIMARY KEY, /*Sno为主码*/
Sname CHAR(20) ,
Sbirth CHAR(20) ,
Sclass CHAR(20) ,
)
修改基本表
ALTER TABLE "S-T".Student ADD Sage CHAR; /*对学生表中增加性别属性*/
ALTER TABLE “S-T”.Class ADD unique (Classname) /*在课程表中增加一个“课程名称”唯一的约束*/
删除基本表
DROP TABLE “S-T”.Teaching;
删除也有CASCADE级联、RESTRICT限制两种。
级联删除,在删除基本表的同时相关的依赖的对象都将被一起删除。限制删除,如果存在依赖该表的对象则此表不能被删除。
数据查询
单表查询
SELECT Sno
FROM Student
SELECT *
FROM Student /*查询学生表中的所有属性*/
SELECT DISTINCT Sno /*去掉表中的重复行*/
FROM Student
查询指定条件的元组可以通过WHERE来实现。
SELECT Sno,Sage
FROM Student
WHERE Sage<20; /*比较大小*/
SELECT Sno,Sage
FROM Student
WHERE Sage BETWEEN 20 AND 25; /*指定上下限*/
SELECT Sno,Sage
FROM Student
WHERE Sage IN ('CS'); /*查找属性值属于指定集合的元组*/
SELECT Sno,Sage
FROM Student
WHERE Sage NOT IN ('CS');
多重条件查询:用运算符AND、OR来连接多个查询条件。
ORDER BY:对查询结果按照一个或多个属性列的升序(ASC)、降序(DESC)排列,默认为升序。
字符匹配:用LIKE、NOT LIKE 来实现字符匹配。 %代表任意长度(可以为零)的字符串
_代表任意单个字符。
空值: IS NULL、 IS NOT NULL
GROUP BY :将查询结果按一列或者多列的值分组。
连接查询
等值连接查询:
SELECT Student.*,SC.*
FROM Student ,SC
WHERE Student.Sno,SC.Sno; /*等值连接*/
非等值连接查询:当连接运算符不为=时为非等值连接查询。
自身连接:为同一个表取两个别名,两个表进行连接,即为自身查询
多表连接、外连接查询。