二级VF计算机笔机Word文件下载.docx
《二级VF计算机笔机Word文件下载.docx》由会员分享,可在线阅读,更多相关《二级VF计算机笔机Word文件下载.docx(30页珍藏版)》请在冰豆网上搜索。
modifystructure
打开表编辑器:
edit
打开表浏览器:
browse
五、命令窗格中命令的书写规则:
1、命令不区分大小写
2、命令区分全角半角
3、正确的命令蓝色显示
4、命令可以只输入前四个字母
5、命令可以反复多次的使用
6、命令窗格中命令敲回车执行
7、命令的清除:
在空白处右击选择:
“清除”
六、记录的相关命令:
记录的显示:
1、list=listall:
显示表中所有记录
2、listrecordn:
显示表示第n条记录
3、listnextn:
显示表中从当前记录开始包含当前记录在内的n条记录.
4、listrest:
显示表中从当前记录(包含当前记录)开始的所有记录一直取到记录尾部。
5、display:
显示表中当前一条记录
6、displayall:
显示表中所有记录相当于list
7、list字段名:
显示表中指定字段的所有值.
记录的追加:
1、append:
直接切换至编辑状态下输入记录
2、appendblank:
先追加空记录然后使用命令edit或change切换至编辑状态下输入记录
记录的定位:
1、go记录号或goto记录号
2、直接用记录号
3、gotop:
直接定位于首记录
gobottom:
直接定位于尾记录
记录的插入:
1、insertbefore:
在当前记录的前面插入记录
2、insertblank:
在当前记录的后面插入记录
记录指针的移动:
1、skipn:
正向向下移动n条记录
2、skip-n:
反向向上移动n条记录
记录的查找:
locatefor条件:
查找满足条件的记录,一次只能定位一条满足条件的记录,如需继续定位则使用命令:
continue
记录的删除:
有逻辑删除和物理删除
逻辑删除是对记录做删除标记并没有真正的删除记录,而物理删除则是将记录从表中清除,一旦操作则不可恢复.
1、逻辑删除记录:
deleteall:
删除全部记录
deleterecordn:
删除第n条记录
deletefor条件:
删除满足条件的记录
上述逻辑删除后命令的恢复只需将对应位置上delete命令改为recall即可.
2、物理删除记录:
pack:
删除做了逻辑删除标记录的记录
zap:
删除全部记录不管有没有做删除标记全部删除
提示:
ctrl+T:
对当前记录做删除标记或取消删除标记
ctrl+Y:
追加空记录
记录的替换:
1、替换表中所有记录的指定的字段值:
replaceall字段with字段运算
例:
更新表中所有学生的年龄使其都加1岁
replaceall年龄with年龄+1
2、替换表中满足条件的记录对应的字段值
replace字段with字段运算for条件
更新表中性别为“女”生的信息,使其年龄都加1
replace年龄with年龄+1for性别="
女"
数据库及其应用
一、1、新建数据库的方式:
1)执行:
“文件”\新建在对话框中选择“数据库”即可.
2)在命令窗格中输入命令:
creatdatabase数据库名
2、数据库的相关命令:
a)打开数据库的命令:
opendatabase数据库名|?
b)关闭数据库的命令:
closedatabase
c)打开数据库设计器的命令:
modifydatabase
3、表的相关命令:
a)新建表的命令:
creat表名
b)打开表的命令:
use表名exclusive|shared
c)关闭表的命令:
use
d)打开表设计器的命令:
4、项目管理器的新建方式:
a)执行:
“文件”\新建选择:
“项目”
creatproject项目文件名
二、数据库表与自由表之间的转换:
1、将自由表转为数据库表的方式:
1)在数据库设计器环境下空白处右击选择:
“添加表”在弹出的对话框中选择对象自由表即可.
2)使用命令:
addtable表名
3)在项目管理器环境下添加
2、将数据库表转为自由表的方式:
1)在数据库设计器环境下选中表右击选择:
“删除”在弹出的提示框中选择:
“移去”即可.
2)使用命令:
removetable表名
3)在项目管理器环境下移去
3、表的索引有四种:
主索引、唯一索引、候选索引和普通索引
一个表只能建立一个主索引,但是可以建立多个其它索引
主索引和候选索引可以保证表中字段或记录的唯一性。
4、数据完整性规则:
实体完整性规则、域完整性规则和参照完整性规则。
a)实体完整性对应于主键的设置,保证表中字段的唯一性,不允许接收空值。
空值(null):
表示一个不确定的值和零是有区别的,零表示没有是确定的。
设置空值必须在表设计器状态下勾选允许为空值的选项,然后通过按ctrl+0快速输入空值.
b)域完整性规则:
用来规范表中字段值,在为字段输入值的过程中激活该功能.
规则文本框中内容为:
逻辑表达式
信息文本框中内容为:
字符表达式
默认值文本框中内容:
与所设字段类型相同
c)参照完整性规则:
编辑表之间的关联
参照完整性规则有:
更新规则、删除规则和插入规则
更新规则和删除规则都有三个具体规则:
级联、限制和忽略
插入规则两个具体的规则:
限制和忽略
三、关于工作区:
工作区用来单独管理表,一个工作区只能打开一个表,如需打开多个表则需要开辟多个工作区;
工作区号为:
1-32767;
其中1为最小的工作区号。
开辟工作区打开表的命令:
select工作区号
use表名
当命令中出现select0表示当前工作区中最小的闲置的工作区号.
注意:
当使用上述命令开辟工作区后,以后可以使用以下命令打开表select工作区号或select表名都可以打开表.
四、临时关联的设置方式:
a)use表名in工作区order索引字段
b)use另一个表in另一个工作区号order索引字段
c)setrelationto索引字段into另一个表
取消当前表与其它所有表之间的临时关联使用命令:
setrelationto
五、索引的使用:
1)利用索引直接定位记录
seek"
索引字段值"
order索引字段
2)利用索引排序记录:
setorderto字段desc|asce[降序或升序排序记录]
3)索引的删除:
deletetag索引字段名:
删除指定名称的索引字段
deletetagall:
删除全部索引
1、建立一个学生数据库,要求如下
1)数据库名称为:
“学生”
2)建立如下表:
学生(学号c7,姓名c8,年龄I)
课程(课程号c6,课程名c14)
成绩(学号c7,课程号c6,成绩I)
3)建立如下索引:
在学生(学号)、课程(课程号)和成绩(学号,课程号)上建立主索引;
在成绩(课程号)和成绩(学号)上建立普通索引.
4)建立学生和成绩之间的联系,课程和成绩之间的联系
关于文件扩展名:
扩展名代表文件类型,不同文件扩展名不同
表的扩展名:
.dbf
数据库文件的扩展名:
.dbc
数据库备份文件扩展名:
.dct
数据库索引文件扩展名:
.dcx
项目管理器扩展名:
.pjx
一、表与数组之间数据的传递:
1、将表中当前记录对应的字段值复制到数组:
格式1:
scatter[fields<
字段名>
][memo]to<
数组名>
[blank]
1)scatterto数组名:
将表中当前记录对应的可以复制到数组中的所有字段复制到数组.
2)scattetto数组名memo:
将表中当前记录对应的包括备注型字段在内的所有字段都复制到数组中.
3)scatterfields字段名[memo]to数组名:
将表中当前记录对应的指定的字段值复制到数组中.
提示:
指定的字段包含备注型字段时必须加memo命令。
4)scatterto数组名blank:
按表中当前记录对应的能复制到数组中的字段值开辟空记录.
格式2:
scatter[fieldslike<
通配符>
|fieldsexcept<
[memo]to<
[blank]
1)scatterfieldslike<
to<
:
是将表中当前记录对应的满足通配符的字段值复制到数组中.
2)scatterfieldsexcept<
to数组名:
是将表中当前记录对应的除指定字段或除满足通配符之外的字段值复制到数组.
2、将数组中数据复制到表中
格式1:
gatherfrom<
[fields<
][memo]
1)gatherfrom数组名[memo]:
将数组中数据复制到表中包含备
注型字段在内的所有字段中.
2)gatherfrom数组名fields<
[memo]:
将数组中数据复制到表中指定的字段中.
表达式
一、表达式:
用来表示某个求值规则,由常量、变量、函数用运算符连接起来的式子
1、数值表达式中运算符优先级顺序为:
()、^或**、*/%、+-
2、字符表达式运算符为:
+-
+:
将两个字符串首尾连接形成一个新的字符串,该操作又称为:
“连接操作”.
-:
连接两个字符串,将前面字符串尾部的空格移至合并后新字符
串的尾部.该操作又称为:
“空格移位连接”。
3、日期时间表达式:
a)合法的日期时间表达式为:
<
日期>
+<
天数>
-<
日期时间>
秒数>
b)不合法的日期时间表达式:
日期
4、关系表达式:
1)关系运算符的作用是比较两个表达式的大小或前后.
常用的关系运算符表达式为:
>
>
=<
====<
#!
=$
$和==仅适用于字符型数据,而其它运算符则适用于任何数据类型.
=都为不等于符号
2)数值型、货币型数据比较:
一律按数值的大小写结果
日期、日期时间型数据的比较:
按日期大小定结果
逻辑型数据的比较:
逻辑真(T)>
逻辑假(F)
子串包含测试:
测试前面字符串是否是后面字符串的子串是返回逻辑真否则返回逻辑假.
store"
计算机"
tos1
store"
微型计算机"
tos2
?
(s1$s2)>
(s2$s1)
5、设置字符排序次序
1)字符的排序方式有三种:
机器码排序(machine)、拼音排序(pinyin)和笔画排序(stroke).
2)设置排序方式的命令:
setcollateto"
排序次序名"
默认情况下拼音排序pinyin
3)字符排序方式:
a)在机器码状态下对于英文:
空格<
大写字母<
小写字母
对于中文如果汉字不同则按汉字对应的拼音展开排序
"
A"
<
"
a"
结果为:
.T.
李"
王"
b)在拼音状态下对于英文:
小写字母<
大写字母
对于中文比较方式和机器码状态下中文比较方式相同
.F.
c)在笔画比较状态下不论中文还是英文一律按笔画比较.
.F
4、字符串精确比较与exact设置:
a)在双等号比较状态下只有当两个字符串完全相同(包括空格以及各字符的位置),结果才有真。
b)用单等号运算符比较两个字符时运算结果与setexacton|off的设置命令有关.
setexacton:
先在较短的字符尾部被空格,使得两个字符等长然后再进行精确比较.
setexactoff:
以右边的字符为基准,只要右边的字符比较完成就为整个字符比较结束标志.
关系数据库标准语言SQL
SQL(structurequerylanguage):
结构化查询语言的缩写.
SQL是一种一体化的语言,它包括数据定义、数据查询、数据操纵和数据控制四方面的功能.
SQL语言的物点:
1)SQL是一体化的语言(包括数据查询、数据操作、数据控制和数据定义)
2)SQL是一种高度非过程化语言
3)SQl语言非常的简洁
4)SQL语言可以直接以命令方式交互式使用也可以嵌入到计算机程序语言中使用.
一、SQL查询功能:
SQL查询的基本框架:
select……from……
select:
表示最后查询的信息
from:
表示查询过程中所涉及到的数据来源
where:
表示查询条件
orderby:
用于排序
groupby[having]:
用于分组;
having用于限定分组的条件
二、SQL查询:
1、基于单个表的简单查询:
1)查询所有学生的姓名,性别,年龄信息
select姓名,性别,年龄from学生表
2)查询所有学生的基本信息情况
select*from学生表
3)查询年龄在25-28岁之间(包含边界值)的所有信息情况
a)select*from学生表where年龄>
=25and年龄<
=28
b)select*from学生表where年龄between25and28
4)查询年龄值为25,27,29的学生信息情况
a)select*from学生表where年龄=25or年龄=27or年龄=29
b)select*from学生表where年龄in(25,27,29)
5)查询满足通配符的信息:
%代表任意的0个或多个字符,而_表示任意的单个字符.
例:
查询姓“王”的学生基本信息情况
select*from学生表where姓名like"
王%"
查询姓“王”的名字为两个字的学生基本信息情情况
王_"
6)查询姓名中带“丽”字的学生信息
%丽%"
7)查询学生的工资值
select工资from学生表
8)抽样查询学生的工资值
selectdistinct工资from学生表
9)查询学生的姓名,性别,年龄,月工资,年工资
select姓名,性别,年龄,工资as月工资,(工资*12)as年工资from学生表
2、基于多个表的查询:
1)、简单连接查询:
查询成绩大于80分的学生的姓名,性别,年龄,课程名,成绩
select姓名,性别,年龄,课程名,成绩from学生表,成绩表where成绩>
80and学生表.学号=成绩表.学号
2)嵌套类型查询:
查询成绩大于80分的学生的基本信息情况
select*from学生表where学号in(select学号from成绩表where成绩>
80)
3、对查询结果进行排序:
使用短语:
orderby
1)查询学生表中所有信息情况按学号的降序排序
select*from学生表orderby学号desc
2)查询学生表的所有信息情况按年龄升序、工资降序进行排序
select*from学生表orderby年龄,工资desc
4、简单的计算查询:
常用的函数:
sum求和avg求平均值max求最大值
min求最小值count:
计数
1)查询所有学生的总工资
selectsum(工资)as总工资from学生表
5、分组短语:
groupby分组短语having用来限定分组条件
例1:
分别查询男生女生的总工资值.
select性别,sum(工资)as总工资from学生表groupby性别
例2:
分别查询每个人的平均成绩。
select学号,avg(成绩)as平均成绩from成绩表groupby学号
例3:
查询至少选修两门课程的学生的平均成绩
select学号,count(*)as选课数,avg(成绩)as平均成绩from成绩表groupby学号havingcount(*)>
=2
三、空值的查询:
表示一个不确定的值为字段输入空值之前必须设置该字段允许为空值方可输入
空值的输入:
ctrl+0
空值与0是有区别的,0表示的确定的信息,是没有。
而空值是不确定的信息.
1、查询姓名为空值的学生信息情况
select*from学生表where姓名isnull
2、查询学生表中和刘丽挣相同工资的学生信息情况
select*from学生表where工资=(select工资from学生表where姓名="
刘丽"
)
四、量词和谓词的查询:
格式为:
运算表达式>
比较运算符>
[any|all|some](子查询)和[not]exists(子查询)
any、all、some是量词,其中any和some是同义词,在进行比较运算时只要子查询中有一行能使结果为真,则结果就为真;
all则要求子查询中的所有行都为真结果才为真.
exists是谓词,exists或notexists是用来检查在子查询中是否有结果返回(即存在元组或不存在元组)
1、查询学生表中未选修课程的学生信息情况
a)select*from学生表where学号notin(select学号from成绩表)
b)select*from学生表wherenotexists(select*from成绩表where成绩表.学号=学生表.学号)
2、查询成绩表中比学号为"
0001"
任何一门成绩都大的学生选课信息
a)select*from成绩表where成绩>
(selectmin(成绩)from成
绩表where学号="
b)select*from成绩表where成绩>
any(select成绩from成
)
3、查询成绩表中比学号为:
“0001”的学生所有成绩都大的学生选课
信息情况.
(selectmax(成绩)from成绩表where学号="
all(select成绩from成绩表where学号="
五、超连接查询:
在SQL中超连接查询有四种:
左连接、右连接、内部连接和全连接
左连接:
leftjoin
右连接:
rightjoin
全连接:
fulljoin
内部连接:
innerjoin或join
on作为超连接的连接条件.
除了内部连接之外的其它连接,查询结果会显示表中不满足条件的信息,左连接会显示第一个表中不满足连接条件的记录,右连接会显示第二个表中不满足条件信息,而全连接会显示所有表中不满足条件的信息.
例1:
查询选修课程的学生的姓名,性别,年龄,课程名,成绩
a)select姓名,性别,年龄,课程名,成绩from学生表,成绩表where学生表.学号=成绩表.学号
b)select姓名,性别,年龄,课程名,成绩from学生表innerjoin成绩表on学生表.学号=成绩表.学号
例2:
查询成绩大于85分的学生的姓名,性别,年龄,课程名,成绩
a)select姓名,性别,年龄,课程名,成绩from学生表,成绩表where学生表.学号=成绩表.学号and成绩>
85
b)select姓名,性别,年龄,课程名,成绩from学生表innerjoin成绩表on学生表.学号=成绩表.学号where成绩>
当使用内部连接连接多个表,设置它们之间的关联时on的连接条件的先后顺序与join后面,表的顺序正好相反.
六、集合的并运算
SQL支持集合的并运算,即可以将两个select语句的查询结果通过并运算(union)合并成一个查询结果.
1、查询职称为:
“医生”或“司机”的学生信息情况
a)select*from学生表where职称="
医生"
or职称="
司机"
b)select*from学生表where职称="
unionselect*from学生表where职称="
2、分别查询男生女生的总工资.
a)select性别,sum(工资)as总工资from学生表groupby性别
b)select性别,sum(工资)as总工资from学生表where性别="
男"
unionselect性别,sum(工资)as总工资from学生表where性别="
SQL的定义功能
通过SQL的定义功能可以实现像在表设计器中打开表定义字段的功