常用sql语言语法格式

上传人:第*** 文档编号:34261490 上传时间:2018-02-22 格式:DOC 页数:5 大小:53KB
返回 下载 相关 举报
常用sql语言语法格式_第1页
第1页 / 共5页
常用sql语言语法格式_第2页
第2页 / 共5页
常用sql语言语法格式_第3页
第3页 / 共5页
常用sql语言语法格式_第4页
第4页 / 共5页
常用sql语言语法格式_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《常用sql语言语法格式》由会员分享,可在线阅读,更多相关《常用sql语言语法格式(5页珍藏版)》请在金锄头文库上搜索。

1、软件技术课程设计实验指导书第四篇 附录目 录附录 B 常用 SQL 语言语法格式一、SQL 模式的创建和撤消CREATE SCHEMA AUTHORIZATION 例如, CREATE SCHEMA ST_COURSE AUTHORIZATION 李斌DROP SCHEMA CASCADE|RESTRICTDROP SCHEMA CASCADE|RESTRICT撤消方式有两种:CASCADE(连锁式)方式,执行 DROP 语句时,把 SQL 模式及其下属的基本表、视图、索引等所有元素全部撤消;RESTRICT( 约束式) 方式,执行 DROP 语句时,只有当 SQL 模式中没有任何下属元素时,

