资源描述:
《刘淳-数据库系统原理与应用第3章节关系数据库标准语言SQL》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第3章关系数据库标准语言SQL3.1SQL概述3.2数据定义3.3数据查询3.4数据更新3.5视图3.6数据控制尚辅网http://shangfuwang.com/3.1SQL概述1.SQL语言SQL语言是1974年由BOYCE和CHAMBERLIN提出的。1975年至1979年IBM公司SANJOSERESEARCHLABORATORY研究的关系数据库管理系统原型系统SYSTEMR实现了这种语言,由于它功能丰富,语言简洁,使用方便,被众多计算机公司和软件公司所采用,经各公司不断修改、扩充和完善,SQL语言
2、最终发展为关系数据库的标准语言。返回首页尚辅网http://shangfuwang.com/2.扩展SQL语言尽管ASNI和ISO已经针对SQL制定了一些标准,但标准SQL语言只能完成数据库的大部分操作,不适合为关系数据库编写各种类型的程序,各家厂商针对其各自的数据库软件版本做了某些扩充和修改,一般都根据需要增加了一些非标准的SQL语言。经扩充后的SQL语言称为扩展SQL语言。返回本节尚辅网http://shangfuwang.com/3.2数据定义1.基本表定义2.修改基本表3.删除基本表4.建立索引5.
3、删除索引返回首页尚辅网http://shangfuwang.com/SQL数据定义功能包括定义基本表、定义视图和定义索引等,如表3-1所示。由于视图是基于基本表的虚表,索引是基于基本表的,因此SQL通常不提供修改视图和索引语句,用户如果要修改视图或索引,只能先将它们删除,然后重新创建。尚辅网http://shangfuwang.com/操作对象操作方式创建删除修改基本表CREATETABLEDROPTABLEALTERTABLE视图CREATEVIEWDROPVIEW索引CREATEINDEXDROPIND
4、EX表3-1SQL数据定义语句尚辅网http://shangfuwang.com/1.基本表定义CREATETABLE〈表名〉说明:(1)其中表名是要定义的基本表的名称。一个表可以由一个或多个属性列组成。(2)创建表时通常还可以定义与该表有关的完整性约束条件。(3)数据类型:SQLServer2000常用数据类型。尚辅网http://shangfuwang.com/1)实体完整性定义语法:[CONSTRAINT约束名]PRIMARYKEY[(属性列表)]2)参照完整性定义语法:[CONSTRAINT约束名]
5、FOREIGNKEY(列名)REFERENCES<被参照表表名>(被参照表列名)。尚辅网http://shangfuwang.com/3)自定义完整性定义语法:列值非空:[CONSTRAINT约束名]NOTNULL。列值惟一:[CONSTRAINT约束名]UNIQUE[(属性列表)]。逻辑表达式:[CONSTRAINT约束名]CHECK(表达式)。尚辅网http://shangfuwang.com/例3-1创建图书信息表、读者信息表和借阅表。(1)创建图书信息表。CREATETABLEBOOK(BOOKID
6、CHAR(20)PRIMARYKEY,BOOKNAMEVARCHAR(60)NOTNULL,EDITORCHAR(8),PRICENUMERIC(5,2),PUBLISHCHAR(30),PUBDATEDATETIME,QTYINT)尚辅网http://shangfuwang.com/(2)创建读者信息表。CREATETABLEREADER(CARDIDCHAR(10)PRIMARYKEY,NAMECHAR(8),SEXCHAR(2),DEPTCHAR(20),CLASSINT)--读者类型:1代表教师,2
7、代表学生,3代表临时读者。尚辅网http://shangfuwang.com/(3)创建借阅表。CREATETABLEBORROW(BOOKIDCHAR(20),CARDIDCHAR(10),BDATEDATETIMENOTNULL,SDATEDATETIMENOTNULL,PRIMARYKEY(BOOKID,CARDID,BDATE),CONSTRAINTFK_BOOKIDFOREIGNKEY(BOOKID)REFERENCESBOOK(BOOKID),CONSTRAINTFK_CARDIDFOREIGN
8、KEY(CARDID)REFERENCESREADER(CARDID))尚辅网http://shangfuwang.com/2.修改基本表随着应用环境和应用需求的变化,有时需要修改已建立好的基本表,包括增加新列、增加新的完整性约束条件、修改原有的列定义或删除已有的完整性约束条件等。SQL语言用ALTERTABLE语句修改基本表,其一般格式为:ALTERTABLE<表名>ALTERCOLUMN<列名><新的类型>[