SQL命令动词(功能): 数据查询:SELECT(选择) 数据定义:CREATE(创建)、DROP(放弃)、ALTER(更改) 数据操纵:INSERT(插入)、UPDATE(更新)、DELETE(删除) 数据控制:GRANT(同意)、REVOKE(取消) 查询功能: SELECT-FROM-WHERE SELECT说明要查询的数据 FROM说明查询的数据来自哪个(些)表 WHERE说明查询条件,即选择元组的条件 GROUP GY对查询结果进行分组,可能利用它进行分组汇总 HAVING必须跟随GROUP BY使用,它用来限定分组必须满足的条件 ORDER BY用来对查询结果进行排序 简单查询: select [distinct(去掉重复值)] 字段 from 表名 where 查询条件 根据条件选出满足条件的元组(相当于关系运算的选择操作),并显示select子句中指定属性的值(相当于关系运算的投影操作) 简单的连接查询: select 属性1...属性2 from 关系名...关系名 where(条件表达式)and (关系名.属性名) 嵌套查询: select 属性名 from 关系名 where 属性名 (外层查询块) IN(相当于集合运算符∈) select 属性名 from 关系名 where 表达式(查询条件) (内层查询块) 几个特殊运算符: BETWEEN...ADN.../LIKE(%表示0个或任意多个字符;_表示一个字符) !=(不等于) NOT(作用很广泛。如NOT IN、NOT BETWEEN等) 一般用在WHERE语句中 排序: order by 格式:SELECT 属性名 FROM 关系名 ORDER BY 简单的计算查询: 用于计算检索的函数有SUM/AVG/MAX/MIN/COUNT(计数。注意:除对关系中元组个数进行计数外,一般COUNT函数应该使用DISTINCT) 格式:SELECT 函数 FROM 分组与计算查询: GROUP BY [HAVING] 注意:GROUP BY子句一般跟在WHERE之后,没有WHERE时,跟在FROM之后。HAVING总是跟在GROUP BY之后,WHERE限定元组,而HAVING限定分组 利用空值查询: IS NULL/IS NOT NULL 一般跟在WHERE语句之后。如:找出没有确定供应商的订购单 找出确定了供应商的订购单信息: 别名与自连接查询: 格式:<关系名> <别名> 使用量词和谓词的查询: <表达式> <比较运算符> [ANY/ALL/SOME](子查询)| [NOT]EXISTS(子查询) 超连接查询: SELECT ...... ON 指定连接条件(而不在WHERE语句中);FROM 指定连接类型 inner 是“普通”的意思。join 是“连接”的意思。condition 是“条件”的意思 在多个表进行连接时,JOIN 顺序和 ON 顺序是很重要的,正好相反。 集合的并运算: 查询语句1 union 查询语句2 要求具有相同的字段个数、相同的类型和取值范围 SQL SELECT的几个特殊选项: 只显示前几项记录: TOP nExp [precent] nExp 显示表达式值数记录 precent 显示前百分之几的记录 注意:TOP要与ORDER BY 同时使用才有效 将查询结果存放到数组中: INTO ARRAY ArrayName 将查询结果存放到临时文件中: INTO CURSOR CursorName 将查询结果存放到永久表中: INTO DBF|TABLE TableName 将查询结果存放到文本文件中: TO 注意:ADDITIVE 是将文件添加到原文件尾部,不加此短语则复盖原文件。默认扩展名为.TXT 将查询结果输出到打印机: TO PRINTER [PROMPT] 使用PROMPT,可在打印前打开打印机设置对话框 SQL的操作功能: 插入数据: 第一种格式: INSERT INTO dbf_name [(fname1,[fname2,......])]VALUES (eExpression1 [eExpression2,......]) 第二种格式: INSERT INTO dbf_name FROM ARRAY ArrayName |FROM MEMVAR 注意:当一个表定义了主索引或候选索引后,由于相应的字段具有关键字的特性(不能为空)所以只能用此命令插入记录。以前的插入命令是先插入一条空记录,然后再输入各字段的值,由于关键字段不允许为空,所以使用以前的方法就不能成功插入记录。 更新数据: UPDATE TableName Column 是“柱”、“列”的意思,Condition是条件的意思 删除数据: DELETE FROM TableName [WHERE SQL的定义功能: 表的定义: CREAT TABLE | DBF TableName1 [NAME LongTableName] [FREE] [CHECK Expression1 [ERROR cMessageText1]] [DEFAULT cExpression1] [PRIMARY KEY | UNIQUE] [REFERENCES TableName2 [TAG TagName1]] [NOCPTRANS] [,FieldName2...] [,PRIMARY KEY eExpression2 TAG TagName2 |,UNIQUE eExpression3 TAG TagName3] [,FOREIGN KEY eExpression4 TAG TagName4 [NODUP] REFERENCES TableName3 [TAG TagName5]] [,CHECK Expression2 [ERROR cMessageText2]]) |FROM ARRAY ArrayName REFERENCE 是“涉及”、“参考”的意思,TAG 是“标签”、“连接”的意思,FOREIGN 是“外部的”意思,FREE 是“自由表”,UNIQUE 是“候选索引”,FROM ARRAY 是“根据数组内容建立表”。 表的删除: DROP TABLE TableName 表结构的修改: ALTER TABLE 三种格式: 第一种:可以添加新的字段或修改已有的字段。但不能修改字段名、不能删除字段、不能删除已经定义的规则等。 ALTER TABLE AableName1 ADD | ALTER [COLUMN] FieldName1 第二种:用于定义、修改和删除有效性规则和默认值定义。但不能删除字段、不能更改字段名。与上一格式一样,所有修改都只限于字段一级。 ALTER TABLE TableName1 ALTER [COLUMN] FieldName2 [NULL | NOT NULL] 第三种:可以删除字段、修改字段名、可以定义、修改和删除表一级的有效性规则等。 ALTER TABLE TableName1 [DROP[COLUMN]FieldName3] 打开查询设计器的命令: CREATE QUERY 查询设计器与SQL语言对应的关系: 选择表或视图 连接 排序依据 杂项 注意:在用FROM选择表或视图时,还要给出数据库名前缀,并且数据库名后要加!号。 使用查询: DO queryfile 注意:必须给出查询文件的扩展名.QPR 打开视图设计器的命令: CREAT VIEW 注意:没有“查询去向”问题,但有“更新条件”问题 远程视图需要打开连接设计器: CREAT CONNECTION 要通过视图更新基本表中的数据,需要在“更新条件”选项卡,选中“发送SQL更新” 使用视图: USE 用于基本表的命令基本都可以用于视图操作 任何菜单都有一定动作,这个动作可以是下列三种情况之一: 只有选项名:执行一条命令 省略号...执行一个过程 黑三角▲:激活另一个菜单 系统条形菜单(主菜单)中常见选项的名称和内部名字: 选项名称 文件 编辑 显示 工具 程序 窗口 帮助 弹出式菜单的内部名字: 弹出式菜单 文件 编辑 显示 工具 程序 窗口 帮助 “编辑”菜单(_MEDIT)常见选项: 选项名称 撤消 重做 剪切 复制 粘贴 清除 全部选定 查找 替换 SET SYSMENU命令可以允许或禁止在程序执行时访问系统菜单,也可以重新配置系统菜单 SET SYSMENU ON|OFF|AUTOMATIC |TO[<弹出式菜单钟表>] |TO[<条形菜单项名表>] |TO[DEFAULT][SAVE][NOSAVE] NO:允许程序执行时访问系统菜单 OFF:禁止程序执行时访问系统菜单 AUTOMATIC:可使系统菜单显示出来,可以访问系统菜单 TO[<弹出式菜单名称>]重新配置系统菜单,以内部名字列出可用的弹出式菜单 TO[<条形菜单项名表>]重新配置系统菜单,以条形菜单内部名表列出可用的子菜单 TO DEFAULT:系统菜单恢复为缺省设置(退出菜单的命令) TO SAVE:系统菜单恢复为缺省设置 TO NOSAVE:将缺省配置恢复成VISUAL FOXPRO系统菜单的标准配置 新建菜单命令格式: create menu [<filename> | ?] 打开菜单设计器命令格式: modify menu [<filemane> | ?] 菜单热键设定:在菜单名称栏输入欲设定的字母,再输入(\>)即可 为顶层表单添加菜单: 步骤:1/在“菜单设计器”中设计下拉式菜单;2/菜单设计时,在“常规选项”对话框中选择“顶层菜单”复选框;3/将表单的show windows属性设置为2,使其成为顶层表单,在表单的init事件代码中添加调用菜单程序命令,格式: DO<文件名>WITH This[,"<菜单名>"] 在表单的Destroy事件代码中添加清除菜单的命令,使得在关闭表单时能同时清除菜单,释放其所占用的内存空间,命令格式: RELEASE MENU<菜单名>[EXTENDED] 清除菜单、释放内存命令 在快捷菜单的“清理”代码中添加清除菜单的命令,使得在选择、执行菜单命令后能及时清除菜单,释放其所占用的内存空间。命令格式: RELEASE POPUPS<快捷菜单名>[EXTENDED] 添加快捷菜单的命令: 在表单设计器环境下,选定需要添加快捷菜单的对象,在选定对象的Rightclick事件中,添加调用快捷菜单的命令: DO<快捷菜单程序文件名> 退出菜单代码: SET SYSMENU NOSAVE SET SYSMENU TO DEFAULT 打开报表设计器的命令格式: CREATE REPORT <文件名> 或 MODIFY REPORT <文件名> 用项目管理器组织应用系统步骤: 1、创建或打开一个项目 2、将已经开发好的各个模块或部件通过项目管理器添加到该项目中 3、在项目管理器中自下而上地调试各个模块 连编应用程序的命令是:BUILD APP<应用程序名>FROM<项目名〉 连编可执行程序的命令是:BUILD EXE<可执行文件〉FORM<项目名> 运行应用程序命令:DO<应用程序文件名〉 删除表文件的命令:DROP TABLE <表名> set talk off 概念: 能够伴随数据库表的打开而自动打开的索引文件是结构复合索引文件,这是惟一能够自动打开和关闭索引文件。该类索引文件不需要用户维护和管理,系统会自动进行维护,它的文件名与表名相同,扩展名是.cdx。其他类型的索引文件的打开需要以明确的命令方式打开。 视图是一个基于表而产生的虚表,并不是对基本表内容的复制,它体现的是一种映射关系,它允许更新内容、查询和删除操作,但是它不能脱离数据库中的基本表而独立存在。 组合框用于向用户提供一组可选择的选项。列表框与组合框类似,但是也有一点区别,即列表框允许用户进行多重选择。 数据库表和自由表的扩展名都是.DBF 文件类型: |
|