SQL入门教程培训.pdf

上传人:海阔****涯 文档编号:95341260 上传时间:2023-08-20 格式:PDF 页数:25 大小:130.42KB
返回 下载 相关 举报
SQL入门教程培训.pdf_第1页
第1页 / 共25页
SQL入门教程培训.pdf_第2页
第2页 / 共25页
点击查看更多>>
资源描述

《SQL入门教程培训.pdf》由会员分享,可在线阅读,更多相关《SQL入门教程培训.pdf(25页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

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

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

3、说,关系数据库表的结构包含三个基本组成元素:字段名、数据类型和长度。表(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-创建函数(返回varchar类型的值)create

5、 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简单的SELECT 语句的语法如下:nSELECT DISTINCT,

6、.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 then 1when fname=Ann then 2else nameend

7、 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 employee a where fname=Paolo;表连接(多表查询)select*from

8、 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(+)以b表为主表:select*from employee a,jobs b where a.job_id(+)=b.j

9、ob_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 employee a where a.job_id in(select job_id from jobs b where b.min_lvl between

10、 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 set 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号© 2020-2023 www.taowenge.com 淘文阁