SQL语言是数据库的标准语言

上传人:仙*** 文档编号:244193536 上传时间:2024-10-03 格式:PPT 页数:38 大小:122.50KB
返回 下载 相关 举报
SQL语言是数据库的标准语言_第1页
第1页 / 共38页
SQL语言是数据库的标准语言_第2页
第2页 / 共38页
SQL语言是数据库的标准语言_第3页
第3页 / 共38页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,*,SQL,语 言,SQL,语言是数据库的标准语言,几乎所有的关系数据库管理系统都支持,SQL,标准。,SQL,语言的主要特点是:,(,1,)高度集成化,SQL,语言集数据定义、数据操作、数据查询和数据控制功能于一体。,(,2,)非过程化,SQL,是一种非过程化的语言。,(,3,)简洁易学,SQL,语言完成数据定义,(CREATE,、,DROP,、,ALTER),数据操纵(,INSERT,、,UPDATE,、,DELETE,)、,数据控制(,GRANT,、,REVOKE,),和数据查询(,SELECT,),等核心功能只用了,9,个命令动词;而且语法也接近英语自然语法。,(,4,)用法灵活,SQL,语言既能够以人机交互方式来使用,也可以嵌入到程序设计语言中以程序方式使用。,5.2,表结构及其它属性的定义,1,、表结构定义的最基本命令格式,CREATE TABLE,(或,DBF,) 表名,;,(字段名,1,字段类型(宽度,小数位数),,,;,字段名,2,字段类型(宽度,小数位数),,.),功能,:,定义表的字段名、字段类型、宽度、小数位数,说明,(,1,)各,字段之间用,逗号,区分,字段名与字段类型,之间用,一个或多个空格,区分,(,2,),C,、,D,、,N,、,I,、,L,、,M,、,G,分别代表字符型、,日期型、 数值型、整型、逻辑型、备注型,和通用型。,(,3,),VFP,用对话框定义表结构,,SQL,用命令定义表结构,例,1,:定义学生表结构:学号:,C,(,5,),姓名:,C,(,6,),性别:,L,,出生日期:,D,,语文:,N,(,4,,,1,),CREATE DATABASE Y1,CREATE TABLE,学生,(,学号,C(5),,姓名,C(6),,,;,性别,L,,出生日期,D,,语文,N(4,1),),说明:先用命令建立数据库,然后再定义表结构,输入记录。,1,、表结构定义的复杂命令格式,复杂,:,即再给字段定义更多的修饰,如,:,指定主关键字、设置字段的有效性规则、设置提示信息、设置默认值、设置外部关键字并和主表建立联接。,(1) PRIMARY KEY,(2) CHECK,字段有效性规则, ERROR,错误信息,(3) DEFAULT,默认值,(4) PRIMARY KEY,主关键字,tag,标识名,(5) FOREIGN KEY,外部关键字,tag,标识名,;,REFERENCES,主表名,说明:,A,:(,1,)、(,2,)、(,3,)、(,4,)、(,5,)根据题目的要求选择其中的一部分放在字段类型的后面,并且各项之间用一个或一个以上的空格区分。,B,(,4,)是定义主表主索引用的,(,5,)是定义子表索引及和主表建立联接用的。,例,2,:定义一个名为“学生,1.DBF”,的数据库表:,学号,C(8),为主关键字,姓名,c(8),性别出,c,(,2,),性别的默认值为,“,男,”,出生日期,d,系别,c(10),贷款否,L,简历,M,照片,G NULL,。,CREATE TABLE,学生,1,(,学号,C(8) PRIMARY key,姓名,;,C(8),性别,C(2) DEFUALT,“,男,”,出生日期,D,系别,;,C(10),贷款否,L,简历,M,照片,G NULL,),说明:对同一个字段修饰的各部分之间用一个,以上的空格区分。,Create table,课程,1,(,课程号,c(3) primary key,,,;,课程名,c(20),学时,N(3),学分,N(2),),Create table,成绩,1,(,学号,c(8),,,课程号,c(3),,,;,成绩,N(5,1) check (,成绩,=0 and,成绩,=0 and,成绩,、,=,、,=75 and,成绩,=85,例,2,:查询计算机系和管理系学生的学号、姓名和,系别信息。,Select,学号,姓名,系别,from,学生,;,where,系别,in (“,计算机”,“管理”),注意, where,系别,in (“,计算机”,“管理”),相当于,where,系别,=“,计算机”,or,系别,=“,管理”,3,、排序查询,使用,ORDER BY,字段名,,可以对查询结果按升序(,ASC,),或降序(,DESC,),排列。,SELECT,字段名表,FROM,表名,WHERE,条件语句,ORDER BY,字段名(或字段名表),例,1,:,按成绩升序输出所有学生的英语课成绩,select,成绩,from,成绩,where,;,课程号,=101 order by,成绩,例,2,:按课程号,顺序,输出学生的各科成绩,同一门课按成绩降序 排列,SELECT * FROM,成绩,ORDER BY,课程号,成绩,DESC,计算与分组查询,使用,GROUP BY,子句可以实现分组查询,通常与计算查询(如计数、求和、求平均值等)结合使用,先按指定的数据项分组,再对各组汇总计算。,常用的计算检索函数:,AVG(,字段名) 求一列数据的平均值,SUM,(,字段名)求一列数据的和,COUNT,(,字段名)求查询的记录的个数,MIN,(,字段名)求指定列中的最小值,MAX,(,字段名)求指定列中的最大值,例,1,:求所有,课程的平均成绩:,Select AVG(,成绩),from,成绩,例,2,:求各门,课程的平均成绩,SELECT,课程号,AVG(,成绩,) AS,平均成绩,;,FROM,成绩,GROUP BY,课程号,例,3,:,统计管理系的男女学生人数,SELECT,性别,,count(,性别,) as,;,管理系的男女学生人数,;,From,学生,where,系别,=,管理,;,group by,性别,多表查询,多表查询时,表和表之间必须有联接关系,在,WHERE,子句中可以指定表间的联接关系。其格式为:,WHERE,表名,1.,字段名,1=,表名,2.,字段名,2,或,别名,1.,字段名,1 =,别名,2.,字段名,2,注意,:,1,字段名,1,、,字段名,2,通常是两个表的公共字段,2,可以在指定源表的同时给表定义别名,from,表名 别名,例,1,:求,各门课程的平均成绩,要求输出课程名和成绩信息:,SELECT,课程名,AVG(,成绩,) AS,平均成绩,FROM,课程,KC,,,成绩,CJ,;,WHERE KC.,课程号,= CJ.,课程号,GROUP BY CJ.,课程号,例,2,:查询所有学生的学号、姓名、所学课程和成绩,SELE XS.,学,号,,XS.,姓名,,KC.,课程名,,;,成绩,as,期末成绩,;,from,学生,XS ,课程,KC,成绩,CJ,;,WHERE XS.,学号,=CJ.,学号,and,;,KC.,课程号,=CJ.,课程号,例,3,:查询所有学生的姓名、系别和英语成绩,SELE,姓名,系别,成绩,AS,英语成绩,;,FROM,学生,XS ,成绩,CJ,;,Where XS.,学号,=CJ.,学号,AND CJ.,课程号,=101,联接查询,利用,FROM,ON,子句建立两表之间的联接。,格式:,FROM,表名,1 INNER JION,表名,2 ON,联接条件,例,1,:查询各门课程的平均成绩,要求输出课程名和成绩信息:,SELECT,课程名,AVG(,成绩,) AS,平均成绩,;,FROM,课程,KC ;,INNER JOIN,成绩,CJ;,ON KC.,课程号,= CJ.,课程号,;,GROUP BY CJ.,课程号,例,2,:查询学生中除英语以外的其它课程和成绩,SELE CJ.,学号,,KC.,课程名,,CJ.,成绩;,FROM,成绩,CJ INNER JOIN,课程,KC;,ON CJ.,课程号,=KC.,课程号;,Where KC.,课程号,“101”,等价于,SELE CJ.,学号,,KC.,课程名,,CJ.,成绩;,FROM,成绩,CJ ,课程,KC;,Where KC.,课程号,“101” and CJ.,课程号,=KC.,课程号,嵌套查询,在一个,SELECT,命令的,WHERE,子句中出现另一个,SELECT,命令,(,即子查询)。,子查询的结果必须是确定的值。,例如,查询李华同学所学课程的课程名和成绩:,SELECT,课程名,成绩,FROM,课程,KC,成绩,CJ;,WHERE KC.,课程号,= CJ.,课程号 ;,AND CJ.,学号,=,(SELECT,学号,FROM,学生,WHERE,姓名,;,=,“,李华,”,),查询输出,查询结果默认显示在浏览窗口中,通过,INTO,子句或,TO,子句可以对输出重定向。,格式:,into DBF,表文件,| TABLE,表文件 保存到表文件,TO FILE,文本文件,保存到文本文件,TO PTINT,打印,例,1,:查询各门课程的平均成绩,结果保存在“平均成绩”表中。,SELECT,课程号,AVG(,成绩,) AS,平均成绩,FROM,成绩,;,GROUP BY,课程号,INTO TABLE,平均成绩,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!