数据库入门教程初级编ppt课件.ppt

上传人:飞****2 文档编号:29426197 上传时间:2022-07-31 格式:PPT 页数:25 大小:110KB
返回 下载 相关 举报
数据库入门教程初级编ppt课件.ppt_第1页
第1页 / 共25页
数据库入门教程初级编ppt课件.ppt_第2页
第2页 / 共25页
点击查看更多>>
资源描述

《数据库入门教程初级编ppt课件.ppt》由会员分享,可在线阅读,更多相关《数据库入门教程初级编ppt课件.ppt(25页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、SQL入门教程 内容n数据库的相关概念 n实用SQL语言关系模型 由实体和联系构成,即通常所说的E-R图。实体通常以表的形式表现,表的每一行描述实体的一个实例,表的每一列描述实体的一个特征或属性。联系指实体间的对应关系,联系分为三种:n一对一的联系 n一对多的联系 n多对一的联系关系模型n一对一的联系。如:一个人只有一种性别,一个人性别为一对一的联系; n一对多的联系。如:相同性别的人有许多个,性别人为一对多的联系;n多对一的联系。如:很多人有同一个性别,人性别为多对一的联系。通过联系就可以用一个实体的信息来查找另一个实体的信息。 关系数据库 n基于关系模型的数据库。关系数据库中的数据结构是关

2、系,关系是指由行与列构成的二维表。在关系模型中,实体和实体间的联系都是用关系表示的。关系不但可以表示实体间一对多的联系,通过建立关系间的关联,也可以表示多对多的联系。主关键字(Primary Key) n主关键字是被挑选出来,作表的行的惟一标识的侯选关键字。一个表通常只有一个主关键字。主关键字又可以称为主键。 外关键字(Foreign Key) n外关键字表示了两个关系之间的联系。以另一个关系的外关键字作主关键字的表被称为主表,具有此外关键字的表被称为主表的从表。外关键字又称作外键。外键的选择体现了表(实体)之间的联系。 表(Table) n数据库中主要的对象 。n指关系数据库系统的二维表,也

3、即关系。n一般来说,关系数据库表的结构包含三个基本组成元素:字段名、数据类型和长度。表(Table)nCREATE TABLE Employee( Employee_Id varchar (20), Employee_Name varchar (50), Employee_Depart varchar (100), Job_Id varchar (20), Employee_Salary decimal (18,2)索引(Index)和视图(View) n索引(Index):是根据指定的数据库表列建立起来的顺序,它提供了快速访问数据的途径。n视图(View):视图看上去同表似乎一模一样,具有一

4、组命名的、不重复的字段和数据项,但它其实是一个虚拟的表,在数据库中并不实际存在。它是数据库预编译好的一段查询语句。存储过程(Procedure) n存储过程是为完成特定的功能而汇集在一起的一组SQL 程序语句,经编译后存储在数据库中的SQL 程序。CREATE PROCEDURE P_GET_EMPLOYEE_INFO_BY_ID(employee_id INT)ASBEGINSELECT * FROM Employee WHERE Employee_Id=employee_id ENDGO函数(Function) n与存储过程相比,函数必须具有返回值,并且使用的SQL语句也有诸多限制n-创建

5、函数(返回varchar类型的值) create function test(Num varchar(20)-Num 参数returns varchar(50) -返回值类型as begin declare MSG varchar(20)if(Num =1)select MSG =正确elseselect MSG =错误return MSG end -调用函数select dbo.test(2)-传递参数2返回结果:错误聚合函数nCOUNTSELECT COUNT(*) FROM Employee WHERE Job_Id = 0001nSUMnAVGnMAXnMIN简单的SELECTn简单的

6、SELECT 语句的语法如下:nSELECT DISTINCT ,.FROM , .WHERE GROUP BY HAVING ORDER BY ASC | DESC Select * from employee where fname=Paolo 使用函数 nSelect convert(char(10),getdate(),121);nSelect upper(lname) from employee where fname=Paolo;nSelect dateDiff(DAY,2008-12-12,2008-12-25)判断分支select case when fname=Anabela

7、 then 1when fname=Ann then 2else nameend from employeeorder by fnameselect嵌套 Select * from employee where job_id in (select job_id from jobs where min_lvl between 0 and 10)表合并(union)select 1 xunion allselect 1n看看这个结果:select 1 xunion allselect 1unionselect 1 别名定义n Select upper(lname) Uname from emplo

8、yee a where fname=Paolo;表连接(多表查询)select * from employee a,jobs b where a.job_id=b.job_id以a表为主表:select * from employee a,jobs b where a.job_id *= b.job_id以b表为主表:select * from employee a,jobs b where a.job_id =* b.job_idnOracle的写法是不同的:以a表为主表:select * from employee a,jobs b where a.job_id = b.job_id(+)

9、以b表为主表:select * from employee a,jobs b where a.job_id(+) = b.job_idn通用的写法:select * from employee a inner join jobs b on a.job_id = b.job_idselect * from employee a left join jobs b on a.job_id = b.job_idselect * from employee a right join jobs b on a.job_id = b.job_id In条件转换成exists nSelect * from em

10、ployee a where a.job_id in (select job_id from jobs b where b.min_lvl between 20 and 100)nSelect * from employee a where exists (select job_id from jobs b where a.job_id=b.job_id and b.min_lvl between 20 and 100) 简单的update语句 nUPDATE Student SET Student_Name=保罗 WHERE Student_Id=0001表联合更新 nUpdate B se

11、t B.字段=A.字段 from A,B where B.条件字段=A.条件字段 insert语句 ninsert into jobs(job_desc,min_lvl,max_lvl) values (lh,99,99);n不推荐下面的写法:insert into jobs values (lh,99,99);n在sql server中,IDENTITY类型的数据字段不能应用于insert delete语句 n删除单行:DELETE FROM Student WHERE Student_Id=0001 n删除多行: DELETE FROM employee a where a.job_id in (select job_id from jobs b where b.min_lvl between 20 and 100)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

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

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com