文档介绍:第4章结构化查询语言SQL
4. 1 SQL语言概述
SQL的定义功能
SQL的查询功能
SQL的操作功能
提示:单击各个标题前的动画符号“”,链接到相应的章节。
-1-
Visual FoxPro
SQL语言概述
结构化查询语言(Structured Query Language)简称为SQL,是关系数据库的标准语言。由于SQL语言具有功能强大、使用方便灵活、语言简单易学等优点,目前几乎所有的关系数据库管理系统软件都支持SQL。本章将详细介绍Visual FoxPro中SQL语言各种主要功能的实现。
SQL是Structured Query Language的缩写,属于一种一体化语言,用于定义、查询、修改和控制关系型数据库中的书籍。由于它功能强大,语言简洁,深受用户及计算机工业界欢迎,被众多计算机公司和软件公司所采用。经各公司的不断修改、扩充和完善,SQL语言最终发展成为关系数据库的标准语言。1986年美国国家标准局ANSI批准了SQL作为关系数据库语言的美国标准,1987年国际标准化组织ISO也通过这一标准,1990年我国也将其定为中国国家标准。
2
Visual FoxPro
SQL语言的主要特点有:
(1)综合统一。SQL语言集数据定义、数据查询、数据操纵和数据控制功能于一体,它可以实现数据库生命周期中所有的操作,如:数据库和表的定义、表中数据的插入、删除、修改和查询操作、数据库安全性和完整性的控制等。
(2)非过程化。使用SQL语言,用户只需要告诉计算机做什么操作,而不需要告诉计算机如何去做这些操作,因此用户可以很方便地对数据库进行操作。
(3)语言简洁:SQL语言的功能强大,但语法很简洁,总共只有9个命令动词,容易学习和掌握,表4-1给出了SQL语言的9个命令动词(SELECT、CREATE 、ALTER、DROP、INSERT、UPDATE、DELETE、GRANT、REVOKE)。
(4)使用方便。SQL语言是独立的语言,又是嵌入式语言。既可以在Visual FoxPro中的命令窗口中使用SQL语言进行人机交互,也可以将SQL语句写入到VFP程序中作为程序的语句来执行。
Visual FoxPro支持SQL的数据定义、数据查询和数据操纵功能,但没有提供数据控制功能。
3
Visual FoxPro
SQL的定义功能
表的定义
表的删除
表结构的修改
-4-
Visual FoxPro
表的定义
表的定义就是建立一个含有指定字段的表结构。SQL语句中表定义的命令格式如下:
CREATE TABLE|DBF <表名1> [FREE]
(<字段名1> <字段类型>[(<字段宽度> [,<小数位数>])]
[NULL|NOT NULL]
[PRINARY KEY|UNIQUE]
[REFERENCES <表名2> [TAG <索引标识名>]]
[CHECK <有效性规则> [ERROR <出错信息>]]
[DEFAULT <默认值>]
[,<字段名2> <字段类型>[(<字段宽度> [,<小数位数>])…])
5
Visual FoxPro
其中各参数的说明如下:
TABLE|DBF:这两个选项等价,都是建立表文件。
<表名1>:指出要建立新表的名称。
[FREE]:表示建立的表是自由表,不添加到当前打开的数据库中。若当前没有打开任何数据库,有无该选项,建立的表都是自由表。
<字段名1> <字段类型>[(<字段宽度> [,<小数位数>]):指定第1个字段的字段名、字段类型、字段宽度以及小数位数。使用的字段类型和宽度定义可以参照第3章表3-2。
[NULL|NOT NULL]:说明该字段是否可以为空,缺省时默认为NOT NULL,即不能为空。
6
Visual FoxPro
[PRINARY KEY|UNIQUE]:说明该字段是主索引或候选索引。此选项对数据库表有效。
[REFERENCES <表名2> [TAG <索引标识名>]]:说明与<表名2>建立永久连接关系,<表名2>是父表的表名,如果以父表的主索引关键字建立永久关系,TAG <索引标识名>可以省略,否则不能省略,父表不能是自由表。此选项对数据库表有效。
[CHECK <有效性规则> [ERROR <出错信息>]]:定义该字段的有效性规则,以及在不满足规则时的出错信息,该信息只有在浏览或编辑窗口中修改数据时显示。此选项对数据库表有效。
[DEFAULT <默认值>]:定义该字