书签 分享 收藏 举报 版权申诉 / 104
上传文档赚钱

类型第3章关系数据库标准语言SQL-数据库基础课件.ppt

  • 上传人(卖家):晟晟文业
  • 文档编号:5177103
  • 上传时间:2023-02-16
  • 格式:PPT
  • 页数:104
  • 大小:7.33MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《第3章关系数据库标准语言SQL-数据库基础课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    关系 数据库 标准 语言 SQL 基础 课件
    资源描述:

    1、北京服装学院计算机信息中心北京服装学院计算机信息中心第第3 3章章 关系数据库标准语言关系数据库标准语言SQL 数据库基础数据库基础应用应用软件软件用户级别用户级别-操作最简单操作最简单-功能受约束功能受约束-需购买软件需购买软件企业企业管理器管理器管理员级别管理员级别-操作简单操作简单-功能较全功能较全-直接使用直接使用DBMSSQL语言语言高级管理员、程序员级别高级管理员、程序员级别-操作较复杂操作较复杂-使用最灵活,效率最高使用最灵活,效率最高-直接使用直接使用DBMS-可用于开发应用软件可用于开发应用软件第第3章章 关系数据库标准语言关系数据库标准语言SQL本章主要内容本章主要内容3.

    2、1 3.1 SQLSQL语言语言概述概述(了解)了解)3.2 3.2 数据定义数据定义(重点)(重点)3.2.1 3.2.1 操作数据库操作数据库3.2.2 3.2.2 操作表操作表3.2.3 3.2.3 索引的创建和删除索引的创建和删除3.3 3.3 数据查询数据查询(重点)(重点)3.3.1 3.3.1 单表查询单表查询3.3.2 3.3.2 连接查询连接查询3.3.3 3.3.3 嵌套嵌套查询查询3.3.4 3.3.4 联合查询联合查询3.4 3.4 数据更新数据更新(重点)(重点)3.4.1 3.4.1 插入数据插入数据3.4.2 3.4.2 修改数据修改数据3.4.3 3.4.3 删

    3、除删除数据数据3.5 3.5 视图的创建和删除视图的创建和删除(了解了解)第第3章章 关系数据库标准语言关系数据库标准语言SQL3.1.1 SQL语言的发展语言的发展 SQL语言是当前最为成功,应用最为广泛的关系数据库语言是当前最为成功,应用最为广泛的关系数据库语言,其发展主要经历了以下几个阶段:语言,其发展主要经历了以下几个阶段:SQUARE 阶段阶段SEQUEL阶段阶段SQL阶段阶段 现在现在SQL语言应用于语言应用于Oracle,Sybase,Access 和和 SQL Server等。等。3.1.2 T-SQL语言语言SQL(Structured Query Language,结构化,

    4、结构化查询查询语言)包括语言)包括数据定义数据定义、数据查询数据查询、数据更新数据更新、数据、数据控制等功能。控制等功能。Access 中使用的中使用的SQL语言称为语言称为 J-SQL。SQL Server中使用的中使用的SQL语言称为语言称为 T-SQL。Microsoft 针对其自身数据库产品设计开发了针对其自身数据库产品设计开发了遵循遵循SQL标准的结构化查询语言。标准的结构化查询语言。3.1.2 T-SQL语言语言 54321 具有极强的数据操作功能具有极强的数据操作功能 高度非过程化高度非过程化 操作面向集合操作面向集合 语法结构高度统一语法结构高度统一 语言简洁,易学易用语言简洁

    5、,易学易用Create Table 创建表创建表Alter Table 修改表修改表Drop Table 删除表删除表Select from查询表查询表Table表表3.1.2 T-SQL语言语言 在在SQL语言中,默认如下的符号约定:语言中,默认如下的符号约定:1)中的内容是中的内容是必须必须的,是用户自定义语义;的,是用户自定义语义;2)为为任选项任选项;3)与分隔符与分隔符|组合使用,即组合使用,即必选其中之一项必选其中之一项;4),n表示前面的项目表示前面的项目可以重复多次可以重复多次;5)SQL语言语言不区分大小写字母不区分大小写字母;6)SQL语句中的语句中的标点均采用西文输入法标

    6、点均采用西文输入法。3.1.2 T-SQL语言语言数据库数据库T-SQL使用数据定义语言使用数据定义语言(Data Defined Language,DDL)完成对数据库对象的创建、修改和删除。完成对数据库对象的创建、修改和删除。数据库对象包括数据库对象包括数据库数据库、表表、视图、视图、索引索引、触发器等。、触发器等。3.2 数据定义数据定义表表视图视图索引索引 Create语句:创建新的数据库对象语句:创建新的数据库对象 Alter语句:修改已有对象的结构语句:修改已有对象的结构 Drop语句:删除已有的数据库对象语句:删除已有的数据库对象 1.创建数据库创建数据库Create Datab

    7、ase on Primary ,n ,n Log on ,n 3.2.1 操作数据库操作数据库Create Database:创建数据库的关键字:创建数据库的关键字数据库名称:可以是英文或中文,用户自定义数据库名称:可以是英文或中文,用户自定义【例例3-1】创建创建“salesystem”数据库,参数取系统默认值数据库,参数取系统默认值Create Database salesystem必须有必须有空格空格3.2.1 操作数据库操作数据库必须有必须有空格空格3.2.1 操作数据库操作数据库Create Database salesystemOn Primary(Name=salesystem,

    8、Filename=C:Program FilesMicrosoft SQL ServerMSSQLData salesystem.Mdf,Size=10mb,Maxsize=30mb,Filegrowth=1mb)Log On(Name=salesystem _Log,Filename=C:Program FilesMicrosoft SQL ServerMSSQLData salesystem _Log.Ldf,Size=2mb,Maxsize=6mb,Filegrowth=10%)主数据主数据文件文件日志日志文件文件 补充补充内容内容 2.数据库的修改数据库的修改Alter Databas

    9、e add file ,n TO FILEGROUP 文件组名称文件组名称|add log file ,n|remove file with delete|modify file|modify name=新的数据库名称新的数据库名称|add filegroup 文件组名称文件组名称|remove filegroup 文件组名称文件组名称|modify filegroup 文件组名称文件组名称filegroup_property|name=新文件组名称新文件组名称3.2.1 操作数据库操作数据库【例例3-2】将将“学生管理学生管理”数据库数据库的初始容量修改为的初始容量修改为100MBAlter

    10、 Database 学生管理学生管理modify file(Name=学生管理学生管理,Size=100MB)3.2.1 操作数据库操作数据库初始容量默认为初始容量默认为1MB 3.数据库的删除数据库的删除Drop Database 3.2.1 操作数据库操作数据库l 该命令将删除数据库及其该命令将删除数据库及其包含的所有数据库对象,因包含的所有数据库对象,因此要慎用。此要慎用。l 该命令不能该命令不能删除删除系统数据系统数据库库和正在使用的数据库。和正在使用的数据库。【例例3-3】删除删除“salesystem”和和“学生管理学生管理”数据库。数据库。Drop Database salesy

    11、stem Drop Database 学生管理学生管理 或者或者 Drop Database salesystem,学生管理学生管理 3.2.1 操作数据库操作数据库必须是西文状必须是西文状态下的逗号态下的逗号 表中的内容表中的内容2 表的结构表的结构13.2.2 操作表操作表表是数据库最重要的对象之一表是数据库最重要的对象之一列名称列名称数据类型数据类型uidvarchar(20)upasswordvarchar(6)utypevarchar(20)unamevarchar(20)uaddrvarchar(50)utelvarchar(20)uemailvarchar(30)uaccount

    12、floatuid毛毛熊毛毛熊upassword1234utype顾客顾客uname闫弘闫弘uaddr北京市西城区鼓楼大街北京市西城区鼓楼大街26号号uaccount 9760 2.表结构的创建表结构的创建Create Table (完整性约束完整性约束 ,完整性约束完整性约束 ,n)3.2.2 操作表操作表表名,在同一个数据库中,表的名称不允许重复。表名,在同一个数据库中,表的名称不允许重复。列名,同一表中不许有重复的列名。列名,同一表中不许有重复的列名。,n 表示表中可设计表示表中可设计n个列,每列定义用逗号隔开。个列,每列定义用逗号隔开。3.2.2 操作表操作表【例例3-4】在在sales

    13、ystem数据库中建立一个数据库中建立一个users(用户用户信息信息)表,表结构如下表,表结构如下Create Table users(uid varchar(20),upassword varchar(6),utype varchar(20),uname varchar(20),uaddr varchar(50),utel varchar(20),uemail varchar(30),uaccount float);列名称列名称数据数据类型类型说明说明字段字段大小大小uid字符字符用户用户ID最大最大20upassword 字符字符用户用户密码密码最长最长6utype字符字符用户用户类型类

    14、型最长最长20uname字符字符收货人收货人姓名姓名最长最长20uaddr字符字符收货人收货人地址地址最长最长50utel字符字符收货人收货人电话电话最长最长20uemail字符字符收货人电子收货人电子邮箱邮箱最长最长30uaccount数字数字用户帐户用户帐户余额余额注意:注意:1)单个列定义语句的关键字之间用)单个列定义语句的关键字之间用空格空格分隔,不使用标点。分隔,不使用标点。2)定义表时每列之间用)定义表时每列之间用逗号逗号分隔,最后一条语句不用逗号。分隔,最后一条语句不用逗号。3)表名之后的所有列要用)表名之后的所有列要用圆括弧圆括弧括起来。括起来。4)SQL 语句以语句以分号分号

    15、结束或者结束或者无任何符号无任何符号。5)SQL语句语句不区分大小写,标点均使用西文输入法录入。不区分大小写,标点均使用西文输入法录入。3.2.2 操作表操作表Create Table users(uid varchar(20),upassword varchar(6),uaccount float )逗号逗号分隔分隔最后一列最后一列没有逗号没有逗号数据类型数据类型名称名称取值范围取值范围Char定长定长字符型字符型 08000个个字符字符Varchar变长变长字符型字符型 08000个个字符字符Int整型整型-231231-1Float浮点型浮点型-1.7910308 1.7910308 T

    16、ext文本型文本型0231-1 个个字符字符Datetime日期时间型日期时间型 1753/1/19999/12/31,时间精度是时间精度是1/300秒秒3.2.2 操作表操作表T-SQL中常用的数据类型(中常用的数据类型(P42详见表详见表3-4)3.2.2 操作表操作表l 定义定义完整性约束完整性约束,可以防止非法的数据更新操作,保,可以防止非法的数据更新操作,保护数据。例如:要求必须填写、要求输入的数据在某护数据。例如:要求必须填写、要求输入的数据在某个范围内等。个范围内等。l 完整性约束的基本语法格式为:完整性约束的基本语法格式为:Constraint 约束名约束名 列名列名数据类型数

    17、据类型 字段大小字段大小uid varchar(20)3.2.2 操作表操作表Primary Key 约束(主键约束)约束(主键约束)1Unique 约束(唯一键约束)约束(唯一键约束)2Foreign Key 约束(外键约束)约束(外键约束)3Null/Not Null 约束约束(空(空/非空约束)非空约束)4Check 约束约束(检查约束)(检查约束)5【例例3-4】在在salesystem数据库中建立一个数据库中建立一个users(用户用户信息信息)表,表,注意主键约束和非空约束的设置注意主键约束和非空约束的设置。Create Table users (uid varchar(20)pr

    18、imary key,upasswordvarchar(6)not null,uaccount float not null )3.2.2 操作表操作表Primary Key定义表的主键,起唯一标识作用,其定义表的主键,起唯一标识作用,其值不能为值不能为空,也不能出现重复空,也不能出现重复,以此来保证实体的完整性。一旦将某,以此来保证实体的完整性。一旦将某列设置为主键,系统会自动为其增加非空约束。列设置为主键,系统会自动为其增加非空约束。一个表中只一个表中只能定义一个能定义一个Primary Key约束约束。【例例3-5】在在salesystem数据库中建立一个数据库中建立一个product(商

    19、商品信息品信息)表。表。Create Table product (pid char(10)primary key,pname varchar(30)not null,profiletext ,picturevarchar(100)3.2.2 操作表操作表没有约束,没有约束,允许为空允许为空若为表中的一列同时设定两种约束,格式为:若为表中的一列同时设定两种约束,格式为:pnamevarchar(30)not null unique,使用空格使用空格分开分开Primary Key与与Unique区别:区别:在在一个表中只能定义一个表中只能定义一个一个Primary Key约束,但约束,但可定义可

    20、定义多个多个Unique约束;约束;对于对于指定为指定为Primary Key的列的列不能不能出现空值出现空值,而,而对于对于Unique所约束的唯一键所约束的唯一键,允许允许有一个数据项有一个数据项为空值为空值。不允许为一列既不允许为一列既定义定义 Unique 约束,又定义约束,又定义Primary Key约束。约束。3.2.2 操作表操作表【例例3-6】在在salesystem数据库中建立一个数据库中建立一个orders(订单订单)表,表,注意外键约束的设置注意外键约束的设置。Create Table orders (oidchar(10)primary key,uidvarchar(2

    21、0)references users(uid)not null,pidchar(10)references product(pid)not null,)3.2.2 操作表操作表外键外键约束约束10000000017樱桃000000000910000000027小鱼菁菁000000000710000000006毛毛熊00000000040000000001test0000000001PamountPidUidOid1李洋顾客test樱桃北京市朝阳区黄贺顾客test小鱼菁菁北京市西城区闫弘顾客test毛毛熊北京市昌平区王燕顾客testtest管理员adminadminUaddrUnameUtype

    22、UpasswordUid3.2.2 操作表操作表外键约束:外键约束:包含外键的表称为包含外键的表称为从表,从表,将外键作为将外键作为主键的表称为主键的表称为主表。主表。users表表(主表主表)orsers表表(从表从表)外键外键主键主键3.2.2 操作表操作表users表表的主键的主键product表的主键表的主键orders表的外键表的外键pid必须必须是是product表表中已有的中已有的pidorders表的外键表的外键uid必须必须是是users表表中已有的中已有的uid主表主表主表主表从表从表orders表表的外键的外键 3.表结构的修改表结构的修改Alter Table 表名表名

    23、 Add 完整性约束完整性约束|Drop Column ,n|Drop Constraint,n3.2.2 操作表操作表 指定需要修改的表;指定需要修改的表;Add 子句用于增加新列和新的完整性约束条件;子句用于增加新列和新的完整性约束条件;Drop 子句用于删除指定的列和完整性约束条件。子句用于删除指定的列和完整性约束条件。【例例3-7】向向users(用户信息用户信息)表中表中增加一个表示性别的增加一个表示性别的sex列列。Alter Table users Add sex char(2)Null3.2.2 操作表操作表 注意:使用此方注意:使用此方式增加的新列一式增加的新列一律为空值,所

    24、以律为空值,所以不能为增加的新不能为增加的新列指定列指定Not Null约束约束。【例例3-8】删除删除users(用户信息用户信息)表中存储用户电子邮箱表中存储用户电子邮箱的的uemail列列。Alter Table users Drop Column uemail3.2.2 操作表操作表请不要请不要漏掉漏掉3.2.2 操作表操作表4.表结构的删除表结构的删除 一旦删除了表,表的结构、数据、约束、索引都一旦删除了表,表的结构、数据、约束、索引都将被删除,将被删除,而而建立在该表上的视图不会随之删除,系建立在该表上的视图不会随之删除,系统将继续保留其定义,但已无法使用统将继续保留其定义,但已无

    25、法使用。删除删除表的命令格式为:表的命令格式为:Drop Table 3.2.2 操作表操作表【例例3-9】删除删除orders(订单订单)表。表。Drop Table orders 主表主表主表主表从表从表【提示提示】对于对于“网上购物网上购物系统系统”所使用的三张表,所使用的三张表,如果都想删除,存在删除如果都想删除,存在删除顺序的问题,应该顺序的问题,应该先删除先删除从表从表orders表,解除外键表,解除外键约束后,约束后,再删除两张主表再删除两张主表。3.2.3 索引的创建与删除索引的创建与删除索引索引(Index)索引是数据库随机检索的常用手段,类似书的目录。索引是数据库随机检索的

    26、常用手段,类似书的目录。索引的主要用途是提供一种无须扫描每一页而索引的主要用途是提供一种无须扫描每一页而快速快速访问数据库表访问数据库表中特定信息的手段。中特定信息的手段。在实际的数据库中,所有的在实际的数据库中,所有的查询在有索引和无索引查询在有索引和无索引的情况下都是可以工作的情况下都是可以工作的,索引仅仅与查询的速度有的,索引仅仅与查询的速度有关,故建立索引的作用就是加快查询速度关,故建立索引的作用就是加快查询速度。3.2.3 索引的创建与删除索引的创建与删除创建索引的格式为:创建索引的格式为:Create Unique Index on (次序次序,n)l 索引的顺序可以是索引的顺序可

    27、以是Asc(升序升序)或或Desc(降序降序),默认升序。,默认升序。l 当索引建立在多列上时,首先按第一列排序,第一列相同再当索引建立在多列上时,首先按第一列排序,第一列相同再考虑第二列,以此类推。考虑第二列,以此类推。l Unique表示每一个索引值对应唯一的数据记录。表示每一个索引值对应唯一的数据记录。3.2.3 索引的创建与删除索引的创建与删除【例例3-10】在在users(用户信息用户信息)表的表的uaccount(用户账户用户账户余额余额)上建立上建立降序降序索引,名为索引,名为users_uaccountindex。Create Index users_uaccountindex

    28、 On users(uaccount Desc)索引名索引名表名表名列名列名降序降序3.2.3 索引的创建与删除索引的创建与删除删除索引的格式为:删除索引的格式为:Drop Index on 【例例3-11】删除上一例题创建的索引删除上一例题创建的索引 users_uaccountindex Drop Index users_uaccountindex On users索引名索引名表名表名3.3 数据查询数据查询SQL语言提供了语言提供了Select语句进行数据库的查询,语句进行数据库的查询,其基本命令格式为:其基本命令格式为:Select All|Distinct,From,Where Gr

    29、oup By Having Order By Asc|Desc3.3 数据查询数据查询Select 选择选择From 从从Where 当满足当满足条件时条件时Group By 按按 分组分组Order By 按按 排序排序Distinct 互不相同的互不相同的Having 组当种满足组当种满足条件时条件时Asc/Desc 升序升序/降序降序关关键键字字3.3.1 单表查询单表查询 单表查询是指单表查询是指仅使用一个表的查询仅使用一个表的查询,一般只用到,一般只用到Select、From 和和 Where,单表查询也称,单表查询也称简单查询简单查询。1Select 子句子句【例例3-12】查询查

    30、询 users 表中所有列的数据表中所有列的数据 Select *From users查询结果查询结果:全表全表查询查询3.3.1 单表查询单表查询【例例3-13】查询查询 users 表中用户表中用户ID、用户类型、收货人、用户类型、收货人姓名和收货人地址。姓名和收货人地址。Select uid,utype,uname,uaddr From users查询结果查询结果:顺序决定查询顺序决定查询结果显示方式结果显示方式3.3.1 单表查询单表查询【例例3-14】返回返回orders表表前前5条记录条记录的订单的订单ID、用户、用户ID 和送货方式。和送货方式。Select Top 5 oid,

    31、uid,deliver From orders 查询结果查询结果:Top 53.3.1 单表查询单表查询【例例3-15】返回返回product表表前前10%的商品信息。的商品信息。Select Top 10 percent *From product 查询结果查询结果:3条记录条记录30条记录条记录3.3.1 单表查询单表查询【例例3-16】查询查询 product 表中具体包含表中具体包含哪些类别的商品哪些类别的商品。Select Distinct ptype From product 查询结果查询结果:4类商品类商品30条记录条记录3.3.1 单表查询单表查询【例例3-17】完成同完成同【

    32、例例3-16】一样查询,并将返回的列一样查询,并将返回的列命名为命名为“商品分类商品分类”。Select Distinct ptype As 商品分类商品分类 From product查询结果查询结果:查询结果查询结果:2From 子句子句 From子句指定子句指定Select语句查询及与查询相关的表语句查询及与查询相关的表或视图。在或视图。在From子句中最多可指定子句中最多可指定256个表或视个表或视图,它们之间用逗号分隔,图,它们之间用逗号分隔,在单表查询中在单表查询中From子子句后只有一个表名。句后只有一个表名。3Where子句子句 Where子句设置查询条件,过滤掉不需要的数据子句

    33、设置查询条件,过滤掉不需要的数据行,只有满足条件的行才能出现在查询结果中。行,只有满足条件的行才能出现在查询结果中。3.3.1 单表查询单表查询3.3.1 单表查询单表查询【例例3-18】查询查询users表中表中用户用户ID为为“樱桃樱桃”的顾客的顾客的的收货人姓名及收货人地址。收货人姓名及收货人地址。Select uid As 用户用户ID,uname As 收货人姓名收货人姓名,uaddr As 收货人地址收货人地址From usersWhere uid=樱桃樱桃查询结果查询结果:文本型数据文本型数据加单引号加单引号3.3.1 单表查询单表查询【例例3-19】查询查询users表中用户表

    34、中用户账户余额超过账户余额超过9000的顾的顾客信息。客信息。Select *From usersWhere uaccount9000 浮点型数据浮点型数据不加不加单引号单引号查询结果查询结果:查询结果查询结果:3.3.1 单表查询单表查询【例例3-20】查询查询orders表中表中在在2009-7-23后后产生的订单产生的订单信息。信息。Select *From ordersWhere otime2009-7-23日期时间数日期时间数据加据加单引号单引号表示在某表示在某时间之后时间之后3.3.1 单表查询单表查询查询条件查询条件运算符运算符含义含义比较大小比较大小、=、!200 and pt

    35、ype=数码产品数码产品查询结果查询结果:使用逻辑运算符的查询(使用逻辑运算符的查询(And,Or,Not)3.3.1 单表查询单表查询【例例3-22】查询查询product表中表中商品价格低于商品价格低于25的的日用百日用百货类或者图书类货类或者图书类商品,返回商品商品,返回商品ID、商品名称、商品、商品名称、商品分类及商品价格信息。分类及商品价格信息。Select pid,pname,ptype,priceFrom productWhere price25 and (ptype=日用百货日用百货 or ptype=图书图书)增加程序的增加程序的可读性可读性3.3.1 单表查询单表查询查询结

    36、果查询结果:【思考思考】如果去掉如果去掉Where子句中的小括号,查询结果子句中的小括号,查询结果是否会发生改变呢?是否会发生改变呢?Select pid,pname,ptype,price From productWhere price25 and (ptype=日用百货日用百货 or ptype=图书图书)10条记录条记录3.3.1 单表查询单表查询查询结果查询结果:Select pid,pname,ptype,price From productWhere price=0 and stock=203.3.1 单表查询单表查询 确定集合的查询(确定集合的查询(In)【例例3-24】查询查询

    37、product表中商品类型为表中商品类型为日用百货或图日用百货或图书类书类的商品,返回商品的商品,返回商品ID、商品名称、商品分类及商、商品名称、商品分类及商品价格。品价格。Select pid,pname,ptype,priceFrom productWhere ptype in(日用百货日用百货,图书图书)ptype=日用百货日用百货 or ptype=图书图书3.3.1 单表查询单表查询 模糊查询(模糊查询(Like)【例例3-25】查询查询product表中表中商品名称中含有商品名称中含有“设计设计”字样的字样的图书类图书类商品,返回商品商品,返回商品ID、商品名称、商品分、商品名称、

    38、商品分类及商品价格。类及商品价格。Select pid,pname,ptype,priceFrom productWhere ptype=图书图书 and pname like%设计设计%查询结果查询结果:3.3.1 单表查询单表查询模糊查询(模糊查询(Like)当不清楚要查找信息的精确值时,通常采用当不清楚要查找信息的精确值时,通常采用Like关键字关键字进行模糊查找。在进行模糊查找。在SQL Server中常用的通配符是中常用的通配符是%百分号,代表百分号,代表任意多个任意多个字符字符_ 下划线,代表下划线,代表单个单个字符字符【思考思考】以下条件有什么差别以下条件有什么差别Where p

    39、name like%设计设计%Where pname like 设计设计%Where pname like%设计设计3.3.1 单表查询单表查询【例例3-26】查询查询product表中商品名称是表中商品名称是以以“服装服装”字字样开头样开头的的图书类图书类商品,返回商品商品,返回商品ID、商品名称、商品、商品名称、商品分类及商品价格。分类及商品价格。Select pid,pname,ptype,priceFrom productWhere ptype=图书图书 and pname like 服装服装%查询结果查询结果:3.3.1 单表查询单表查询与空值相关的查询(与空值相关的查询(Null)

    40、l 数据库表中,如果某一列中数据库表中,如果某一列中没有输入数据没有输入数据,则它的值,则它的值就为空,空值用一个特殊的数据就为空,空值用一个特殊的数据Null来表示。来表示。l 如果要判断某一列是否为空,不能用如果要判断某一列是否为空,不能用“=Null”或者或者“Null”,只能用,只能用“is Null”或或“is not Null”来表来表达。达。3.3.1 单表查询单表查询【例例3-27】查询查询product表中表中哪些商品填写了商品简介哪些商品填写了商品简介信息,返回商品信息,返回商品ID、商品名称、商品分类及商品简介。、商品名称、商品分类及商品简介。Select pid,pna

    41、me,ptype,profileFrom productWhere profile is not Null查询结果查询结果:3.3.1 单表查询单表查询使用聚合函数的查询(使用聚合函数的查询(Count,Sum,Avg,Max,Min)聚合函数可以对一组数据执行某种计算并返回结果,聚合函数可以对一组数据执行某种计算并返回结果,常用的聚合函数包括:常用的聚合函数包括:l Count:返回一组值中项目的:返回一组值中项目的数量数量l Sum:返回一组值的:返回一组值的和和l Avg:返回一组值的:返回一组值的平均值平均值l Max:返回一组值中的:返回一组值中的最大值最大值l Min:返回一组值中

    42、的:返回一组值中的最小值最小值3.3.1 单表查询单表查询【例例3-28】查询查询product表中共有表中共有多少款多少款商品。商品。Select count(*)As 商品数量商品数量From product查询结果查询结果:统计统计结果结果3.3.1 单表查询单表查询【例例3-29】查询查询product表中表中图书类图书类商品的商品的平均价格平均价格是是多少。多少。Select Avg(price)As 图书类平均价格图书类平均价格From productWhere ptype=图书图书查询结果查询结果:3.3.1 单表查询单表查询4.Group By 子句子句l Group By子句

    43、可以子句可以将查询结果将查询结果按一列或多列的数据按一列或多列的数据值进行值进行分组分组。l 分组的目的是为了分组的目的是为了细化聚合函数的作用对象细化聚合函数的作用对象,起到,起到分类汇总分类汇总的作用。的作用。l 如果在分组后还对查询结果进行筛选,则需要使用如果在分组后还对查询结果进行筛选,则需要使用Having 子句。子句。3.3.1 单表查询单表查询【例例3-30】查询查询product表中表中服装服饰类、日用百货类、服装服饰类、日用百货类、数码产品类及图书类数码产品类及图书类各有几款商品各有几款商品。Select count(*)As 商品数量商品数量From productWher

    44、e ptype=服装服饰服装服饰查询结果查询结果:Select ptype As 商品类型商品类型,count(*)As 商品数量商品数量From productGroup by ptype4类商品类商品同时统计同时统计3.3.1 单表查询单表查询【例例3-31】查询查询product表中表中商品数量低于商品数量低于7种的商品种的商品类型类型。Select ptype As 商品类型商品类型,count(*)As 商品数量商品数量From productGroup by ptypeHaving count(*)3.3.3 嵌套查询嵌套查询先做先做子查询子查询(SelectAvg(price)F

    45、romproduct Where ptype=图书图书)子查询结果:子查询结果:3.3.4 联合查询联合查询l 使用使用Union子句的查询称为联合查询。子句的查询称为联合查询。l 连接查询是连接查询是匹配两个表中的列匹配两个表中的列,而联合查询是,而联合查询是组合组合两个表中的行两个表中的行。l 联合查询中,系统会联合查询中,系统会自动屏蔽重复的行自动屏蔽重复的行,同时还要,同时还要求参加求参加Union操作的操作的结果集具有相同的列数结果集具有相同的列数,对应列,对应列的数据类型也相互兼容的数据类型也相互兼容。【例例3-40】将将users表中的用户表中的用户ID、收货人姓名、用户、收货人

    46、姓名、用户账户余额账户余额和和product表中的商品表中的商品ID、商品名称、商品价、商品名称、商品价格格组成一组数据。组成一组数据。Select uid,uname,uaccount from usersUnionSelect pid,pname,price from product3.3.4 联合查询联合查询查询结果查询结果:结果集列数相同,结果集列数相同,数据类型兼容数据类型兼容users 表表product 表表联合查询输出的结果集遵循什么样的显示顺序。联合查询输出的结果集遵循什么样的显示顺序。下面的下面的T-SQL语句执行结果是什么?语句执行结果是什么?Select uname,u

    47、account from usersUnionSelect pname,price from product3.3.4 联合查询联合查询 3.4 更新数据更新数据插入插入Insert Into Values修改修改Update Set删除删除Delete From3.4.1 插入数据插入数据【例例3-41】向向product表中插入下面两条新的商品信息。表中插入下面两条新的商品信息。Insert into productValues(0000000031,佳能佳能IXUS95,数码产品数码产品,1500,30,0,本周本周销量冠军销量冠军,数码产品数码产品佳能佳能IXUS95.jpg)Inse

    48、rt into productValues(0000000032,数据库原理与应用数据库原理与应用,图书图书,21,20,0,Null,Null)内容为空内容为空不加单引号不加单引号3.4.1 插入数据插入数据批量插入数据批量插入数据【例例3-42】创建新表创建新表product_1,其列来,其列来product表的表的商品商品ID、商品名称、商品价格、商品名称、商品价格3列。列。Select pid,pname,price Intoproduct_1 Fromproduct IntoProduct_1 表表3.4.2 修改数据修改数据T-SQL语言提供了语言提供了Update语句,用于修改表

    49、中数据。语句,用于修改表中数据。Update Set=,=.Where 表名指要修改的表的名称。表名指要修改的表的名称。Set子句指出要修改的列及其修改后的值。子句指出要修改的列及其修改后的值。Where子句指定子句指定待修改的记录应当满足的条件待修改的记录应当满足的条件,Where子句省略时,则修改表中的所有记录。子句省略时,则修改表中的所有记录。3.4.2 修改数据修改数据1修改某一个元组的值修改某一个元组的值【例例3-43】修改修改product表中商品表中商品ID为为“0000000001”的商品价格为的商品价格为170,库存量为,库存量为10。Update product Set p

    50、rice=170,stock=10Wherepid=0000000001逗号逗号4.4.2 修改数据修改数据2修改多个元组的值修改多个元组的值【例例3-44】修改修改product表中图书类商品的价格改表中图书类商品的价格改为原来的为原来的90%。Update product Set price=price*0.9Where ptype=图书图书 赋值表达式赋值表达式操作前后操作前后3.4.2 修改数据修改数据3带子查询的修改语句带子查询的修改语句【例例3-45】修改修改product表中表中商品价格比同类商品商品价格比同类商品均价高的图书类商品均价高的图书类商品,价格改为原来的价格改为原来的

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:第3章关系数据库标准语言SQL-数据库基础课件.ppt
    链接地址:https://www.163wenku.com/p-5177103.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库