第四章 数据库及其操作
1、创建数据库:
①.在项目管理器中建立
②.在菜单中建立
③.命令:creat database 数据库名
2、打开数据库:open database 数据库名
3、删除数据库:delete database 数据库名
4、修改数据库:modify database 数据库名
5、关闭数据库:close database
6、打开表设计器:modify structure
7、增加表中字段:alter table 表名 add 字段名
8、删除表中字段:alter table 表名 drop 字段名
9、修改表中字段:alter table 表名 rename 原字段 to 新字段
10、更改字段类型及宽度:alter table 表名 alter 字段名+类型(宽度)
11、显示表:list structure
12、显示全部表记录:list
13、显示当前表记录:display
14、记录的绝对定位:go n
15、浏览,修改表:browse
16、编辑,修改表:edit/change
17、批量修改:replace all 字段 with 字段
18、逻辑删除(只在记录前加*,不删除):delete
19、恢复逻辑删除:recall
20、物理删除:①.pack 只删除带*的记录
②.zap 物理删除表中全部记录
21、关闭表:use
22、打开表:use 表名
23、复制表记录:use 表名;copy to 新表名
24、复制表结构:use表名;copy structure to 新表名
25、追加表记录:①.将另一个表中的记录添加到该表中:use要追加记录的表名;
append from有记录的表名
②.在尾部追加记录:append
③.在尾部增加一条空记录:append blank
26、插入表记录:①.在当前记录的的后面插入一条记录insert after
②.在当前记录的的后面插入一条空记录insert blank
③.在当前记录的的前面插入一条记录insert after
26、显示所有含条件的记录:list for
27、显示满足条件的记录:list while
28、显示字段:list fields
29、指针记录的定位:①.bof() 文件头
②.go top 第一条记录
③.go bottom 最后一条记录
④.eof() 文件尾
⑤.skip 向下一条记录(不包含当前记录)
⑥.all 所有记录
⑦.locate for 满足条件的第一条记录
⑧.continue 继续查找满足条件的下一条记录
30、记录的范围:①.next n 向下n条记录
②.rest 从指针指向位置开始的所有记录
③.record n 当前记录
31、在数据库关闭/删除的情况下建立的表为自由表,自由表字段名最长为10个字符
31、在数据库打开/修改的情况下建立的表为数据库表,数据库表字段名最长为128个字符
32、创建数据库表:open database 数据库名;creat表名
33、创建自由表:确定当前没有打开数据库,使用命令:creat 表名
34、将自由表添加到数据库中:open database 数据库名;add table 表名
35、将数据库表移出数据库:open database 数据库名;remove table 表名
************************************************************************************
小结:
1. 用use 打开表时,记录号位于第一条记录;
2. 执行带all的命令,记录指针指向eof;
3. bof的记录总是1,eof的记录号是记录数+1;
4. 空表的总记录是0,bof的记录号是1,eof的记录号是1
36、排序:①.建立排序:sort on 字段名a/d/c to新表名
②.a(asc):升序; d (desc):降序;c:不区分字母的大小写
37、索引:①.索引的种类:主索引,候选索引,唯一索引,普通索引
②.建立索引:index on 关键字 tag 索引文件名
③.打开索引:set index to 索引文件名
④.关闭索引:set index to
⑤.查找索引:find /seek
⑥.删除索引:delete tag all 索引标识
⑦.主控索引:set order to 索引名
⑧.建立永久链接的条件:子表有索引,父表必须有主索引
⑨.建立临时链接:窗口→数据工作区
命令:set relation to 父表字段名 into 子表名 additive
38、互换表中记录:先打开表
go 1;scatter to aa(数组名) ;go 3;scatter to bb(数组名);
go 1;gatter from bb;go 3;gatter from bb
************************************************************************************
小结:
1. 排序要执行两次,按关键字和记录号,要打开表;索引只执行一次,按关键字,不需要打开表;
2. 排序生成一个新表,索引是针对原表;
3. 升降序的表示与书写方式不同;
4. 排序与索引的两个to 的含义不同,排序的to 表示到一个新表,索引的to 表示建立单索引文件,索引文件不能按降序排,只能按升序排;
5. 表达式的连接方式不同,排序用(,)逗号,索引用(+降序 –升序)加减号;
6. 自由表有三个索引:候选索引,唯一索引,普通索引;
7. 数据库表有四个索引:主索引,候选索引,唯一索引,普通索引
8. 一个表只能有一个主索引,可以有多个候选索引,唯一索引,普通索引;
9. 主索引和候选索引表示表记录的唯一性。
************************************************************************************
38、数据的完整性:①.实体完整性:保证主索引和候选索引的唯一性
②.域完整性:表示范围只在数据库中的设置
③.参照完整性:描述表与表之间的关系
l 参照完整性规则:更新规则(级联、限制、忽略);
删除规则(级联、限制、忽略)
插入规则(限制、忽略);
l 参照完整性是数据库文件的产物,要有联接,必须打开文件,先清理数据库
39、工作区:①.工作区的选择:select<工作区号>|<别名>
②.范围:1~32767 默认0号工作区,也是最小工作区
③.select 0表示选定当前还未使用的编号最小工作区
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |