数据库入门教程初级编

上传人:y****n 文档编号:252664546 上传时间:2024-11-19 格式:PPT 页数:25 大小:282.14KB
返回 下载 相关 举报
数据库入门教程初级编_第1页
第1页 / 共25页
数据库入门教程初级编_第2页
第2页 / 共25页
数据库入门教程初级编_第3页
第3页 / 共25页
点击查看更多>>
资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,SQL入门教程,内容,数据库的相关概念,实用SQL语言,关系模型,由实体和联系构成,即通常所说的E-R图。实体通常以表的形式表现,表的每一行描述实体的一个实例,表的每一列描述实体的一个特征或属性。联系指实体间的对应关系,联系分为三种:,一对一的联系,一对多的联系,多对一的联系,关系模型,一对一的联系。如:一个人只有一种性别,一个人性别为一对一的联系;,一对多的联系。如:相同性别的人有许多个,性别人为一对多的联系;,多对一的联系。如:很多人有同一个性别,人性别为多对一的联系。通过联系就可以用一个实体的信息来查找另一个实体的信息。,关系数据库,基于关系模型的数据库。关系数据库中的数据结构是关系,关系是指由行与列构成的二维表。在关系模型中,实体和实体间的联系都是用关系表示的。关系不但可以表示实体间一对多的联系,通过建立关系间的关联,也可以表示多对多的联系。,主关键字(Primary Key),主关键字是被挑选出来,作表的行的惟一标识的侯选关键字。一个表通常只有一个主关键字。主关键字又可以称为主键。,外关键字(Foreign Key),外关键字表示了两个关系之间的联系。以另一个关系的外关键字作主关键字的表被称为主表,具有此外关键字的表被称为主表的从表。外关键字又称作外键。外键的选择体现了表(实体)之间的联系。,表(Table),数据库中主要的对象。,指关系数据库系统的二维表,也即关系。,一般来说,关系数据库表的结构包含三个基本组成元素:字段名、数据类型和长度。,表(Table),CREATE 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),索引(Index):是根据指定的数据库表列建立起来的顺序,它提供了快速访问数据的途径。,视图(View):视图看上去同表似乎一模一样,具有一组命名的、不重复的字段和数据项,但它其实是一个虚拟的表,在数据库中并不实际存在。它是数据库预编译好的一段查询语句。,存储过程(Procedure),存储过程是为完成特定的功能而汇集在一起的一组SQL 程序语句,经编译后存储在数据库中的SQL 程序。,CREATE PROCEDURE P_GET_EMPLOYEE_INFO_BY_ID,(,employee_id INT,),AS,BEGIN,SELECT*FROM Employee WHERE Employee_Id=employee_id,END,GO,函数(Function),与存储过程相比,函数必须具有返回值,并且使用的SQL语句也有诸多限制,-创建函数(返回varchar类型的值),create function test(Num varchar(20)-Num 参数,returns varchar(50)-返回值类型,as,begin,declare MSG varchar(20),if(Num=1),select MSG=正确,else,select MSG=错误,return MSG,end,-调用函数,select dbo.test(2)-传递参数2,返回结果:错误,聚合函数,COUNT,SELECT COUNT(*)FROM Employee WHERE Job_Id=0001,SUM,AVG,MAX,MIN,简单的SELECT,简单的SELECT 语句的语法如下:,SELECT DISTINCT,.,FROM,.,WHERE,GROUP BY HAVING,ORDER BY ASC|DESC,Select*from employee where fname=Paolo,使用函数,Select convert(char(10),getdate(),121);,Select upper(lname)from employee where fname=Paolo;,Select dateDiff(DAY,2008-12-12,2008-12-25),判断分支,select case when fname=Anabela then 1,when fname=Ann then 2,else name,end,from employee,order by fname,select嵌套,Select*from employee where job_id in(select job_id from jobs where min_lvl between 0 and 10),表合并(union),select 1 x,union all,select 1,看看这个结果:,select 1 x,union all,select 1,union,select 1,别名定义,Select upper(lname)Uname from employee 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_id,Oracle的写法是不同的:,以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_id,通用的写法:,select*from employee a inner join jobs b on a.job_id=b.job_id,select*from employee a left join jobs b on a.job_id=b.job_id,select*from employee a right join jobs b on a.job_id=b.job_id,In条件转换成exists,Select*from employee a,where a.job_id in(select job_id from jobs b where b.min_lvl between 20 and 100),Select*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语句,UPDATE Student SET Student_Name=保罗 WHERE Student_Id=0001,表联合更新,Update B set B.字段=A.字段 from A,B where B.条件字段=A.条件字段,insert语句,insert into jobs(job_desc,min_lvl,max_lvl)values(lh,99,99);,不推荐下面的写法:insert into jobs values(lh,99,99);,在sql server中,IDENTITY类型的数据字段不能应用于insert,delete语句,删除单行:DELETE FROM Student WHERE Student_Id=0001,删除多行:DELETE FROM employee a,where a.job_id in(select job_id from jobs b where b.min_lvl between 20 and 100),
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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