SQL语言access教学课件

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

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

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

资源描述

第6章SQL语言SQL语言结构化查询语言SQL(StructuredQueryLanguage)功能:数据定义功能数据查询功能数据更新功能视图管理功能数据控制功能数据定义功能数值型:Integer(或INT):长整型,按4字节存储Smallint:短整型,按2字节存储Float(n):浮点数,精度至少为n位数字,按8字节存储Real:按4字节存储Double:存储依赖于机器的精度Numberic(p,q):定点数,由p位数字组成,q为小数位数数据类型字符型:Char(n):长度为n的定长字符串Varchar(n):具有最大长度为n的变长字符串,所占空间与实际字符数有关。Text/Memo:长度可以根据数据多少而定,所占空间与实际字符有关,最大为2GBBinary(n):长度为n的定长二进制位串VarBinary(n):具有最大长度为n的变长二进制串数据类型日期、时间型Date:日期数据类型,按8字节存储Time:时间数据类型,按8字节存储DateTime:日期时间类型,按8节存储数据类型逻辑型Logical:逻辑数据类型,按1字节存储货币型SmallMoney:货币数据类型,按4字节存储、Money:货币数据类型,按8字节存储OLE型General:通用型数据,长度可以根据数据多少定,所占空间可达2GB创建表—语句格式Createtable表名(列名1数据类型1[列级完整性约束1][,列名2]数据类型2[列级完整性约束2][,……]列名n[列级数据完整性约束n]);语句功能创建一个以表名为名的、以指定列属性定义的表结构说明表名和列名:所要定义的基本表的名字,基本表由一列(属性)或多列组成,每一列均必须定义列名和数据类型。完整性约束条件列级完整性约束条件:Primarykey约束(主键)、ForeignKey约束(外键)、Unique约束(唯一值)和NotNull(不允许为空)或Null(允许为空)约束。修改表结构语句格式:AlterTable表名[Add新列名数据类型[完整性约束][,……]][Drop[[[Constraint]约束名]|[Column列名]][,……]][Alter列名数据类型[,……]];修改表结构语句功能:修改以表名为名的表结构说明:Add子句用于增加新列和新的完整性约束条件Drop子句用于删除指定列和完整性约束,当删除某一列时,该列及约束均自动删除Alter子句用于修改原有的列的定义,包括修改列名、列的宽度和列的数据类型删除表语句格式:DropTable表名语句功能:删除表说明:表一旦删除,表中的数据、此表上建立的索引和视图都将自动被删除,且无法恢复。表删除操作一定要小心。建立索引语句格式:Create[Unique][Clustered]Index索引名ON表名(列名1[Asc|Desc][,列名2[Asc|Desc]][,……]))功能:为表创建索引说明:Asc为升序,Desc为降序,系统默认为升序Unique表示其索引值是唯一的删除索引语句格式:DropIndex索引名[,……]功能:删除指定的索引说明:删除索引时,会同时从数据字典中删除有关该索引的描述。数据更新插入数据修改数据删除数据插入数据语句格式:InsertInto表名[(列名1[,列名2,……])]Values([常量1,常量2,……])功能:将一个新记录插入到指定表中。说明:Into子句指定表中要插入的新值的列。Values子句指插入新值的列的值。要求各常量与前面的列的数据类型相同,同时个数也相同。如果省略了Into子句后面的列列表,则表示对表中所有字段均插入值更新数据语句格式Update表名Set列名=表达式[,列名=表达式][,……]where条件功能:更新表中数据说明:Where子句指出表中需要更新数据的记录的条件,如省略,表示所有元组均更新。Where子句也可嵌入子查询删除数据语句格式:DeleteFrom表名[Where条件]语句功能:删除表中满足条件的记录说明:删除表中满足条件的记录,如果省略where子句,删除基本表中的所有数据Where子句也可以嵌入子查询数据查询—select语句Select[All|Distinct]列名|目标列表达式|函数[,……]From表名或视图名[,……][Where条件表达式][GroupBy列名1[Having条件表达式]][OrderBy列名2[Asc][Desc]Select语句功能:从指定的表或视图中,创建一个由指定范围、满足条件、按某字段分组、按某字段排序的指定字段组成的新记录集。说明:All:查询结果是表的全部记录Distinct:查询结果不包括重复行的记录集From表或视图名:查询的数据来源Select语句说明Where条件表达式:查询结果是满足条件的记录GroupBy分组字段名:查询结果按分组字段名分组的记录Having条件表达式:对分组的结果进行限定OrderBy:查询结果按指定的列进行排序,Asc为升序,Desc为降序,系统默认为升序函数:进行查询计算的函数查询计算函数的格式及功能函数格式函数功能COUNT(*)计算记录个数SUM(字段名)求字段名所指定字段值的总和AVG(字段名)求字段名所指定字段的平均值MAX(字段名)求字段名所指定字段的最大值MIN(字段名)求字段名所指定字段的最小值简单查询Select字段名列表from表名where条件如果显示所有的记录,则可用Select*from表名where条件连接查询两表连接:SQL的连接操作是通过相关联的表间行的匹配而产生的结果。要连接的表在From子句后列出,表名之间用逗号分隔,连接条件利用Where子句进行说明。如果缺少Where子句的条件说明,完成的连接是两表的笛卡尔积。注意:在输出的字段列中,如果该字段在连接的两表中均存在,则必须在字段前面标明该字段的出处嵌套查询使用SQL语言,一个Select…From…Where语句产生一个新的数据集,一个查询语句完全嵌套到另一个查询语句中的Where或Having的条件短语中,这种查询称为嵌套查询用于相等(=)判断的子查询子查询的结果只有一个值时,可用“相等”判断的嵌套子查询用于In短语的子查询如果子查询的结果是一个列表,而外查询的条件只要是列表中的一个值即可满足条件的查询,可用In短语来引导子查询用于比较运算符的子查询子查询的结果只有一个值时,可用比较运算符来引导查询用于Any或All的子查询若子查询前缀Any短语,满足子查询产生的任何值(一个或多个),条件为真若子查询前缀All短语,必须满足子查询产生的所有条件,条件为真集合查询使用SQL语言,把多个Select产生的数据集进行合并,即集合查询。并(Union)SelectUnionSelectSELECT实例SELECT姓名,性别,工作日期FROM员工WHERE性别=男And工作日期=#5/1/1999#;SELECT实例SELECT性别,count(*)FROM员工GROUPBY性别;SELECT实例SELECTyear(工作日期)AS工作年份,count(year(工作日期))AS工作人数FROM员工GROUPBYyear(工作日期)HAVINGyear(工作日期)1990;SELECT实例SELECT姓名,性别,工作日期FROM员工ORDERBY工作日期;SELECT实例SELECT员工.姓名,员工.性别,公司机构.机构编号,公司机构.连锁机构名称FROM员工,公司机构WHERE员工.机构编号=公司机构.机构编号And公司机构.机构编号=c1;SELECT实例SELECT姓名,客户名称,订单编号FROM员工ASa,订单ASb,零售商AScWHEREa.员工编号=b.员工编号Andb.客户编号=c.客户编号;SELECT实例SELECT姓名,客户名称,订单编号FROM员工ASa,订单ASb,零售商AScWHEREa.员工编号=b.员工编号Andb.客户编号=c.客户编号;SELECT实例SELECT姓名,性别,连锁机构名称FROM员工,公司机构WHERE员工.机构编号=公司机构.机构编号And员工编号IN(SELECT员工编号FROM员工工资WHERE基本工资2000);

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

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

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

×
保存成功