内容正文:
重庆市对口高职计算机类专业·知识梳理(数据库)
所有命令
1、设置默认路径
set default to d:\vfpex
2、数据库
(1)创建数据库
create database :弹出创建对话框
create database bjgl
(2)打开数据库
open database : 弹出“打开”对话框
open database bjgl
(3)关闭数据库
close database: 关闭当前数据库
close database all: 关闭所有已打开的数据库
(4)打开数据库设计器窗口
modify database
(5)设置为当前数据库
set database to bjgl
3、数据表
(1)打开表
use xsqk
(2)关闭表
use:关闭当前打开的表
close all:关闭所有打开的数据库和表
(3)打开表设计器
modify structure
(4)浏览/编辑
browse / edit
4、索引
(1)建立结构复合索引 (index on)
普通索引: index on 学号 tag xh
候选索引: index on 学号 tag xh candidate
唯一索引: index on 学号 tag xh unique
顺序: descending ascending(默认)
条件: for <条件>
(2)删除索引
delete tag xh
delete tag all
(3)建立主索引
alter table xsqk add primary key 学号 tag xh
(4) 删除主索引
alter table xsqk drop primary key
(5)指定主控索引
set order to xh
(6)取消主控索引
set order to
5、表间关系
(1)工作区
select 1 select A
select 0: 选择未使用的最低号工作区为当前工作区
use xsqk alias xs alias() : 查看当前工作区的别名
案例:
select 1
use xsqk
标识当前工作区 : A 1 xsqk
select 1
use xsqk alias xs
标识当前工作区: A 1 xs
访问非活动表的字段:
browse fields xsqk.学号,xsqk->姓名
(2)临时关系
第一步:子表建立索引,设置为主控索引
(如果关键字表达式为数字表达式,可以不建立索引)
第二步:从父表工作区中建立临时关系
select 1
use xscj &&子表
index on 学号 tag xh
set order to xh
select 2
use xsqk &&父表
set relation to 学号 into 1
取消临时关系:set relation to
6、定位记录
(1)绝对定位
go 4
go top
go bottom
(2)相对定位
skip :等价于 skip 1
skip -3
(3)条件定位
Locate for 入学成绩>450:找到满足条件的第一条记录
continue: 继续向下查找
found() : .t. .f.
(4)相关函数
recno() reccount() bof() eof()
7、操作数据表
(1)移去表
remove table xsqk
(2)添加表
add table xsqk
(3)筛选显示记录
browse for 性别 ="男"
browse fields 学号,姓名
8、记录
(1)追加记录
append : 弹出编辑窗口
append blank: 添加一条空记录
append from gycj : 把 gycj 的记录添加到当前表的末尾
(2)删除记录
delete for 入学成绩<450 :逻辑删除
pack : 物理删除带删除标记的记录
recall :去除删除标记 后面可以加范围 for
zap : 全部记录物理删除,只保留表结构
补充:范围 :
all | next n | record n | rest
(3)更新记录
Replace all 总分 with 语文+数学+英语
** update xscj set 总分=语文+数学+英语
9、查询数据基础
(1)常量
(2)变量
(3)运算符及表达式
(4)常用函数
10 、报表
(1)在程序中预览或打印报表
report form rpt1 preview : 预览报表
report form rpt1 to printer: 打印报表
report form rpt1 to prompt: 打印前弹出“打印设置”对话框
11、SQL 语言
(1)创建数据表
create table xsqk(学号 C(6),姓名 C(6),性别 C(2),出生日期 D,团员否 L,入学成绩 N(5,1))完
整性约束:
性别 C(2) default “男”:性别字段默认为男
学号 C(6) unique :学号字段取值互不相同
性别 C(2) check (性别="男" or 性别="女") error "性别为男或女"
学号 C(6) primary key
(2)添加记录
insert into xsqk (学号,姓名) values ("140601","王红梅")
insert into xsqk values("140601","王红梅","女") 注意和表结构一一对应
(3)修改表结构
添加字段:
alter table xsqk add 籍贯 C(6)
删除字段:
alter table xsqk drop 籍贯
修改字段属性:
alter table xsqk alter 籍贯 C(8)
更改字段名字:
alter table xsqk rename 籍贯 to 籍贯地
(4)删除记录
delete from xsqk where 入学成绩>450
(5)修改记录
update xscj set 总分=语文+数学+英语
(6)查询表中记录
select ... from :all|distinct * 表达式
select distinct 性别 from xsqk
select * from xsqk
select avg(入学成绩) as 平均分 from xsqk
where: between and in like
select * from xsqk where 入学成绩 between 450 and 500
select *from xsqk where 性别 in("男","女")
select * from xsqk where 姓名 like "%王%"
order by : descending
select * from xsqk order by 入学成绩 descending
top n | top m percent:
select top 3 * from xsqk order by 入学成绩 descending
select top 50 percent * from xsqk order by 入学成绩 descending
group by : 字段函数
select 性别,avg(入学成绩) from xsqk group by 性别 into:
table cursor 浏览(默认)
select 学号 from xsqk into table xscj