




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
常用SQL语言语法格式一、SQL模式的创建和撤消 CREATE SCHEMA AUTHORIZATION 例如, CREATE SCHEMA ST_COURSE AUTHORIZATION 李斌 DROP SCHEMA CASCADE|RESTRICT DROP SCHEMA CASCADE|RESTRICT 撤消方式有两种:CASCADE(连锁式)方式,执行DROP语句时,把SQL模式及其下属的基本表、视图、索引等所有元素全部撤消;RESTRICT(约束式)方式,执行DROP语句时,只有当SQL模式中没有任何下属元素时,才能撤消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 CHAR(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 属性名 CASCADE|RESTRICT 此处CASCADE方式表示:在基本表中删除某属性时,所有引用到该属性的视图和约束也要一起自动地被删除。而RESTRICT方式表示在没有视图或约束引用该属性时,才能在基本表中删除该属性,否则拒绝删除操作。ALTER TABLE S DROP STATUS CASCADE; (3)基本表的撤消可用“DROP TABLE”语句撤消基本表,其所有数据也丢失了。DROP语句的句法如下:DROP TABLE基本表名 (CASCADE|RESTRICT)例如DROP TABLE S RESTRICT;三、视图的创建和撤消(1)视图的创建 句法:CREATE VIEW 视图名(列名表) 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,SPJ WHERE S.SNO=SPJ.SNO AND P.PNO=SPJ.PNO AND J.JNO=SPJ.JNO;此处,视图中列名顺序与SELECT子句中的列名顺序一致,视图名JSP_NAME后的列名可省。(2)视图的撤消句法:DROP VIEW 视图名例7.6 撤消JSP_NAME视图,可用下列语句实现: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,用如下语句: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其中:字段表部分包含了查询结果要显示的字段清单,字段之间用逗号分开。要选择表中所有字段,可用星号“*”代替。如果所选定的字段要更名,可在该字段后用AS新名实现。 FROM子句用于指定一个或多个表。如果所选的字段来自不同的表,则字段名前应加表名前缀。 WHERE子句用于限制记录的选择。构造查询条件可使用大多数的Visual Basic内部函数和运算符,以及SQL特有的运算符构成表达式。 GROUP BY和HAVING子句用于分组和分组过滤处理。它能把在指定字段列表中有相同值的记录合并成一条记录。如果在SELECT语句中含有SQL合计函数,例如SUM或COUNT,那么就为每条记录创建摘要值。在GROUP BY字段中的NULL值会被分组,并不省略。但是,在任何SQL合计函数中都计算NULL值。可用WHERE子句来排除不想分组的行,将记录分组后,也可用HAVING子句来筛选它们。一旦GROUP BY完成了记录分组,HAVING就显示由GROUP BY子句分组的、且满足HAVING子句条件的所有记录。HAVING子句与已确定要选中哪些记录的WHERE子句类似。 ORDER BY子句决定了查找出来的记录的排列顺序。在ORDER BY子句中,可以指定一个或多个字段作为排序键,ASC选项代表升序,DESC代表降序。 在SELECT语句中,SELECT和FROM子句是必须的。可在SELECT子句内使用合计函数对记录进行操作,它返回一组记录的单值。例如,AVG函数可以返回记录集的特定字段中所有值的平均数。用到了字符串匹配操作符LIKE。LIKE谓词的一般形式是:列名 LIKE 字符串常数这里,列名的类型必须是字符串或可变字符串。在字符串常数中字符的含义如下:(百分号):表示可以与任意长度(可以为零)的字符串匹配。_(下划线):表示可以与任意单个字符匹配。所有其他的字符只代表自己。(3)多表查询 实现来自多个关系的查询时,如果要引用不同关系中的同名属性,则在属性名前加关系名,即用“关系名.属性名”的形式表示,以便区分。 在多个关系上的查询可以用联接查询表示也可以用嵌套查询来表示。(4)合计函数SQL 提供了下列合计函数(表7.15)表7.15 合计函数合计函数描述COUNT(*)计算元组的个数COUNT(列名)对一列中的值计算个数SUM(列名)求某一列值的总和(此列必须是数值型)AVG(列名)求某一列值的平均值(此列必须是数值型)MAX(列名)求某一列值的最大值MIN(列名)求某一列值的最小值2SQL的数据更新SQL的数据更新包括数据插入、数据修改和数据删除等操作。(1)数据插入 SQL的数据插入语句INSERT有两种形式。 输入单个元组句法:INSERT INTO 基本表名 (列名表) VALUES (元组值)VALUES后的元组值中列的顺序必须同基本表的列名表一一对应。如基本表后不跟列名表,表示在VALUES后的元组值中提供插入元组的每个分量的值,分量的顺序和关系模式中列名的顺序一致。如基本表后有列名表,则表示在VALUES后的元组值中只提供插入元组对应于列名中的分量的值,元组的输入顺序和列名表的顺序一致。基本表后如有列名表,必须包括关系的所有非空的属性,也自然应包括关键码属性。例7.13 往基本表J中插入一个元组(J8, 地铁二号线, 上海)INSERT INTO J(JNO,JNAME,CITY) VALUES(J8, 地铁二号线, 上海);例7.14 假设供应商关系S的STATUS,ADDR属性允许空,插入一个新的供应商编号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;注意,DELETE语句只能从一个关系中删除元组,而不能一次从多个关系中删除元组。要删除多个元组,就要写多个DELETE语句。(3)数据修改当需要修改指定关系中元组的某些值时,用如下语句:UPDATE 基本表名 SET 列名=值表达式,列名=值表达式 WHERE 条件表达式该语句的意义是:修改指定表中满足条件表达式的元组中的指定属性值,其中SET子句用于指定修改方法,即用(表达式)的值取代相应的属性列值。如果省略WHERE子句,表示要修改表中的所有元组。例7.17 将供应商S4提供的零件P2的价格提高6UPDATE SPJ SET PRICE=PRICE*1.06 WHERE SNO=S4 AND PNO=P2;六、SQL的数据控制(DCL)现在的数据库系统大都提供了非常完善的安全机制,一般采用基于角色的(就是根据用户的特性,把用户分为不同的类别。如管理员、数据库备份管理员、数据库用户管理员、普通用户等。不同数据库系统的用户角色不完全相同)多级授权安全机制,所有对数据库的操作都需要更高一级的授权,任何级别的用户在使用数据库系统时,除了必须拥有的授权外,还必须提供正确的用户名和用户口令。在数据库系统中,数据库系统管理员DBA负责完成整个系统的管理工作,获得DBA授权的用户可以创建数据库、表等而成为这些数据库对象的拥有者。拥有者对自己所拥有的对象有完全控制权,同时拥有者也可以授权其他用户使用其所拥有的对象,当然,也可以收回授权。SQL的数据控制功能是指控制用户对数据的存取权力,语句有两条:授权语句(GRANT)和收权语句(REVOKE)。顾名思义,授权语句是使某个用户具有某些权限,收权语句是收回已授给用户的权限。用户对数据的存取操作包括:增(INSERT)、删(DELETE)、改(UPDATE)、查(SELECT)。只有被授以了某项操作的权限
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工业设计与用户体验的关系研究
- 工业自动化技术创新对生产效率的提升
- 工业自动化电气系统解决方案
- 工业风空间设计及装修技巧
- 工业领域智能环境监测系统优化研究
- 工业风办公室改造方案
- 工作场景下的智能健康监测系统设计研究
- 工厂生产线设备更新方案
- 工程机械故障识别与修复
- 工程造价管理与成本控制
- 糖尿病足护理疑难病例讨论
- 频繁停电培训课件
- 2025年度数据中心制冷设备采购与安装施工合同范本
- 2025年广西宏桂资本运营集团招聘笔试参考题库含答案解析
- 数字化赋能城乡融合发展
- 英语中国文化
- 防水工程改造翻新合同
- 心脏骤停病人的抢救与护理
- 汽车行业智能汽车维修与保养方案
- 220kV变电站电气设备常规交接试验方案
- 2024年人教版八年级英语下册期末考试卷(附答案)
评论
0/150
提交评论