- 1、本文档共124页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
第3章
关系数据库语言SQL本章主要内容SQL的主要功能SQL的数据定义功能SQL的数据操纵功能3.1SQL概述SQL是最通用的关系数据库操作语言。现在已成为一种标准,有SQL86、SQL89、SQL92等标准。特点:SQL表达简洁、功能丰富、容易使用。SQL有两种使用方式:交互式和嵌入式。1.交互式用户输入SQL语句,马上就得到结果。交互执行过程:通过关系数据库产品提供的一个叫查询处理器的应用程序进行交互。该程序提供可视化的界面,包括菜单、按钮、命令编辑输入窗口、结果显示窗口等等。用户在命令输入窗口中,键入SQL语句,然后按下“运行”按钮,即将SQL语句送到RDBMS,由RDBMS执行SQL语句,并将结果返回查询处理器,查询处理器将从DBMS中得到的结果显示在结果窗口中,用户就能看到结果交互执行特点:不需要进行编译、连接生成可执行文件。2.嵌入式将SQL语句嵌入到高级语言(例如C语言)的程序中使用,这里,高级语言通常称为主语言。执行过程(见右图)。特点:既利用了高级语言强大的过程处理的特点,又保留了SQL强大的数据库操作的功能。SQL支持数据库的三级模式、二级映射机制数据库的三级模式,即外模式、概念模式、内模式。在SQL中,视图对应外模式、基本表对应概念模式、存储文件对应于内模式,如下图所示。SQL语言分为三种子语言,分别是:数据定义语言(DDL)用于定义数据库、表、视图等。主要有CREATE、ALTER、DROP语句。数据操纵语言(DML)用于插入、修改、删除和查询数据。主要有:INSERT、DELETE、UPDATE、SELECT语句。数据控制语言(DCL)用于管理数据库用户对数据库中表、视图等的使用权限。主要有GRANT、REVOKE语句。下面将详述SQL的DDL和DML语句的基本用法。3.2数据定义3.2.1定义数据库CREATEDATABASE数据库名[参数1,…参数n](1)CREATEDATABASE为关键字。(2)尖括号“”这部分,表示是不可省略的。(3)中括号“[]”这部分,表示是可省略的。如语法中“[参数1…参数n]”表示这些参数能省略。【例3.2.1】创建一个学生选课数据库,取名为StudentsInfoCREATEDATABASEStudentsInfo语句的执行:在查询分析器的命令输入窗口中输入CREATEDATABASEStudentsInfo命令,点击界面上绿色的运行按钮,就可执行命令。命令执行完成后,在查询分析器的右下方,有一个结果显示窗口,从中可看到命令执行的结果。本命令的执行结果是:CREATEDATABASE进程正在磁盘StudentsInfo上分配0.75MB的空间CREATEDATABASE进程正在磁盘StudentsInfo_log上分配0.49MB的空间3.2.2定义表结构表结构:即表头。定义表由几个列组成,每个列的列名是什么、该列中存放什么样的数据(由数据类型决定)、该列的宽度是多少、列中存放的数据有什么样的约束、表中各列之间有什么样的约束等。语法:CREATETABLE表名(列名数据类型[列级完整性约束][,…n][,…n][,表级完整性约束[,…n]])语句说明:(1)表名用户给定的标识符。即所要定义的表名。表名最好取有意义的名字,如Students,做到见名知意;同一个数据库中,表名不允许同名。(2)列名用户给定的列名,最好取有意义的列名,如Sno,Cno,做到见名知意。(3)数据类型:指定该列存放数据的数据类型。各RDBMS所提供的数据类型有所不同的。SQLServer的常用数据类型:定长字符型CHAR(n),变长字符型VARCHAR(n),整数型INT或INTEGER,浮点型FLOAT,日期型Datetime。(4)[列级完整性约束]:定义该列上数据的约束条件(5)[表级完整性约束]:定义某一列上的数据或某些列上的数据的约束条件。(6)如果约束只用到表中的一列,则可以在[列级完整性约束]处定义,即在每一列的数据类型之后定义。也可以在[表级完整性约束]处定义,即在所有列定义完后定义。(7)如果完整性约束涉及表中多个列,则必须在[表级完整性约束]处定义。(8)约束有:NULL/NOTNULL(空值约束/非空值约束)DEFAULT(默认值约束)UNIQUE(惟一值约束)CHECK(检查约束)PRIMARYKEY(主键约束)
文档评论(0)