《visualfoxpro程序设计》第四章结构化查询语言sql.ppt
文本预览下载声明
第4章 结构化查询语言SQL ;4.1 SQL语言概述;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的数据定义、数据查询和数据操纵功能,但没有提供数据控制功能。;4.2 SQL的定义功能;4.2.1 表的定义;;;【例4-1】假设已经建立了“学生管理”数据库,现要求使用SQL命令在“学生管理”数据库中定义学生信息表student,表中含有学号、姓名、性别、出生日期、身高、班级共6个字段;其中“学号”字段是主索引,“姓名”字段不能为空值,“性别”字段默认值为“男”,“身高”字段值应在100cm以上,否则提示错误。
在命令窗口输入下列命令:
Open database 学生管理 打开“学生管理”数据库
Create table student(学号 C(9) PRIMARY KEY,姓名 C(8) NOT NULL,性别 C(2) DEFAULT “男”,出生日期 D,身高 I CHECK 身高100 ERROR “身高应该大于100cm!”,班级 C(20)) 定义表
list structure;图4-1 student表结构显示结果;4.2.2 表的删除;4.2.3 表结构的修改;其中各参数的说明如下:
表名1:指定要修改的表的名称。
ADD 新字段名 字段类型[(字段宽度 [,小数位数])]:指出新添加字段的字段名、字段类型、字段宽度和小数位数。如果在该子句中使用CHECK、PRIMARY KEY或UNIQUE选项时,需要删除所有数据,否则违反有效性规则,命令将不被??行。
ALTER 已有字段名 字段类型[(字段宽度 [,小数位数])]:修改表中已有字段的字段类型、字段宽度、小数位数。如果在该子句中使用CHECK选项时,需要被修改字段的已有字段值满足CHECK规则;使用PRIMARY KEY或UNIQUE选项时,需要被修改字段的已有字段值满足惟一性,不能有重复值。
其他选项的含义与CREATE TABLE命令中的选项含义相同,后4个参数只对数据库表有效,对自由表无效。
该命令可以修改字段的字段类型、字段宽度、有效性规则及错误信息、字段默认值等,但是不能修改字段名,不能删除字段,也不能删除已经定义的规则。;图4-2 student表结构修改后的显示结果;设置字段有效性规则的命令格式如下:
ALTER TABLE 表名 ALTER 已有字段名
[NULL|NOT NULL]
[SET DEFAULT 新默认值]
[SET CHECK 新有效性规则 [ERROR 出错信息]]
[DROP DEFAULT]
[DROP CHECK];其中各参数的说明如下:
表名:指定要修改的表的名称。
已有字段名:指定要修改的字段名。
[NULL|NOT NULL]:说明该字段是否可以为空。
[SET DEFAULT 新默认值]:重新设置该字段的默认值。
[SET CHECK 新有效性规则 [ERROR 出错信息]]:重新设置该字段的有效性规则,以及在不满足规则时的出错信息。
[DROP DEFAULT]:删除默认值。
[DROP CHECK]:删除该字段的有效性规则。
该命令主要用于定义、修改或删除字段有效性规则和默认值定义,不能修改字段名,也不能删除字段,所有修改操作都是在字段这一级,修改后不影响表中原有的数据,但该命令只对数据库表有效。
【例4-4】修改学生管理数据库中的学生信息表student的表结构,将“性别”字段的默认值改为“女”,“身高”字段值改为应在150cm以上,否则提示错误。
在命令窗口中输入下列命令:
alter table student alter 性别 set default 女 alter 身高 set check 身高150;3.设置表一级有效性规则;其中各参数的说明如下:
表名1:指定
显示全部