vfp结构化查询语言(SQL).ppt
《vfp结构化查询语言(SQL).ppt》由会员分享,可在线阅读,更多相关《vfp结构化查询语言(SQL).ppt(47页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、目录上页下页退出2本本 章章 目目 录录第一节第一节SQLSQL概述概述第二节第二节数据定义功能数据定义功能第三节第三节数据操纵功能数据操纵功能第四节第四节数据查询功能数据查询功能目录上页下页退出3一、一、SQLSQL语言的特点语言的特点1综合统一综合统一SQL语言集数据定义(DDL)、数据操纵(DML)、数据管理(DCL)的功能于一体,语言风格统一,可以独立完成数据库的全部操作,包括定义关系模式、录入数据及建立数据库、查询、更新、维护数据、数据库的重新构造、数据库安全性等一系列操作的要求,为数据库应用系统开发者提供了良好的环境。2高度非过程化高度非过程化3面向集合的操作方式面向集合的操作方式
2、4以同一种语法结构提供两种使用方式以同一种语法结构提供两种使用方式5语言简洁,易学易用语言简洁,易学易用目录上页下页退出4二、二、 SQLSQL语言的基本概念语言的基本概念SQL语言支持关系型数据库的三级模式结构。其中外模式对应于视图(View)和部分基本表(Base Table),模式对应于基本表,内模式对应于存储文件。基本表是本身独立存在的表,在SQL语言中一个关系对应一个表。一些基本表对应一个存储文件,一个表可以带若干索引,索引存放在存储文件中。存储文件的逻辑结构组成了关系型数据库的内模式。而存储文件的物理文件结构是任意的。视图是从基本表或其他视图中导出的表,它本身不独立存储在数据库中,
3、也就是说数据库只存放在视力的定义而不存放视图对应的数据,这些数据仍存放在导出视图的基本表中,因此视图是一个虚表。目录上页下页退出5数据定义语言DDL用于执行数据定义的操作,如创建或删除表、索引和视图之类的对象。由CREATE、DROP、ALTER命令组成,完成数据库对象的建立(CREATE)、删除(DROP)和修改(ALTER)。一、定义(创建)表一、定义(创建)表【格式】CREATE TABLE (,)完整性约束完整性约束NULL | NOT NULL,)PRIMARY KEY | UNIQUE DEFAULT REFERENCES TAG 【功能】定义(也称创建)一个表。目录上页下页退出6
4、字段类型 字段宽度 小数位 说明 C n 字符型字段的宽度为 n (Character field of width n) D 日期类型(Date) T 日期时间类型(Date Time) N n d 数值字段类型, 宽度为 n, 小数位为 d (Numeric field of width n with d decimal places) F n d 浮点数值字段类型,宽度为 n,小数位为 d (Floating numeric field of width n with d decimal places) I 整数类型(Integer) B d 双精度类型(Double) Y 货币类型(C
5、urrency) L 逻辑类型(Logical) M 备注类型(Memo) G 通用类型(General) 数据类型说明数据类型说明 目录上页下页退出7【例【例5-1】创建一个表STUD(学生信息表),它由以下字段组成:学号 (C,10);姓名(C,8);性别(C,2);班级名(C,10);系别代号(C,2);地址(C,50);出生日期(D);是否团员(L);备注(M)。CREATE TABLE STUDCREATE TABLE STUD(学号学号C C(1010),),姓名姓名 C C(1010),),性性别别 C C(2 2),),班级名班级名 C C(1010), ,系别代号系别代号 C
6、 C(2 2), ,地址地址 C C(5050), ,出生日期出生日期 D,D,是否团员是否团员 L,L,备注备注 M,M,照片照片 G G)LIST STRUCTURELIST STRUCTURE【例例5-2】创建一个表SC(课程成绩表),它由以下字段组成:学号(C,10);课程号(C,2)。CREATE TABLE SCCREATE TABLE SC(学号学号 C C(1010),),课程号课程号 C C(2 2)) )LIST STRUCTURELIST STRUCTURE目录上页下页退出8【例【例5-3】利用SQL命令建立“图书管理”数据库,其中包含个表:读者表、作者表、图书表、借书表
7、。 操作步骤如下:1 1创建数据库创建数据库: :CREATE DATABASE CREATE DATABASE 图书管理图书管理2 2用用SQLSQL命令建立命令建立 “ “读者读者”表:表: CREATE TABLE CREATE TABLE 读者读者( (读者编号读者编号 C(9) NOT NULL; C(9) NOT NULL; PRIMARY KEY , PRIMARY KEY , 姓名姓名 C(8),C(8),性别性别 C(2) CHECK(C(2) CHECK(性别性别=“;=“;男男” ” OR OR 性别性别=“=“女女” ) ” ) DEFAULT “DEFAULT “男男
8、”,”,出身日期出身日期 D,D,少少; ;数民族否数民族否 L,L,籍贯籍贯 C(10),C(10),联系电话联系电话 C(8),C(8),照片照片 G)G) 说明:说明:该命令在当前打开的图书管理数据库中建立读者表,其中读者编号为主关键字,用CHECK对性别字段值说明了有效性规则,并设定了性别字段默认值为“男”。 目录上页下页退出93.3.用用SQLSQL语句建立语句建立“作者作者”表:表:CREATE TABLE CREATE TABLE 作者作者( (作者编号作者编号 C(2) PRIMARY KEY,;C(2) PRIMARY KEY,;作者姓名作者姓名 C(10),C(10),职称
9、职称 C(10),C(10),联系电话联系电话 C(10),C(10),备注备注 M)M)4.4.用用SQLSQL语句建立语句建立“图书图书”表:表:CREATE TABLE CREATE TABLE 图书图书( (书号书号 C(6) NOT NULL PRIMARY KEY,;C(6) NOT NULL PRIMARY KEY,;作者编号作者编号 C(2) NOT NULL,C(2) NOT NULL,书名书名 C(14),C(14),价格价格 N(8,2),;N(8,2),;数量数量 I,I,出版社出版社 C(18),;C(18),;FOREIGN KEY FOREIGN KEY 作者编号
10、作者编号 TAG TAG 作者编号作者编号 REFERENCES REFERENCES 作者作者) )说明:说明:该命令在当前打开的图书管理数据库中建立图书表,其中书号为主关键字,“FOREIGN KEY 作者编号”表示在该表的“作者编号”字段上建立了一个普通索引,同时说明该字段是联接字段,通过引用作者表中的主索引“作者编号”(TAG 作者编号 REFERENCES 作者)与作者表建立联系。目录上页下页退出105.5.用用SQLSQL语句建立语句建立“借书借书”表:表:CREATE TABLE CREATE TABLE 借书借书( (读者编号读者编号 C(6) NOT NULL,C(6) NO
11、T NULL,读者姓名读者姓名 C(10),C(10),书号书号 C(6),C(6),借书日期借书日期 D DEFAULT DATE(),D DEFAULT DATE(),还书日还书日; ;期期 D NULL,;D NULL,;FOREIGN KEY FOREIGN KEY 读者编号读者编号 TAG TAG 读者编号读者编号 REFERENCES REFERENCES 读者读者; ; FOREIGN KEY FOREIGN KEY 书号书号 TAG TAG 书号书号 REFERENCES REFERENCES 图书图书) ) 说明:说明:该命令在当前打开的图书管理数据库中建立借书表,其中“FO
12、REIGN KEY 读者编号”在该表的“读者编号”字段上建立了一个普通索引,同时说明该字段是联接字段,通过引用读者表中的主索引“读者编号”(TAG 读者编号 REFERENCES 读者)与读者表建立联系。 这里要注意:“FOREIGN KEY 读者编号 TAG 读者编号 REFERENCES 读者”语句中前后两个“读者编号”的含义不同。 目录上页下页退出116.6.执行完以上命令后可以在数据库设计器中看到如图执行完以上命令后可以在数据库设计器中看到如图5-15-1所示界面。所示界面。 图5-1 数据库设计器 图书管理 目录上页下页退出12【格式】【格式】ALTER TABLE ADD (,)完
13、整性约束完整性约束NULL | NOT NULLDROP 完整性完整性约束约束MODIFY 【功能】修改表结构。【说明】ADD子句用于增加指定表的字段变量名、数据类型、宽度和完整性约束条件;DROP子句用于删除指定的的完整性约束条件;MODIFY子句用于修改原有的字段变量的值。【例【例5-45-4】在课程成绩表SC中,增加一个成绩字段变量(N,3)。 ALTER TABLE SC ADD ALTER TABLE SC ADD 成绩成绩 N(3)N(3) LIST STRUCTURE LIST STRUCTURE二、修改表二、修改表目录上页下页退出13【例【例5-55-5】修改表结构综合练习。】
14、修改表结构综合练习。(1)创建数据库和数据库表CREATE DATABASE tempbaseCREATE DATABASE tempbaseCREATE TABLE temp1(aa C(2) ,bb N(5,2),dd D)CREATE TABLE temp1(aa C(2) ,bb N(5,2),dd D)CREATE TABLE temp2(aa1 C(2),bb1 N(5,2),dd1 I)CREATE TABLE temp2(aa1 C(2),bb1 N(5,2),dd1 I)(2)以字段aa为索引表达式为表temp1增加一个主索引,索引标识为aa_keyALTER TABLE t
15、emp1 ADD PRIMARY KEY aa TAG aa_keyALTER TABLE temp1 ADD PRIMARY KEY aa TAG aa_key(3)以字段aa1为索引表达式给表temp2增加一个普通索引,索引标识aa1_key;并且将表temp1的索引aa_key作为temp2关联字段。ALTER TABLE temp2 ADD FOREIGN KEY aa1 TAG aa1_key; ALTER TABLE temp2 ADD FOREIGN KEY aa1 TAG aa1_key; REFERENCES temp1 TAG aa_keyREFERENCES temp1
16、TAG aa_key 目录上页下页退出14(4)将表temp1 中“dd”的字段名改为“cc” ALTER TABLE temp1 RENAME COLUMN dd TO ccALTER TABLE temp1 RENAME COLUMN dd TO cc (5)删除表temp2中字段名为“dd1”的字段 ALTER TABLE temp2 DROP dd1ALTER TABLE temp2 DROP dd1(6)将(3)所建的普通索引的关联字段删除。 ALTER TABLE temp2 DROP FOREIGN KEY TAG aa1_key; ALTER TABLE temp2 DROP
17、FOREIGN KEY TAG aa1_key; SAVESAVE(7)将(3)所建的普通索引删除。 ALTER TABLE temp2 DROP FOREIGN KEY TAG aa1_keyALTER TABLE temp2 DROP FOREIGN KEY TAG aa1_key 注意:注意:增加普通索引时,必须同时指明与它关联的字段。 目录上页下页退出15【格式】DROP DATABASE 【功能】删除指定数据库的结构和数据。【说明】谨慎使用。四、删除表四、删除表【格式】DROP TALBE 【功能】删除指定表的结构和内容(包括在此表上建立的索引)。【说明】如果只是想删除一个表中的所有
18、记录,则应使用DELETE语句。三、删除数据库三、删除数据库目录上页下页退出16 数据操纵语言是完成数据操作的命令,一般分为两种类型的数据操纵,它们统称为DML: 数据检索(常称为查询):寻找所需的具体数据。 数据修改:添加、删除和改变数据。数据操纵语言一般由INSERT(插入)、DELETE(删除)、UPDATE(更新),SELETE(检索,又称查询)等组成,由于SELETE比较特殊,所以一般又将它以查询(检索)语言单独出现。目录上页下页退出17【格式1】INSERT INTO VALUES ()【格式2】INSERT INTO FROM ARRAY | FROM MEMVAR【功能】在指定
19、的表文件末尾追加一条记录。格式1用表 达 式 表 中 的 各 表 达 式 值 赋 值 给 中的 相 应 的 各 字 段 。 格 式 2 用 数 组 或 内 存 变 量 的值赋值给表文件中各字段。【说明】如果某些字段名在INTO子句中没有出现,则新记录在这些字段名上将取空值(或默认值)。但必须注意的是,在表定义说明了NOT NULL的字段名不能取空值。一、插入记录一、插入记录目录上页下页退出18:指定表文件中的字段,缺省时,按表文件字段的顺序依次赋值。:指定要追加的记录各个字段的值。【例5-6】在表文件STUD的末尾追加三条记录。*用表达式方式追加第一条记录*INSERT INTO STUD (
20、INSERT INTO STUD (学号,姓名,性别,班级名,学号,姓名,性别,班级名,系别代号,地址,出生日期,是否团员系别代号,地址,出生日期,是否团员) ; ) ; VALUES VALUES (011110(011110, 李建国李建国 , 男男 , 计计01210121,0101, 湖湖北武汉北武汉 ,09/28/0209/28/02,. .T.)T.)目录上页下页退出19DIMENSION DATADIMENSION DATA8 8DATADATA(1 1)=011103=011103DATADATA(2 2)=李宁李宁 DATADATA(3 3)=女女 DATADATA(4 4)
21、=电电01340134DATADATA(5 5)=02=02DATADATA(6 6)=江西九江江西九江 DATADATA(7 7)= =05/06/8505/06/85DATADATA(8 8)=.F.=.F.INSERT INTO STUD FROM INSERT INTO STUD FROM ARRAY DATA*用数组方式追加第二条记录*目录上页下页退出20学号学号=011202=011202姓名姓名=赵娜赵娜 性别性别=女女 班级名班级名=英英01120112系别代号系别代号=03=03地址地址=广西南宁广西南宁 出生日期出生日期=02/21/84=02/21/84是否团员是否团员=
22、.=.F.F.INSERT INTO STUD FROM MEMVARINSERT INTO STUD FROM MEMVARLISTLIST*用内存变量方式追加第三条记录*目录上页下页退出21【格式】UPDATE UPDATE SET SET = , =WHERE WHERE 【功能】更新指定表文件中满足WHERE条件子句的数据。其中SET子句用于指定列和修改的值,WHERE用于指定更新的行,如果省略WHERE子句,则表示表中所有行。【说明】更新操作又称为修改操作。【例5-7】将成绩表(SC)中,所有课程号为02的成绩各加5分。 UPDATE SC SET UPDATE SC SET 成绩成
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- vfp 结构 查询 语言 SQL
限制150内