数据库原理与应用基础

上传人:飞*** 文档编号:5453767 上传时间:2017-08-07 格式:PPT 页数:85 大小:2.52MB
返回 下载 相关 举报
数据库原理与应用基础_第1页
第1页 / 共85页
数据库原理与应用基础_第2页
第2页 / 共85页
数据库原理与应用基础_第3页
第3页 / 共85页
数据库原理与应用基础_第4页
第4页 / 共85页
数据库原理与应用基础_第5页
第5页 / 共85页
点击查看更多>>
资源描述

《数据库原理与应用基础》由会员分享,可在线阅读,更多相关《数据库原理与应用基础(85页珍藏版)》请在金锄头文库上搜索。

1、,Beyond Technology,数据库原理与应用基础,第 2 章 SQL语言,目录,2.1 基本概念2.2 SQL的数据类型2.3 创建表 2.4 数据更改功能2.5 数据查询功能2.6 创建、删除索引2.7 创建、删除视图,2.1 基本概念,2.1.1 SQL语言的发展 2.1.2 SQL语言特点 2.1.3 SQL语言功能概述,2.1.1 SQL语言的发展,结构化查询语言SQL( Structured Query Language)一直是关系数据库管理系统(RDBMS)的标准语言。SQL语言的发展史 1974年,由Boyce和Chamber提出 1975-1979年,在System

2、R上实现,由IBM的San Jose研究室研制,称为Sequel,SQL的标准化,有关组织ANSI( American Nation Standard Institute)ISO( International Organization for Standardization)有关标准SQL-86“数据库语言SQL”SQL-89“具有完整性增强的数据库语言SQL”,增加了对完整性约束的支持SQL-92“数据库语言SQL”,是SQL-89的超集,增加了许多新特性,如新的数据类型,更丰富的数据操作,更强的完整性、安全性支持等。SQL-99又称SQL-3,正在讨论中的新的标准,将增加对面向对象模型的支

3、持,2.1.2 SQL语言特点,一体化集DDL,DML,DCL于一体单一的结构-关系,带来了数据操作符的统一面向集合的操作方式一次一集合高度非过程化用户只需提出“做什么”,无须告诉“怎么做”,不必了解存取路径语言简洁,易学易用两种使用方式,统一的语法结构SQL既是自含式语言(用户使用),又是嵌入式语言(程序员使用),2.1.3 SQL语言功能概述,SQL按其功能可分为四大部分:数据定义功能、数据控制功能、数据查询功能和数据操纵功能。,2.2 SQL的数据类型,2.2.1 数值型 2.2.2 字符串型 2.2.3 日期时间类型,数值型,intfloatnumeric(p,q)或decimal(p

4、,q),整型,表示一个整型数据。浮点型,表示一个小数。十进制数类型,表示一个可以指定精度的十进制数,其中p表示数字的位数(不包括正负号和小数点),q表示小数位数。,字符串类型,char(n)varchar(n)nchar(n)nvarchar(n),定长字符串,长度为n。变长字符串,最大长度为n。定长Unicode字符串,长度为n。变长Unicode字符串,最大长度为n 。,两字段分别有字段值:我和coffee那么varchar字段占22+6=10个字节的存储空间,而nvarchar字段占82=16个字节的存储空间。如字段值只是英文可选择varchar,而字段值存在较多的双字节(中文、韩文等)

