资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,4.3,结构化查询语言,SQL,SQL,(,Structure Query Language,):结构化查询语言,是美国国家标准组织,ANSI,的标准数据库语言。目前,大多数数据库系统支持,SQL,语言,,Visual FoxPro,也是支持,SQL,语言的一种软件产品。,SQL,语言可以实现,数据查询、数据定义、数据操纵和数据控制,(,此功能,VFP,没有,),。一条,SQL,命令可以代替多个,VFP,命令,4.3.1 SQL,的,表,操作语句,1.,定义基本表:,Create Table,表名,(,字段名,1,类型,(,长度,),NULL|NOT NULL,(,长度,)NULL|NOT NULL,),功能:生成一个指定表名的基本表,“,NOT NULL”,选项表示指定的字段属性不能为空,关键字段需进行该设置,例如,在,D,盘创建一个学生基本信息表,XSJBXX,,包含学号,姓名,性别字段,要求学号不能为空:,Create table D:XSJBXX(,学号,char(10)not null,姓名,char(10),性别,char(2),2.,删除基本表,DROP TABLE,表名,功能及说明:删除数据库中已有的数据表。如果一次删除多个表,则表与表之间用“,”逗号间隔。,删除之前确认表处于关闭状态。,例如:删除数据表,XSJBXX,。,DROP TABLE D:,XSJBXX,3.,修改基本表结构,(,字段的添加、更改、删除,),Alter Table,表名,Add,新字段名 类型,(,长度,),|,Alter,字段名,1,类型,(,长度,),Alter,|,DROP,字段名,1,DROP,功能及说明:用于向基本表中增加字段或修改已有的字段类型。其中,Add,子句用来增加字段,,Alter,子句用来更改已有的字段类型,,Drop,字句用来删除字段。,例如:将学生基本信息表,XSJBXX,中学号、姓名的长度都改为,8,,然后删除性别字段,Alter Table D:XSJBXX Alter,学号,char(8)Alter,姓名,char(8),Alter Table D:XSJBXI DROP,性别,注意,此位置不需要逗号隔开,注意,此位置不需要逗号隔开,4.3.2.SQL,的,表记录,操作语句,1.,插入记录,格式,1,:,Insert Into,表名,(,字段名,1,字段名,2)values(,表达式,1,表达式,2),功能:在指定的表尾添加一条新记录,其值为,VALUES,后面的表达式的值。,当需要插入表中所有字段的数据时,表名后面的字段名,可以缺省,不写,但插入数据的,格式及类型必须与表的结构完全吻合,;若只需要插入表中某些字段的数据,那么,就需要列出插入数据的字段名,相应的表达式的数据位置应与各字段相对应,例:,Insert Into d:XSJBXX Values,(“,1103”,,“李一”,“男”),格式,2,:,INSERT INTO,表名,FROM,数组名,|,FROM,内存变量,功能:在指定的,表尾,添加一条新记录,其值来自于数组或对应的同名内存变量。,例:先定义数组,A,(,5,),,A,中各元素的值分别是:,A(1)=”0301023”,A(2)=“1102”,A(3)=90,A(4)=80,A(5)=85,利用该数组向表,sg,中添加记录。,INSERT INTO SG FROM A,2.,更新记录,格式:,Update,表名,Set,字段名,1=,表达式,1,,字段名,2=,表达式,2Where,条件表达式,例如:要将学生基本信息表,XSJBXX,中李一的学号改为,1105,。,Update D:XSJBXX Set,学号,=“1105”Where,姓名,=“,李一”,3.,删除记录,逻辑删除:,Delete From,表名,Where,条件表达式,恢复逻辑就删除:,RECALL,物理删除:,PACK,4.3.3 SQL,的数据查询语句,查询:就是向一个数据库发出检索信息的请求,它使用一些条件提取特定的记录。,1.,无条件查询,格式:,SELECT ALL|DISTINCT ,别名,.,选项,AS,显示列名,别名,.,选项,AS,显示列名,FROM,表文件名,1,别名,,表文件名,2,别名,注:,1.,应先打开被查询的数据库及其表,2.,该命令应该写在一行,如果一行写不 下时,应该用分号(;)换到下一行续写,给表取别名,引用下面表的别名,说明:,ALL,:表示输出所有记录,包括重复记录。,DISTINCT,:表示输出无重复的记录。,别名:当选择的,多个数据库表,中的,有同名字段,时,可给数据库表取别名并使用别名来区分不同的数据表中的同名字段。,显示列名:在输出结果中,可以给输出的列设置一个名称。,选项:可以是,字段名、表达式或函数,。,表名:要查询的表。,格式:,SELECT ALL|DISTINCT ,别名,.,选项,AS,显示列名,别名,.,选项,AS,显示列名,FROM,表文件名,1,别名,,表文件名,2,别名,例:,SELECT a.,学号,,a.,姓名,,b.,平时成绩,FROM,学生信息表,a,,成绩表,b,SELECT MAX(,成绩,)as,最高成绩,FROM,成绩表,SELECT distinct,姓名,as,大名,FROM,学生信息表,SELECT,成绩*,0.8+,平时成绩*,0.2 as,有效成绩,FROM,学生成绩表,SELECT,命令中的选项,可以是字段、表达式或者函数。,常用的函数有,:,求平均值函数,AVG,格式:,AVG,功能:求,指定列,数据的平均值。,求和函数,SUM,格式:,SUM,功能:求,指定列,的数据和。,计数函数,COUNT,格式:,COUNT,(*),功能:,输出查询的行数,。,求最大值函数,MAX,格式:,MAX,功能:给出,指定列,中的最大值。,求最小值函数,MIN,格式:,MIN,功能:给出,指定列,中的最小值。,四舍五入函数,ROUND,格式:,ROUND,功能:对指定的,数值型,的列进行四舍五入。,例如:,SELECT,学号,姓名,ROUND(,平时成绩,0)as,平时成绩,FROM,成绩表,2.,有条件查询,SELECT ALL|DISTINCT ,别名,.,选项,AS,显示列名,别名,.,选项,AS,FROM,表名,别名,WHERE,条件表达式,注:该命令应该写在一行,当一行写不下时,应该用分号(;)换到下一行续写,条件表达式由一系列用,AND,或,OR,连接的关系表达式组成,条件表达式的格式有以下几种:,(,注:,关系就运算符有,=,,,,,!=,,,#,,,=,,,,,,,=,),格式一:,例:,SELECT a.,学号,,a.,姓名,,b.,平时成绩,FROM,学生信息表,a,,成绩表,b,WHERE b.,成绩,b.,平时成绩,格式二:,例:,SELECT a.,学号,,a.,姓名,,b.,平时成绩,FROM,学生信息表,a,,成绩表,b,WHERE b.,成绩,(,b.,成绩,+b.,平时成绩),NOTBETWEENAND,例:,SELECT*from,成绩表,WHERE,入学总分,between 500 AND 520,NOTLIKE,ALL,ANY|SOME(),
展开阅读全文