网站导航网学 原创论文 原创专题 网站设计 最新系统 原创论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
返回网学首页
网学原创论文
最新论文 推荐专题 热门论文 论文专题
当前位置: 网学 > 交易代码 > SQL语法 > 正文

VF结构化查询语言SQL

论文降重修改服务、格式排版等 获取论文 论文降重及排版 论文发表 相关服务

    VF结构化查询语言SQL
    一,SQL的数据定义功能SQL语言使用数据定义语言(DataDefinitionLanguage,简称DDL)实现其数据定义功能,可对数据库用户,基本表,视图,索引进行定义和撤消.1.1SQL提供的基本数据类型当使用SQL语句定义表时,需要为表中每一个字段设置一个数据类型,用来指定字段所存放的数据是整数,字符串,货币或其他类型的数据.数值型——包括长整形型int,短整型smallint,实型real,浮点型float.字符串——包括定长字符串型char,变长字符串型varchar.时间型——包括日期型date,时间型time.二进制型——定长二进制型binary,不定长二进制型varbinary.1.2创建,修改和删除数据表1.创建数据表:数据表是关系数据库的基本组成单位,它物理地存储于数据库的存储文件中.在SQL语言中,使用语句CREATETABLE创建数据表.[命令]CREATETABLE<表名>(<列定义>[,<列定义>][<表约束>])[功能]创建数据表2.修改数据表[命令]ALTERTABLE<表名>[ADD<新列定义><数据类型>[列约束>[MODIFY<列名><数据类型>][DROP<约束名>][功能]修改基本表的结构.3.删除数据表.[命令]DROPTABLE<表名>[功能]删除数据表.注意:只能删除自己建立的表,不能删除其他用户所建的表.1.3创建删除索引索引是数据表的目录.一个数据表可以根据需要建立多个索引.1.索引分类(1)按照索引记录的存放位置可分为聚集索引与非聚集索引.聚集索引——按照索引的字段排列记录,并且依照排好的顺序将记录存储在表中.非聚集索引——按照索引的字段排列记录,但是排列的结果并不会存储在表中,而是另外存储.SQL语言使用ALTERTABLE命令来完成这一功能.
    (2)惟一索引的慨念:惟一索引表示表中每一个索引值只对应惟一的数据记录,这与表的PRIMARYKEY的特性类似.因此,惟一索引常用于PRIMARYKEY的字段上,以区别每一个记录.当表中有被设置为UNIQUE的字段时,系统会自动建立一个非聚集的惟一性索引;而当表中有PRIMARYKEY的字段时,系统会在PRIMARYKEY字段建立一个聚集索引.(3)复合索引:复合索引是将两个字段或多个字段组合起来建立的索引.[命令]CREATE[UNIQUE][CLUSTER]INDEX<索引名>ON<表名>(<列名>[次序][{,<列名>}][次序]…)[功能]建立索引.二,SQL的数据查询功能2.1SELECT命令的格式SELECT语句的一般格式为:[命令]SELECT[ALL/DISTINCT][TOP<表达式>[PERCENT>[<别名>.][<列表达式>][AS<栏名>][,[<别名.>]<表达式>[AS<栏名>]…]FROM[<数据库名!>]<表名>[,[<数据库名!>><表名>…][INNER/LEFT/RIGHT/FULLJOIN[<数据库名!>]<表名>[ON<连接条件>…><>新表名>]/[TOFILE<文件名>/TOPRINTER/TOSCREEN>[WHERE<连接条件>[AND<连接条件>…>[AND/OR<筛选条件>[AND/OR<筛选条件>…>[GROUPBY<列名>[,<列名>…>[HAVING<筛选条件>][ORDERBY<列名>[ASC/DESC][,<列名>[ASC/DESC]…>[功能]实现数据查询.2.2投影查询2.3条件查询:当要在数据表中找出满足某些条件的行时,则需要使用WHERE子句指定查询条件.1.2.比较大小多重条件查询:当WHERE子句需要指定一个以上的查询条件时,则需要使用逻辑运算符AND,OR和NOT将其连接成复合的逻辑表达式.其优先级由高到低为:NOT,AND,OR.用户可以使用括号改变优先级.3.确定范围SELECT教师号,,职称;FROM教师;WHERE工资BETWEEN1500AND2000等价于:[例]查询工资在1500与2000之间的教师的教师号,及职称.
    SELECT教师号,,职称;FROM教师;WHERE工资>=1500AND工资<=20004.确定集合利用"IN"操作可以查询属性值属于指定集合的远组.[例]查询选修了课程"C140"或"C160"并且成绩在80分以上的学生的学号,课程号和成绩.SELECT,课程号,成绩;FROM选课;WHERE课程号IN('C140','C160')AND成绩>=80此语句也可以使用逻辑运算符"OR"SELECT,课程号,成绩;FROM选课;WHERE课程号='C140'OR课程号='C160'AND成绩>=805.部分匹配查询用命令:LIKE或NOTLIKE2.4统计查询:在以上函数中,可以使用DISTINCT短语或ALL短语,如果指定了DISTINCT短语,则表示在计算时取消指定列中的重复值,如果不指定DISTINCT短语或ALL短语,则取默认值ALL,表示不取消重复值.函数名功能AVG按列计算平均值SUM按列计算值的总和COUNT按列值统计个数MAX求一列中的最大值MIN求一列中的最小值注意:函数SUM和AVG只能对数值型字段进行计算.注意:加入关键字DISTINCT后表示消去重复行,可计算字段课程号不同值的数目.注意:COUNT(*)用来统计元组的个数,不消除重复行,不允许使用DISTINCT关键字.2.5分组查询
    GROUPBY子句可以将查询结果按属性列或属性列组合在行的方向上进行分组,每组在属性列或属性列组上具有相同的值.[例]查询各位教师的教师号及其任课的门数.SELECT教师号,COUNT(*)AS任课门数;FROM授课;GROUPBY教师号注意:GROUPBY子句按教师号的值分组,所有具有相同教师号的元组为一组,对每一组使用函数COUNT进行计算,统计各位教师任课的门数.GROUPBY子句和HAVING注意:当在一个SQL查询中同时使用WHERE子句,子句时,其顺序是WHERE,GROUPBY,HAVING.WHERE与HAVING子句的根本区别在于作用对象不同:WHERE子句作用于基本表或视图,从中选取满足条件的元组.HAVING子句作用于组,选择满足条件的组,必须用于GROUPBY子句之后,但GROUPBY子句可以没有HAVING子句.2.6查询的排序当需要对查询结果排序时,可用ORDERBY子句对查询结果按一个或多个属性列的升序(ASC)或降序(DESC)排列,默认值为升序.ORDERBY子句必须出现在其他子句之后.[例]查询选修了课"C140"的学生和成绩,并按成绩降序排列.SELECT,成绩;FROM选课;WHERE课程号='C140';ORDERBY成绩DESC2.7连接查询存放在一个数据库中的各个表既是相互独立的,又具有一定联系.用户经常需用多个表中的数据来组合,综合,获取所需的信息.其面的查询都是针对一个表进行的,当一个查询同时涉及多个(两个以上)表时,称为连接查询.连接查询实际上是通过各个表之间共同属性列的关联来查询数据的,数据表之间的联系是通过表字段值来体现的,这个字段称为连接字段.表的连接方法有两种:方法一:表之间满足一定条件的行进行连接,此时FROM子句中指明进行连接的表名,WHERE子句指明连接的列名及其连接条件.方法二:利用JOIN进行连接.INNERJOIN——显示符合条件的记录,此为默认值;LEFTJOIN——显示符合条件的数据行以及左边表中不符合条件的数据行,此时右边数据行会以NULL来显示,此称为左边连接;
    RIGHTJOIN——显示符合条件的数据行以及右边表中不符合条件的数据行,此时左边数据行会以NULL来显示,此称为右边连接;FULLJOIN——显示符合条件的数据行以及左边表和右边表中不符合条件的数据行,此时缺乏数据的数据行会以NULL来显示;当将JOIN关键词放于FROM子句中时,应有关键词ON与之相对应,以表明连接的条件.1.2.3.等值连接与非等值连接:当比较运算符为"="时,称为等值连接,其他情况为非等值连接.自身连接:当一个表与其自己进行连接操作时,称为表的自身连接.表的自身连接主要用于同一个表中数据的比较.外连接:外部连接分为左外部连接(简称左连接)和右外部连接(简称右连接).以主表所在方向区分外部连接,主表在左边称为左连接,主表在右称为右连接.2.9查询结果输出使用INTO子句,可以将查询结果输出到一个新建的数据表或一个临时表.临时表只存储在内存中,关机后自动消失.INTOTABLE<表名>:表示输出到数据表.INTOCURSOR:表示输出到临时表.另外还有一些输出可以选项,其含义如下:TOFILE<文件名>——将查询结果输出到文本文件.TOPRINT——将查询结果打印输出.TOSCREEN——将查询结果输出到VisualFoxpro主窗口.三,SQL的数据更新功能3.1插入数据记录1.插入一行新记录[命令]INSERTINTO<表名>[(<列名1>[,<列名2>…])]VALUES(<值1>[,<值2>…])[功能]将新记录插入到指定的表中,分别用值1,值2等为列1,列2等赋值.2.插入多行记录[命令]INSERTINTO<表名>[(<列名1>[,<列名2>…])][功能]插入数据.3.2修改数据记录[命令]UPDATE<表名>SER<列名>=<表达式>[,<列名>=<表达式>]…[WHERE<条件>][功能]对表中的一行或多行记录的某些列值进行修改.3.3删除数据记录[命令]DELETEFROM<表名>[WHERE<条件>][功能]删除表中的一行或多行记录.
    
  • 下一篇资讯: VfpVSSQL
  • 设为首页 | 加入收藏 | 网学首页 | 原创论文 | 计算机原创
    版权所有 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师