5、字符时用nvarchar,字符集,日期时间类型 SQL Server的日期时间数据类型是将日期和时间合起来存储。,datetime日期时间类型,2.3 创建表,2.3.1 基本表的定义与删除2.3.2 修改表结构,2.3 创建表,1定义基本表Create Table的一般格式为 :CREATE TABLE ( , , ) 说明: :所要定义的基本表的名字。 :表中所包含的属性列的名字 :指明列的数据类型,2.3 创建表,例2-1创建一张表,表名称为Team,包含两列,第一列名称为No,类型为整型,第二列名称为Name,类型为10位长的字符串。解答:CREATE TABLE Team(NoINT

6、,NameCHAR(10),2.3 创建表,例2-2创建一张表,表名称为Test1,包含三列,第一列名称为Column1,类型为整型,第二列名称为Column2,类型为浮点数,第三列名称为Column3,精度为3位整数,2位小数。解答:CREATE TABLE Test1(Column1INT,Column2FLOAT,Column3DECIMAL(5,2),2.3 创建表,例2-3有用如下的SQL语句创建的表CREATE TABLE MyText(cCharCHAR(3),cVarcharVARCHAR(3),cNCharNCHAR(3),cNVarcharNVARCHAR(3)下面的几个字

7、符串分别能够插入到哪几列中?abc、张冬青、a、abcdef,1.2.3.4,3.4,1.2.3.4,全不能,2.3 创建表,例2-4创建一张表,表名称为Test2,包含一列,名称为Column1,类型为日期时间类型。解答:CREATE TABLE Test2(Column1DATETIME)创建了日期时间类型的字段之后,可以在里面保存日期、时间数据,例如 2005-2-14、15:30:28、2005-3-5 14:32:28.007 等,创建Book表,创建Reader表,创建Borrow表,2.3 创建表,2.删除表 删除表的语句格式为: DROP TABLE , 例:删除test表的语

8、句为: DROP TABLE test,修改表结构,ALTER TABLE ALTER COLUMN - 修改列 ADD - 添加列 DROP COLUMN - 删除列,2.3 创建表,修改表结构 例1.向Book表添加新列XKLB,类型char(3)。 ALTER TABLE Book ADD COLUMN XKLB char(3)例2将新添加的XKLB的类型改为char(6)。 ALTER TABLE Book ALTER COLUMN XKLB char(6)例3删除Reader表的Id列 ALTER TABLE Reader DROP COLUMN Id,2.4数据更改功能,2.4.1

9、 插入数据 2.4.2 更新数据 2.4.3 删除数据,数据更改功能,插入数据 插入数据的INSERT语句的格式为: INSERT INTO 表名 (列名表) VALUES (值列表) 其中:中的列名必须是表定义中有的列名,值列表中的值可以是常量也可以是NULL值,各值之间用逗号分隔。,数据更改功能,插入数据 例1试把下面的数据插入到Reader表中:(021B310001,张冬青,男,1976-11-26)解答:INSERT INTO Reader(ID, Name, Sex, BirthDate)VALUES(021B310001,张冬青,男,1976-11-26),练习,例2在Book表

10、中插入一新记录,读者编号:021B310001读者姓名:李宇春读者性别:女生日:1980-9-18,数据更改功能,思考: 下面语句能否执行成功?INSERT INTO Reader(ID, Name, Sex, BirthDate)VALUES(021B310001, 1976-11-26,张冬青,男 ),如果数据恰好与表的列数以及各列的顺序保持一致, “列名列表”可以省略,变成如下的形式:INSERT INTO ReaderVALUES(021B310001,张冬青,男,1976-11-26),例2在Reader表中插入一新记录,性别、生日暂缺。 INSERT INTO Reader(ID,

11、 Name) VALUES(9521105, c01)或者 INSERT INTO Reader VALUES(9521105, c01,NULL,NULL),Reader,数据更改功能,更新数据 UPDATE语句的语法格式为: UPDATE SET , nWHERE ,数据更改功能,更新数据 1无条件更新 例1将所有学生的年龄加1。UPDATE Student SET Sage = Sage + 1,2.有条件更新,例2.将于海颖的生日改为1980-1-1。UPDATE Reader SET BirthDate=1980-1-1WHERE Name=于海颖,练习,更新数据 (1)将所有图书价

12、格增加20元。(2)将施秋乐性别改为男。(3)将王金娟性别改为女,生日改为1981-9-10。(4)将宋玮生日改为1980-1-1。,数据更改功能,删除数据DELETE语句的语法格式为: DELETE FROM WHERE ,数据更改功能,删除数据无条件删除 例1删除所有的图书。delete from Book - Book成空表 有条件删除 例2删除所有同济大学出版的图书。 delete from Book where Publish=同济大学出版社,2.5 数据查询功能,2.5.1 查询语句的基本结构 2.5.2 简单查询 2.5.3 聚集函数2.5.4 分组查询2.5.5 子查询 2.5

13、.6 多表连接查询 2.5.7 空值的处理,数据查询功能,查询语句是数据库使用中最基本和最重要的语句之一,其功能是从数据库中检索满足条件的数据。SELECT语句还可以对查询的结果进行排序、汇总等。 查询语句的基本结构可描述为:SELECT - 需要哪些列 FROM - 来自于哪些表 WHERE - 根据什么条件 GROUP BY HAVING ORDER BY ,数据查询功能,简单查询 选择表中若干列 1. 查询全部的列 例1. 查询读者表。SELECT * FROM Reader2. 查询指定的列。例2. 查询读者姓名、性别。SELECT Name, Sex FROM Reader,练习,(

14、1)查询全部图书的记录(2)查询读者的姓名和生日,数据查询功能,3.查询经过计算的列 SELECT子句中的可以是表中存在的属性列,也可以是表达式、常量或者函数 例3查询读者的姓名及出生的年份。 SELECT Name,Year(BirthDate) FROM Reader,4.重新命名列例4. 把Reader表的所有记录显示出来,并且列名用汉字表示。解答:SELECT Id AS 编号, Name AS 姓名, Sex AS 性别, BirthDate AS 出生日期FROM Reader,数据查询功能,5. 常量原样输出 SELECT Name,Year of Birth, Year(BirthDate) FROM Reader,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 企业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号