欢迎来到天天文库
浏览记录
ID:34776663
大小:81.68 KB
页数:5页
时间:2019-03-10
《标准sql语言的用法》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、标准SQL语言的用法SQL语言是目前最通用的关系数据库语言。ANSISQL是指由美国国家标准局(ANSI)的数据库委员会制定的标准SQL语言,多数关系数据库产品支持标准SQL语言,但是它们也往往有各自的SQL方言。在分层的软件结构中,关系数据库位于最底层,它的上层应用都被称为数据库的客户程序。以MySql为例,mysql.exe和Java应用就是它的两个客户程序。这些客户程序最终通过SQL语言与数据库通信。SQL(StructuredQueryLanguage)的英语全称可翻译为结构化查询语言,但实际上它除了具有数据查询功能,还具有数据定义、数据操纵和数据控制功能
2、。SQL语言的类型语言类型描述SQL语句DDL(DataDefinitionLanguage)数据定义语言,定义数据库中的表、视图和索引等create、drop和alter语句DML(DataManipulationLanguage)数据操纵语言,保存、更新或删除数据insert、update和delete语句DQL(DataQueryLanguage)数据查询语言,查询数据库中的数据select语句DCL(DataControlLanguage)数据控制语言,用于设置数据库用户的权限grant和remove语句数据完整性当用户向数据库输入数据时,由于种种原因,用
3、户有可能输入错误数据。保证输入的数据符合规定,成为数据库系统,尤其是多用户的关系数据库系统首要关注的问题。为了解决这一问题,在数据库领域出现了数据完整性的概念。数据完整性(DataIntegrity)就是指数据必须符合的规范,它主要分为三类:实体完整性(EntityIntegrity)规定表的一行(即每一条记录)在表中是唯一的实体。实体完整性通过表的主键来实现。域完整性(DomainIntegrity)指数据库表的列(即字段)必须符合某种特定的数据类型或约束。如notnull。参照完整性(ReferentialIntegrity)保证一个表的外键和另一个表的主键对
4、应。DDL数据定义语言用于定义数据库中的表、视图和索引等。相关DDL语句如下:lcreatetable:创建一个表。cratetableCUSTOMERS(IDbigintnotnull,NAMEvarchar(15)notnull,AGEint,primarykey(ID));cratetableORDERS(IDbigintnotnull,ORDER_NUMBERvarchar(15)notnull,PRICEdoubleprecision,CUSTOMER_IDbigint,foreignkey(CUSTOMER_ID)referencesCUSTOMERS
5、(ID));在创建数据库schema时,通常所有表的DDL语句都放在同一个SQL脚本文件中,必须按照先父表后子表的顺序来定义DDL语句。假如表之间的参照关系发生变化,就必须修改DDL语句的顺序,这增加了维护SQL脚本文件的难度。为了解决这一问题,可以采用另一种方式来定义外键。cratetableCUSTOMERS(IDbigintnotnull,NAMEvarchar(15)notnull,AGEint,primarykey(ID));cratetableORDERS(IDbigintnotnull,ORDER_NUMBERvarchar(15)notnull,P
6、RICEdoubleprecision,CUSTOMER_IDbigint,primarykey(ID));altertableORDERSaddconstraintFK_CUSTOMERforeignkey(CUSTOMER_ID)referencesCUSTOMERS(ID);laltertable:修改一个表。ldroptable:删除一个表,同时删除表中所有记录。DML数据操纵语言DML用于向数据库插入、更新或删除数据,这些操作分别对应insert、update和delete语句。在执行这些语句时,数据库系统先进行数据完整性检查,如果这些语句违反了数据完整
7、性,数据库系统会异常终止执行SQL语句。DQL数据查询语言SQL语言的核心就是数据查询语言。查询语句的语法如下:select目标列from基本表(或视图)[where条件表达式][groupby列名1[having条件表达式]][orderby列名2[asc
8、desc]]简单查询简单SQL查询语句,其中where子句设定查询条件,orderby子句设定查询结果的排序方式。(1)查询年龄在10到50之间的客户,查询结果先按照年龄降序排列,再按照名字升序排列。select*fromcustomerswhereagebetween18and50orderbyagedes
9、c,nam
此文档下载收益归作者所有