新建数据库的方法:1、文件菜单--新建--数据库--新建文件--找到保存位置--输入库名--保存;2、CREATEDATABASE;关闭数据库的方法:closedatabase(当前)打开数据库的方法:1、文件菜单--打开--找到位置--文件类型选择数据库--选择库名--打开;2、opendatabase;modifydatabase(显示数据库设计器)删除数据库的方法:先关闭数据库--DELETEDATABASE路径+库名;eg:deletedatad:\09年四月一班\学校管理建立数据库表:1、文件菜单--新建--表--新建文件--找到保存位置--输入表名--保存;2、CREAT表的操作:自由表和数据库表;1、自由表:不在数据库中的表;2、数据库表:必须存在于数据库中;3、自由表与数据库的区别:1、自由表字段名的宽度最多为10个字符,无主索引,无有效性规则框;2、数据库表字段名的宽度最多为128个字符,有主索引,有有效性规则框;3、自由表与数据库表的转换:(默认目录设置在先)(1)数据库到自由表1、打开数据库--右击表--删除--移去--是;2、REMOVETABLE表名(2)自由表到数据库表1、右击数据库设计器--添加--找到表--确定2、ADDTABLE表名;表的基本操作:1、create;建立表;2、USE打开表/关闭表;3、浏览表:BROWS/显示--浏览;修改表的结构:打开表设计器窗口(1)打开表后--显示菜单--表设计器;(2)MODIFYSTRUCTURE;null:空值(暂时无法确定的值)不等于0空值的设置:在建表时(表设计器窗口-选择要设置空值字段--将NULL按钮选中打上对号--默认值对话框中输入.null.)调整日期的显示格式:将日期的格式设为年月日:setdatetoymd将日期的格式设为月日年:setdatetomdy设置年份的位数:setcenturyon(4位)setcenturyoff(2位)设置日期的分隔符:setmarkto-或.或/表的记录修改:1、增加记录:显示--追加方式;CTRL+Y;APPENDBLANK/APPEND2、删除记录:(逻辑删除和物理删除)1、逻辑删除:即给记录添加删除标记;(可以恢复)(1)在记录号处单击使之颜色变为黑色;(2)DELETEALL(全部逻辑删除);RECALLALL(全部恢复);(3)DELETEFOR表达式eg:DELETEFOR仓库号=WH8(字符型数据所以要加定界符,字符型的定界符''[])2、物理删除:彻底的删除;(不能恢复)(1)PACK:删除带有删除标记的记录;(2)ZAP:清空表中的记录;插入记录:(1)INSERT:在当前记录之后插入;(2)INSERTBEFORE:在当前记录之前插入;修改记录:1、REPLACE要修改的字段with表达式ALL;eg:repla面积with面积+100all2、REPLACE要修改的字段with表达式FOR条件;eg:repla数学with数学-10for姓名=CC3、REPLA要替换的字段with值for条件eg:repla姓名with优秀生for总分150一、数据的完整性:确保数据正确的特性;主索引(primarykey)侯选索引(candidate)唯一索引(unique)用命令建立索引(不能主索引)INDEXON索引表达式tag索引名索引的英文名称eg:indexon姓名tag姓名candidate升序ascending(asc)降序descending(desc)eg:indexon姓名tag姓名desccandidate(以姓名降序建立侯选索引);用命令删除索引:DELETETAGALL域完整性:控制用户输入数据的范围(有效性规则)规则框:用于输入逻辑表达式;eg:性别=男or性别=女信息框:用于显示出错信息;字节符表达式;eg:输入的信息不对默认值:与字段类型相同;eg:女参照完整性:通过修改一张表,将相应的修改结果反映到另一张上;父表:建立主索引的表;子表:建立普通索引的表;父子关系;编辑参照完整性的步骤:1、打开同一个数据库有联接的两张表观察;2、为父表建立主索引,为子表建立普通过引3、通过索引建立永久性的联系;4、清理数据库packdatabase目的是物理删除带有删除标记的记录;5、双击连接线--编辑参照完整性;编辑参照完整性的步骤:1、打开同一个数据库有联接的两张表观察;2、为父表建立主索引,为子表建立普通过引3、通过索引建立永久性的联系;4、清理数据库packdatabase目的是物理删除带有删除标记的记录;5、双击连接线--编辑参照完整性;规则:更新规则:更改;级联:改父表时子表随之修改;限制:只能在父表中改子表中没有的相关记录;忽略:不做限制;删除规则:(逻辑删除)级联:删除父表中的记录时,子表中的相关记录随之删除;限制:只能在父表中删除子表中没有的相关记录;忽略:不做限制;插入规则:限制:只能在子表中插入父表中有的相关记录;忽略:不做限制;补充第三章物理排序:1、打开要被排的表;2、sortto新表名on排序字段名升降序;3、打开表4、浏览表;eg:use仓库表sorttoaaon面积ascendinguseaabrows临时联系:记录指针的同步移动;工作区:当前工作的区域;在VFP中共有32767个工作区,最大工作区号:32767最小工作区号1空闲工区号0命令格式(例如)use仓库表in1order仓库号use职工表in2order仓库号setrelationto仓库号into职工表项目文件(pjx):包含了VFP中的所有文件,并且提供管理的平台;建立:CREATEPROJECT;指针的移动:goton:指针移到第N条;skip:向下移动;SKIP-1:向上移动;locatefor表达式:光标条件移动;gotop:表头;gobottom:表尾;注:_screen.fontsize=15将主窗口中字号调至15号;第二章第一节:常量、变量、表达式;1、常量:一个固定不变的量;数值型常量:0-9个数字加正负符号加小数点构成;2、y货币型常量:$¥eg:$588.003、字符型常量:必须定界符([]'')egabc['dkdkkd']4、日期型常量:定界符{^年月日}严格的日期格式:年月日4传统的日期格式:月日年2setdatetoymdsetdatetomdysetcentonsetcentoffsetmarkto-5、日期时间常量:定界符号{^年-月-日,时-分-秒}6、逻辑型常量:.t.和.f.定界符是..变量:其值可以不断发生改变的量;内存变量:简单的变量;eg:a=10a为变量名,=赋值符号,10为值;意思是将10赋给变量a;STORE值to变量名列表eg:store100toa,b,c,d字段变量:表中的字段名;注VFP中的输出语句是?:在不同行输出;??:在同行输出;显示内存变量:LISTMEMORYLIKEA清除内存变量:clearmemory/releaseall;数组:内存开辟的一片连续的存储区域;定义数组:DIMENSION数组名(元素)DECLARE数组名(元素)eg:dimensionaa(5)一维数组;eg:dimensionbb(2,3)二级数组;赋值数组:数组名(元素)=值eg:aa(1)=100访问数组:?数组名(元素)eg:aa(1)数组的使用:数组中的记录复制表中:1、定义数组;2、赋值数组;3、打开表;4、追加空记录;5、GATHERFROM数组名;6、浏览表;eg:declareaa(3)aa(1)=WH6aa(2)=汉阴aa(3)=270use仓库表appendblankgatherfromaabrows表中的数据复制到数组中:1、打开表2、SCATTERTO数组名;3、访问数组;eg:use职工表scattertoaa?aa(1)表达式:由常量变量函数通过特定的运算符连接起来的式子;数值型表达式:()**^*/%+-字符型表达式:+-+:连接两个字符串;-:连接两上字符串,并且将前字符串的尾总空格移到新串的尾部;表达式:数值表达式:字符表达式:日期表达式:日期型;注:日期与日期不能相加;天数不能减日期;日期时间不能加日期时间;关系表达式:=====(!=#)$返回的结果为逻辑型;设置字符串的比较类型:工具菜单--选项--数据--排序依据--拼音;SETCOLLATETOpinyin拼音状态下:后面字母大于前边的字母,并且大写字母大于小写字母;eg:张三李四.t.Aa.t.机内码状态(machine):后面字母大于前边的字母,并且小写字母大于大写字母;eg:Aa.f.笔画状态(stoke):笔画多的大于笔画少的;逻辑表达式:notandornot:非;相反值;and:与;前后两个表达式都为真时结果为真,否则为假;OR:或;只要有一个为真,结果都为真;优先级:NOTANDOR所有表达式综合在一起的优先级:()数值字符日期关系逻辑函数:数据运算或转换功能;abs:绝对值;sqrt:求平方根;PI():3.14ROUND():四舍五入;参数2如果为正数表对小数部分取,如果为负数表对整数部分取;mod()取余%字符函数:自变量一般为字符型;LEN()宽度;SPACE():生成空格的函数;LTRIM():取左边空格;TRIM():取右边空格;ALLTRIM():取前后空格;left():从左边取;RIGHT():从右边取;substr():从中间取;字符函数:自变量一般为字符型;LEN()宽度;SPACE():生成空格的函数;LTRIM():取左边空格;TRIM():取右边空格;ALLTRIM():取前后空格;left():从左边取;RIGHT():从右边取;substr():从中间取;occurs():子串出现次数;at():位置;act():位置;(不区分大小写)STUFF():子串替换函数;(由字符表达式2替换字符表达式1中由起始位置指定宽度的字符)chrtran():字符替换函数;LIKE()字符串匹配函数;*:任意的多个字符;?:任意的一个字符;日期时间函数:date()time()字符型;datetime()STR()数值转换为字符;VAL()字符转换数值;CTOD()c-dDTOc()d-cttoc()t-cctot()c-t&:宏替换函数,替换的是字符型变量内的值;测试函数:ISNULL()空值;BOF()表头表的第一条记录的上一条记录BOF为真;EOF()表尾表的最后一条记录的下一条记录EOF为真程序:能够完成一定任务多条有序命令集合;建立文件:MODIFYCOMMAND程序文件扩展名.prg运行程序:DO程序文件名.prg;CTRL+E;保存程序:CTRL+S;程序分为三种结构:顺序结构:从程序的第一条开始执行到程序的最后一条;输入语句:INPUT提示符to变量名(任意)ACCEPT提示符to变量名(字符)settalkoff:屏蔽所有信息;settalkon:打开所有信息;选择结构:根据条件进行选择满足条件的语句执行;if条件if条件语句语句elseendif语句endif(竖着看)编辑程序:1、通过键盘输入学生的三门成绩,用IF语句判断三门之和是否大于285分如果是输入优秀,如果语数之和大于200分显示语数好,如果英语=90显示英语好,否则显示仍努力!2、已知表(姓名语文数学英语学分)表中有记录,根据表中的语数英计算学分,如果语文=60学分2分,数学=60学分为3分,英语=60学分为4分;3、已知表(姓名三好生l,优秀干部l,少数民族l学分)计算学分如果学生是三好生学分为5分,如果是优秀干部学分为10分,少数民族学分为15分.最后算总学分;4、用DO语句计算100以内的偶数和奇数之和第四章关系数据库标准语言SQL语句1、数据查询功能:简单查询:对一张表的查询;sele要查询的字段from表名where条件查询结果以浏览窗口形式显示;*代表表中的所有信息(字段)eg:s