visual foxpro 程序设计 第八章

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1第8章SQL关系数据库查询语言2010.10.28王兰2本章要点创建查询SQL语句表定义SQL语句表记录操作SQL语句38.1创建查询SQL语句SQL(StructuredQueryLanguage,结构化查询语言)语言是集数据定义、数据查询、数据操纵和数据控制功能于一体的语言,具有功能丰富、使用灵活、语言简捷易学等特点,SQL语句最主要的功能就是查询功能。4SQL语言的动词SQL功能动词数据查询SELECT数据定义CREATE,DROP,ALTER数据操纵INSERT,UPDATE,DELETE数据控制GRANT,REVOKE5SQL语句创建查询使用的是Select语句Select[All|Distinct]字段名1|函数[,字段名2……]From表或查询Join表或查询On条件表达式][Where条件表达式][OrderBy排序选项[Asc][Desc]]GroupBy分组字段名[Having条件表达式]]6表8-1查询计算函数的格式及功能函数格式函数功能COUNT(*)计算记录个数SUM(字段名)求字段名所指定字段值的总和AVG(字段名)求字段名所指定字段的平均值MAX(字段名)求字段名所指定字段的最大值MIN(字段名)求字段名所指定字段的最小值7表8-2查询条件中常用的运算符运算符实例=、、、=、=、工资现状3000NOT、AND、OR工资现状5000AND工资现状3000LIKE性别LIKE男BETWEENAND工资现状BETWEEN3000AND5000ISNULL工资现状ISNULL88.1.1单表查询:主要用到以下关键词:SelectFromWhereOrderby9例8.1:利用表“rcda”中的数据创建一个查询,其结果包含“编号”、“姓名”、“性别”、“出生日期”、“工资现状”、“党员否”6个字段的内容。Select编号,姓名,性别,出生日期,工资现状,党员否;Fromrcda10例8.2:利用表“rcda”中的数据创建一个查询,其结果包含“编号”、“姓名”、“性别”、“出生日期”、“工资现状”、“党员否”6个字段的内容,并按“编号”字段值降序排列。Select编号,姓名,性别,出生日期,工资现状,党员否;Fromrcdaorderby编号desc11例8.3:利用表“rcda”中的数据创建一个查询,其结果包含“编号”、“姓名”、“性别”、“出生日期”、“工资现状”、“党员否”6个字段的内容,只选择工资现状超过5000元的记录组成查询。Select编号,姓名,性别,出生日期,工资现状,党员否;Fromrcda;Where工资现状=500012例8.4:利用表“rcda”中的数据创建一个查询,其结果包含“编号”、“姓名”、“性别”、“出生日期”、“工资现状”、“党员否”6个字段的内容,选择工资现状超过5000元的记录,且查询结果按工资现状字段值降序排列。Select编号,姓名,性别,出生日期,工资现状,党员否;Fromrcda;Where工资现状=5000;Orderby工资现状desc13例8.5:利用表“rcda”中的数据创建一个查询,其结果包含“编号”、“姓名”、“性别”、“出生日期”、“工资现状”、“党员否”6个字段的内容,选择工资现状超过3000元,少于5000元的记录,且查询结果按工资现状字段值升序排列。Select编号,姓名,性别,出生日期,工资现状,党员否;Fromrcda;Where工资现状between3000and5000;Orderby工资现状(asc)14例8.6:利用表“rcda”中的数据创建一个查询,其结果包含所有字段的内容,并选择所有男同志的记录。Select*;Fromrcda;Where性别=“男”(性别like“男”)158.1.2多表查询主要用到以下关键词:selectfromjoinonwhere16例8.7:利用表“rcda”和表“zytc”中的数据创建一个查询,其结果包含“rcda”中的“编号”、“姓名”、“性别”、“出生日期”、“工资现状”、“党员否”6个字段和表”zytc”中的“专业”、“专业年限”、“职称”、“英语水平”4个字段,共10个字段的内容。Selectrcda.编号,姓名,性别,出生日期,工资现状,党员否,专业,专业年限,职称,英语水平;Fromrcdajoinzytc;Onrcda.编号=zytc.编号17例8.8:利用表“rcda”和表“zytc”中的数据创建一个查询,其结果包含“rcda”中的“编号”、“姓名”、“性别”、“出生日期”、“工资现状”、“党员否”6个字段和表”zytc”中的“专业”、“专业年限”、“职称”、“英语水平”4个字段,共10个字段的内容,且查询结果按表“rcda”中的“编号”字段值降序排列。Selectrcda.编号,姓名,性别,出生日期,工资现状,党员否,专业,专业年限,职称,英语水平;Fromrcdajoinzytc;Onrcda.编号=zytc.编号;Orderbyrcda.编号desc18例8.9利用表“rcda”和表“cjda”中的数据创建一个查询,其结果包含表“rcda”中的“编号”、“姓名”2个字段和表“cjda”中的“成果名称”、“成果类别”、“成果出处”3个字段,共5个字段的内容。Selectrcda.编号,姓名,成果名称,成果类别,成果出处;Fromrcdajoincjda;Onrcda.编号=cjda.编号19例8.10:利用表“rcda”中的数据,创建一个查询,统计表“rcda”中的人数,求工资的总和、最多的工资、最少的工资。Selectcount(编号),sum(工资现状),max(工资现状),min(工资现状);Fromrcda208.2表定义SQL语句8.2.1创建表CreateTable表名([字段名1]类型(长度)[,[字段名2]类型(长度)……])其中:字符型(character),数值型(numeric),整型(integer),浮点型(float),日期型(data),逻辑型(logic),备注型(memo),Ole型(general)。21例8.11创建一个表,其表名为“rcda1”,结构可以按表8-3定义。字段名字段类型字段宽度小数点编号字符型8-------姓名字符型8-------性别字符型2-------出生日期日期型8-------工资现状数值型102党员否逻辑型1-------简历备注型4-------照片通用型4-------22SQL语句如下:Createtablercda1(编号character(8),;姓名character(8),;性别character(2),;出生日期data(8),;工资现状numeric(10,2),;党员否logic(1),;简历memo(4),;照片general)Modifystructure238.2表定义SQL语句8.2.2修改字段属性AlterTable表名Alter字段名1类型(长度)[Alter[字段名2]类型(长度)……]24例8.12修改表“rcda1”的结构,以下是修改之后的内容。字段名字段类型字段宽度小数点编号整型4-------姓名字符型6-------性别字符型2-------出生日期日期型8-------工资现状数值型102党员否逻辑型1-------简历备注型4-------照片通用型4-------25SQL语句如下:Altertablercda1;Alter编号integer(4);Alter姓名character(6)Modifystructure268.2表定义SQL语句8.2.3删除字段AlterTable表名Drop字段名1[Drop字段名2……]27例8.13删除表“rcda1”的“党员否”、“简历”、“照片”3个字段。AlterTablercda1;Drop党员否;Drop简历;Drop照片modifystructure288.2.4增加字段AlterTable表名Add字段名1类型(长度)[Add字段名2类型(长度)……]8.2表定义SQL语句29例8.14给表“rcda1”重新增加一个简历字段。AlterTablercda1;Add简历meno(4)modifystructure308.3表记录操作SQL语句SQL语句可以完成有关表记录的插入、更新、删除等相关操作。8.3.1插入记录InsertInto表名(字段名1[,字段名2……])Values(表达式1[,表达式2……])31例8.15给已知表“rcda”添加一个新纪录,其内容为(sy11111,张三,男,1980年1月1日,8888.00,T)InsertIntorcda(编号,姓名,性别,出生日期,工资现状,党员否);Values(“sy11111”,“张三”,“男”,{^1980/1/1}8888.00,.T.)328.3表记录操作SQL语句8.3.2更新记录Update表名Set字段名1=表达式1[,字段名2=表达式2……][Where条件表达式]33例8.16更新表“rcda”中,姓名为“张三”的记录的“姓名”字段的值,将其更新为“李四”。UpdatercdaSet姓名=“李四”;Where姓名=“张三”Browselast348.3.3删除记录DeleteFrom表名[Where条件表达式]8.3表记录操作SQL语句35例8.17逻辑删除表“rcda”中姓名为“李四”的记录。DeleteFromrcdaWhere姓名=“李四”Browselast36练习:注意:基本操作题为4道SQL题,请将每道题的SQL命令粘贴到sql_a1.txt文件,每条命令占一行,第1道题的命令是第1行,第2道题的命令是第2行,以此类推;如果某道题没有做,相应行为空。在考生文件夹下完成下列操作:37(1)利用SQLSELECT命令将表stock_sl.dbf复制到stock_bk.dbf。select*fromstock_sl.dbfintodbfstock_bk(2)利用SQLINSERT命令插入记录(“600028”,4.36,4.60,5500)到stock_bk.dbf表。insertintostock_bk.dbf(股票代码,买入价,现价,持有数量);values("600028",4.36,4.60,5500)38(3)利用SQLUPDATE命令将stock_bk.dbf表中“股票代码”为“600007”的股票“现价”改为8.88。updatestock_bk.dbf;set现价=8.88;where股票代码=“600007”(4)利用SQLDELETE命令删除stock_bk.dbf表中“股票代码”为“600000”的股票。Deletefromstock_bk.dbf;Where股票代码=“600000”

1 / 38
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功