首页 > 代码库 > 简易SQL语句
简易SQL语句
/*创建 模式 为用户 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语句
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。