2、才能撤消 SQL 模式,否则拒绝执行DROP 语句。例如,要撤消 SQL 模式 ST_COURSE 及其下属所有的元素,可用下列语句实现:DROP SCHEMA ST_COURSE CASCADE二、基本表的创建、修改和撤消(1)基本表的创建句法:CREATE TABLE SQL 模式名.基本表名(列名 类型, 完整性约束,)主键子句(PRIMARY KEY) 、检查子句 (CHECK)和外键子句(FOREIGN KEY)。例如:CREATE TABLE S (SNO CHAR(4) NOT NULL,SNAME CHAR(20) NOT NULL,STATUS CHAR(10),ADDR C

3、HAR(20),PRIMARY KEY(SNO);(2)基本表结构的修改基本表建立后,可根据需要对基本表结构进行修改,即增加新的属性或删除原有的属性。 增加新的属性句法: ALTER TABLE 基本表名 ADD 新属性名 新属性类型例 7.2 在基本表 S 中增加一个电话号码(TELE) 属性,可用下列语句:ALTER TABLE S ADD TELE CHAR(12); 应注意,新增加的属性不能定义为“NOT NULL”。基本表在增加一个属性后,原有元组在新增加的属性列上的值都被定义为空值(NULL)。 删除原有的属性句法: ALTER TABLE 基本表名 DROP 属性名 CASCAD

4、E|RESTRICT此处 CASCADE 方式表示:在基本表中删除某属性时,所有引用到该属性的视图和约束也要一起自动地被删除。而 RESTRICT 方式表示在没有视图或约束引用该属性时,才能在基本表中删除该属性,否则拒绝删除操作。ALTER TABLE S DROP STATUS CASCADE;(3)基本表的撤消可用“DROP TABLE”语句撤消基本表,其所有数据也丢失了。 DROP 语句的句法如下:DROP TABLE 基本表名 (CASCADE|RESTRICT)例如 DROP TABLE S RESTRICT;三、视图的创建和撤消(1)视图的创建句法:CREATE VIEW 视图名(

5、列名表) AS SELECT 查询语句CREATE VIEW JSP_NAME(JNO,JNAME,SNO,SNAME,PNO,PNAME,QTY)AS SELECT (J.JNO,JNAME,S.SNO,SNAME,P.PNO,PNAME,SPJ.QTY)FROM S,P,J,SPJWHERE S.SNO=SPJ.SNO AND P.PNO=SPJ.PNO AND J.JNO=SPJ.JNO;此处,视图中列名顺序与 SELECT 子句中的列名顺序一致,视图名 JSP_NAME 后的列名可省。(2)视图的撤消句法:DROP VIEW 视图名例 7.6 撤消 JSP_NAME 视图,可用下列语句

6、实现:DROP VIEW JSP_NAME; 四、索引的创建和撤消(1)索引的创建句法:CREATE UNIQUE INDEX 索引名 ON 基本表名 ( , )其中,基本表名指定要建索引的基本表的名字。索引可以建在该表的一列或多列上,各列名之间用逗号分隔。每个后面还可以用指定索引值的排列次序,包括ASC(升序) 和 DESC(降序)两种,默认值为 ASC。UNIQUE 表示此索引的每一个索引值只对应惟一的数据记录。CREATE INDEX JNO_INDEX ON J(JNO);(2)索引的撤消句法:DROP INDEX 例 7.8 撤消索引 JNO_INDEX 和 SPJ_INDEX,用如

7、下语句:DROP INDEX JNO_INDEX,SPJ_INDEX;五、SQL 的数据操纵( DML)1 SQL 的数据查询SQL 中最经常使用的是从数据库中获取数据。从数据库中获取数据称为查询数据库,查询数据库通过使用 SELECT 语句完成。(1)SELECT 语句格式常见的 SELECT 语句包含 6 部分,其语法形式为:SELECT 字段表 FROM 表名 WHERE 查询条件 GROUP BY 分组字段 HAVING分组条件 ORDER BY 字段ASC|DESC其中:字段表部分包含了查询结果要显示的字段清单,字段之间用逗号分开。要选择表中所有字段,可用星号“” 代替。如果所选定的

8、字段要更名,可在该字段后用 AS新名 实现。FROM 子句用于指定一个或多个表。如果所选的字段来自不同的表,则字段名前应加表名前缀。WHERE 子句用于限制记录的选择。构造查询条件可使用大多数的 Visual Basic 内部函数和运算符,以及 SQL 特有的运算符构成表达式。GROUP BY 和 HAVING 子句用于分组和分组过滤处理。它能把在指定字段列表中有相同值的记录合并成一条记录。如果在 SELECT 语句中含有 SQL 合计函数,例如 SUM 或COUNT,那么就为每条记录创建摘要值。在 GROUP BY 字段中的 NULL 值会被分组,并不省略。但是,在任何 SQL 合计函数中都

9、计算 NULL 值。可用 WHERE 子句来排除不想分组的行,将记录分组后,也可用 HAVING 子句来筛选它们。一旦 GROUP BY 完成了记录分组,HAVING 就显示由 GROUP BY 子句分组的、且满足 HAVING 子句条件的所有记录。HAVING 子句与已确定要选中哪些记录的 WHERE 子句类似。ORDER BY 子句决定了查找出来的记录的排列顺序。在 ORDER BY 子句中,可以指定一个或多个字段作为排序键,ASC 选项代表升序,DESC 代表降序。在 SELECT 语句中,SELECT 和 FROM 子句是必须的。可在 SELECT 子句内使用合计函数对记录进行操作,它

10、返回一组记录的单值。例如,AVG 函数可以返回记录集的特定字段中所有值的平均数。用到了字符串匹配操作符 LIKE。LIKE 谓词的一般形式是:列名 LIKE 字符串常数这里,列名的类型必须是字符串或可变字符串。在字符串常数中字符的含义如下:(百分号) :表示可以与任意长度(可以为零) 的字符串匹配。_(下划线) :表示可以与任意单个字符匹配。所有其他的字符只代表自己。(3)多表查询实现来自多个关系的查询时,如果要引用不同关系中的同名属性,则在属性名前加关系名,即用“关系名.属性名” 的形式表示,以便区分。在多个关系上的查询可以用联接查询表示也可以用嵌套查询来表示。(4)合计函数SQL 提供了下

11、列合计函数(表 7.15)表 7.15 合计函数合计函数 描述COUNT(*)计算元组的个数COUNT(列名)对一列中的值计算个数SUM(列名) 求某一列值的总和(此列必须是数值型)AVG(列名) 求某一列值的平均值(此列必须是数值型)MAX(列名) 求某一列值的最大值MIN(列名) 求某一列值的最小值2SQL 的数据更新SQL 的数据更新包括数据插入、数据修改和数据删除等操作。(1)数据插入 SQL 的数据插入语句 INSERT 有两种形式。 输入单个元组句法:INSERT INTO 基本表名 (列名表) VALUES (元组值)VALUES 后的元组值中列的顺序必须同基本表的列名表一一对应

12、。如基本表后不跟列名表,表示在 VALUES 后的元组值中提供插入元组的每个分量的值,分量的顺序和关系模式中列名的顺序一致。如基本表后有列名表,则表示在 VALUES 后的元组值中只提供插入元组对应于列名中的分量的值,元组的输入顺序和列名表的顺序一致。基本表后如有列名表,必须包括关系的所有非空的属性,也自然应包括关键码属性。例 7.13 往基本表 J 中插入一个元组(J8, 地铁二号线, 上海)INSERT INTO J(JNO,JNAME,CITY) VALUES(J8, 地铁二号线 , 上海);例 7.14 假设供应商关系 S 的 STATUS,ADDR 属性允许空,插入一个新的供应商编号

13、S10,供应商名光明零件厂。INSERT INTO S(SNO,SNAME) VALUES (S10, 光明零件厂); 输入多个元组句法:INSERT INTO 基本表名(列名表) VALUES(元组值) ,(元组值),例 7.15 往 SPJ 中连续插入三个元组INSERT INTO SPJ VALUES(S3,P2,J8,23.3,1500),(S2,Pl,J8,33.4,50),(S3, P5, J8,34.5,80);(2)数据删除句法:DELETE FROM WHERE 例 7.16 删除工程号为 J4 的所有零件供应记录。DELETE FROM SPJ WHERE JNO=J4;注

14、意,DELETE 语句只能从一个关系中删除元组,而不能一次从多个关系中删除元组。要删除多个元组,就要写多个 DELETE 语句。(3)数据修改当需要修改指定关系中元组的某些值时,用如下语句:UPDATE 基本表名 SET 列名 =值表达式,列名=值表达式 WHERE 条件表达式该语句的意义是:修改指定表中满足条件表达式的元组中的指定属性值,其中 SET 子句用于指定修改方法,即用(表达式)的值取代相应的属性列值。如果省略 WHERE 子句,表示要修改表中的所有元组。例 7.17 将供应商 S4 提供的零件 P2 的价格提高 6UPDATE SPJ SET PRICE=PRICE*1.06 WH

15、ERE SNO=S4 AND PNO=P2;六、SQL 的数据控制( DCL)现在的数据库系统大都提供了非常完善的安全机制,一般采用基于角色的(就是根据用户的特性,把用户分为不同的类别。如管理员、数据库备份管理员、数据库用户管理员、普通用户等。不同数据库系统的用户角色不完全相同)多级授权安全机制,所有对数据库的操作都需要更高一级的授权,任何级别的用户在使用数据库系统时,除了必须拥有的授权外,还必须提供正确的用户名和用户口令。在数据库系统中,数据库系统管理员 DBA 负责完成整个系统的管理工作,获得 DBA 授权的用户可以创建数据库、表等而成为这些数据库对象的拥有者。拥有者对自己所拥有的对象有完

16、全控制权,同时拥有者也可以授权其他用户使用其所拥有的对象,当然,也可以收回授权。SQL 的数据控制功能是指控制用户对数据的存取权力,语句有两条:授权语句(GRANT)和收权语句(REVOKE)。顾名思义,授权语句是使某个用户具有某些权限,收权语句是收回已授给用户的权限。用户对数据的存取操作包括:增(INSERT)、删(DELETE)、改(UPDATE)、查 (SELECT)。只有被授以了某项操作的权限的用户才能进行某项操作。例 7.18 假设把对表 LTemp 的所有操作权限授权给用户 LUSERGRANT ALL ON LTemp TO LUSER;例 7.19 假设只把查看(即 SELECT)的权限授权给用户 LUSERGRANT SELECT ON Ltemp

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号