当前位置:Gxlcms > 数据库问题 > 简易SQL语句

简易SQL语句

时间:2021-07-01 10:21:17 帮助过:5人阅读

创建 模式 为用户 User1*/ CREATE SCHEMA test authorization User1; CREATE SCHEMA test USER User1; CREATE TABLE student ( Sno NUMERIC(10) PRIMARY KEY //主键 CONSTRAINT c1 CHECK(Sno BETWEEN 90000 AND 99999), Sname CHAR(20) NOT NULL UNIQUE, //取唯一值 Sage NUMERIC(3) CONSTRAINT c3 CHECK(Sage<30), Ssex CHAR(2) CONSTRAINT c4 CHECK (Ssex IN (,)), ); CREATE TABLE sc ( Sno CHAR(10), Cno CHAR(10), Grade SMALLINT CHECK (Grade>=0 AND Grade <= 100), /*当主码是属性集合时使用 主码为表级完整性约束条件*/ PRIMARY KEY(Sno,Cno), /*外键 字符长度需相同 表级完整性约束条件1*/ FOREIGN KEY (Sno) REFERENCES student(Sno), FOREIGN KEY (Cno) REFERENCES course(Cno) ); DROP TABLE student RESTRICT; /*联级删除*/ DROP TABLE student CASCADE; /*不是联级删除*/ /* 更改表 */ ALTER TABLE student ADD COLUMN <新列名> <数据类型>[完整性约束] ADD <表级完整性约束> DROP [COLUMN] <列名> [CASCADE|RESTRICT] DROP CONSTRAINT <完整性约束名> [RESTRICT|CASCADE] ALTER COLUMN <列名><数据类型> /* 查询 */ SELECT DISTINCT Sno /* distinct 表示消除查询出来的重复元组*/ FROM sc; WHERE Sno = 201215121; SELECT Sname,Ssex /*查询不是,,*/ FROM student WHERE Sdept NOT IN(CS,MA,IS); /* % 表示任意长度字符 _(下横线)表示任意单个字符 ESCAPE‘\‘为换码字符 紧跟在后面的通配符可转为普通字符 */ SELECT * FROM course WHERE Cname LIKE DB\_%i ; /* 子查询的select中不能使用order by 字句, order by 只能对最终的查询结果排序 */ SELECT * FROM student ORDER BY Sage ASC;/*升序排序*/ SELECT * FROM student ORDER BY Sage DESC;/*降序排序*/ /* 聚集函数 count(列名) avg() max() min()sum() */ /* 分组查询 查询选修了三门以上课程的学生学号 having 语句作用于组 从中选择满足条件的组 */ SELECT Cno FROM sc GROUP BY Sno HAVING COUNT(*)>3; SELECT first.Cno,second.Cpno FROM course FIRST, course SECOND WHERE first.Cpno = second.Cno; /*取别名*/ /*左外连接*/ SELECT student.Sno /*左外连接 可去除重复值*/ SELECT student.`Sno` FROM student LEFT OUTER JOIN sc USING (Sno); /* 如果子查询的结果依赖于父查询 这类子查询称为相关子查询 */ /* EXISTS 代表存在量词 带有EXISTS谓词的子查询不返回任何数据,只产生逻辑真值true 或逻辑假值false */ /* 集合查询 :并操作 UNION 交操作 INTERSECT 差操作 EXCEPT */ /* 数据更新 */ UPDATE student SET Grade = 0 WHERE Sno IN( SELECT Sno FROM student WHERE Sdept = cs ); /* 数据元组删除 */ delect FROM student WHERE Sno = 201215123; /* 数据插入 */ INSERT INTO sc(Sno,Cno,Grade) VALUES (201215127,1,NULL); /* 索引的操作 */ CREATE UNIQUE [cluster] INDEX S1 ON student(Sno ASC); /*升序建立索引*/ ALTER INDEX <旧索引名> RENAME TO <新索引名>; /*改名*/ DROP INDEX <索引名>; /*删除*/ /* 视图操作 create view drop view update........set.......where insert into ... values... delete from ... where... */ CREATE VIEW <视图名> [<列名>,<列名>] AS <子查询> [WITH CHECK OPTION]; /* 用户权限操作 */ GRANT <权限>,<权限> ON <对象类型>,<对象名> TO <用户>,<用户> [WITH GRANT OPTION]; REVOKE <权限>,<权限> ON <对象类型>,<对象名> FROM <用户>,<用户> [CASCADE|RESTRICT];

 

简易SQL语句

标签:ict   min   foreign   cas   排序   select   通配符   条件   outer   

人气教程排行