SQL2005培训精编课程.docx

上传人:牧羊曲112 文档编号:1877418 上传时间:2022-12-23 格式:DOCX 页数:33 大小:509.69KB
返回 下载 相关 举报
SQL2005培训精编课程.docx_第1页
第1页 / 共33页
SQL2005培训精编课程.docx_第2页
第2页 / 共33页
SQL2005培训精编课程.docx_第3页
第3页 / 共33页
SQL2005培训精编课程.docx_第4页
第4页 / 共33页
SQL2005培训精编课程.docx_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《SQL2005培训精编课程.docx》由会员分享,可在线阅读,更多相关《SQL2005培训精编课程.docx(33页珍藏版)》请在三一办公上搜索。

1、1、MICROSO SQL SERVER 简介、是微软推出的一款数据库产品41.1.表(Table),区分不同的实体41.2.列(Column),常称字段(Field)41.3.数据类型(DataType)41.4.记录(Record)记录有可以被称为行(Row)51.5.主键(PrimaryKey)ID51.6.索引52、数据库的语言SQL(全称是STRUCTURED QUERY LANGUAGE)72.1.查询数据 关键字select .from . 72.2.带条件查询数据。关键字where82.3.带条件查询数据。关键字like模糊查询92.4.带条件查询数据。关键字in模糊查询92.

2、5.插入数据表记录112.6.修改数据122.7.删除数据123、数据表建表的规则SQL三范式163.1.第一范式(1NF)无重复的列163.2.第二范式(2NF)属性完全依赖于主键消除部分子函数依赖163.3.第三范式(3NF)属性不依赖于其它非主属性消除传递依赖174、SQL联合查询数据、多表查询数据184.1.left . join . on184.2.join on184.3.group by 分组184.4.having 条件,order by排序. DESC和ASC185、SQL函数运用205.1.count(1)计数函数205.2.sum() 求和函数,205.3.substri

3、ng(字段,)205.4.max(字段) min(字段)205.5.REPLACE() 替换字符206、高级编程216.1.存储过程创建,删除216.2.存储过程修改、测试226.3.多参数存储过程操作226.4.触发器,添加删除,修改,测试226.5.触发器虚标deleted inserted 表的作用246.6.时间类型256.7.取消重复关键字277、数据的导入与导出EXCEL,TXT,附件数据库307.1.导入Excel数据到数据库中307.2.导入txt数据到数据库中307.3.附件数据库307.4.分离数据库317.5.数据库自动备份方案317.6.数据库练习318、附件学习参考资

4、料328.1.sybase数据库建模328.2.数据表高级查询参考338.3.子表结合查询368.4.数据库日志查看368.5.数据库作业379、项目验收389.1.Shaliwy数据库的建立和表的建立38授课人:张木和1、 Microso SQL Server 简介、是微软推出的一款数据库产品 1.1. 表(Table),区分不同的实体如学生信息表,学校信息表。表包含以下的列、字段,行,数据类型。姓名年龄日生成绩班级张三21 010-9-785.5李四23王五26表名:男袜 字段类型长度备注IDInt 4自增编号NameNvarchar(50)50名称名称,尺寸,价格,会员价格,市场价格,入

5、库,数量抽象出实体中有用的信息,描述字段。 1.2. 列(Column),常称字段(Field)如下图的“员工姓名”,“部门”、“入职时间”。1.3. 数据类型(DataType) 下面我们为员工表规定了“姓名”、“部门”和“入职时间”三个列。 这样我们往列里面填写数据就可以啦。但是我们改填写什么数据。如填写数据的下面格式,入职时间一定要是Datetime(时间)类型、员工姓名一定要是字符(汉字等数字组成)类型。DataType(数据类型)说明Int 数据类型,用于整数,如:1,2,3,4,4555Nvarchar(50)汉字类型,需要加长度。超过长度将会被截断。Varchar(50) 汉字类

6、型,需要加长度。超过长度将会被截断。Char(50)汉字类型,需要加长度。超过长度将会被截断。Float浮点类型,如:1.2,13.4,0.56 小数点Datetime 时间类型,如:2010-11-27,2010/11/27Text 文本类型,如日志,保存2m 文本数据Bit只保存是否,0,1 True False1.4. 记录(Record)记录有可以被称为行(Row)一个表里可以记录40亿条数据信息。也就是说改员工信息表可以记录40亿个用户信息(容量)。1.5. 主键(PrimaryKey)ID定义:唯一性,代码:ID,值:自动增长。员工表中的每一行记录代表了一个员工, 一般员工的名字就

7、能唯一标识这一个员工,但是名字也是有可能重复的,这时我们就要为每一名员工分配一个唯一的工号。ProductInfoIDNameProNumColorRule1厚竹纤维中统男袜4154-0064154-006蓝色10寸2厚竹纤维中统男袜4154-0064154-006蓝色10寸3厚竹纤维中统男袜4154-0064154-006蓝色10寸产品表ProductInfo 在保存数据的时候id是不要赋值的。1.6. 索引可以提高数据查询的速度, 但是任何事物都是双刃剑,它也有一些缺点索引占据一定磁盘空间,就像有按笔画查找的目录的书会比没有这种目录的书页数要多一些。索引减慢了数据插入和删除的速度. 因为每

8、次插入和删除的时候都需要更新索引, , 表拥有的索引越多,则写操作的平均性能下降就越大。实例:以某公司员工信息为列子,表明(staffInfo),命名尽量用英语的。规范的要求。工号员工姓名员工部门入职时间1马小虎市场部2010-9-72王二小客服部2010-8-73白展堂开发部2010-8-74李达最后勤部2010-8-3数据库建立表【staffInfo】IDstaffNamedepartmentRegTime1马小虎市场部2010-9-72王二小客服部2010-8-73白展堂开发部2010-8-74李达最后勤部2010-8-3【学习作业】自己以文本的形式描述一个详细的个人信息表。UserIn

9、fo表,想下需要哪些字段,越详细越好。参照以上列子列好之后发送到。提出疑问和难点,共同进步。 softmaster谢谢合作! 2、 数据库的语言SQL(全称是Structured Query Language)SQL具有下面4个主要的功能:创建数据库并定义表的结构;查询需要的数据;更新或者删除指定的数据;控制数据库的安全。使用SQL我们可以完成和DBMS的几乎所有交互任务。2.1. 查询数据 关键字select .from . 比如我们要查员工信息。 语句: select * from staffInfo 表示查出全部用户数据。格式:”select +字段名+from +表名” 。”*”表示全

10、部的字段列。 Select 员工姓名 from staffInfo 查出员工姓名列。 Select 员工姓名,员工部门 from staffInfo 查出员工姓名列。多列用逗号隔开。 详细代码SQL2_1_v2010.sql2.2. 带条件查询数据。关键字where 比如我们要查某一具体员工信息。 语句: select * from staffInfo where 员工姓名= 王二小 表示查出具体用户所有数据。格式:”select +字段名+from +表名” 。”*”表示全部的字段列。2.3. 带条件查询数据。关键字like模糊查询 比如我们要查姓王的员工信息。 语句: select * f

11、rom staffInfo where 员工姓名 like % 王% 表示查出所有的姓王的员工。2.4. 带条件查询数据。关键字in模糊查询 比如我们要查姓王的员工信息。 语句: select * from staffInfo where 员工姓名 in (王二小 , 马小虎) 表示查出王二小和马小虎的员工信息。【学习作业】A. 查询姓李的员工信息 ? B.查询9月入职的员工? C.查出后勤部门和客服部门的员工信息。 参照以上列子列好之后发送到。提出疑问和难点,共同进步。 softmaster谢谢合作! 2.5. 插入数据表记录比如:新增一个用户记录,对应字段值。INSERT INTO dbo

12、.StaffInfo (StaffName,Department,RegTime) VALUES (毛艾, N后勤部门,2010-9-4 16:40:19.625 )1. (VALUES)值个数对应字段的个数2. 数据类对应字段的类型【操作实例】- -把查询结果插入到数据表中INSERT INTO StaffInfo(StaffName,DepartmentID,RegTime,Age)SELECT XXX+StaffName,DepartmentID,GETDATE(),Age FROM StaffInfo 2.6. 修改数据-修改员工信息表UPDATE StaffInfo SET Staf

13、fName=王楠 WHERE ID=52.7. 删除数据-删除员工王楠的用户信息DELETE StaffInfo WHERE StaffName=王楠执行之后【学习作业】1. 新增10个员工信息员工姓名部门入职时间李纨客服部2010-9-3张好客服部2010-9-3张二客服部2010-9-3李四客服部2010-9-3李六人力资源部2010-9-3李六人力资源部2010-9-3李四人力资源部2010-9-3张纨后勤部2010-9-3张二后勤部2010-9-32. 修改员工张好于李纨的入职时间为2010-9-43. 删除员工张好于李纨的用户信息 参照以上列子列好之后发送到。提出疑问和难点,共同进步

14、。 softmaster谢谢合作! 项目参考: 3、 数据表建表的规则SQL三范式3.1. 第一范式(1NF)无重复的列错误设计:编号姓名姓名21张飞张飞2关羽关羽正确设计编号姓名年龄1张飞322关羽273.2. 第二范式(2NF)属性完全依赖于主键消除部分子函数依赖 错误设计:编号姓名年龄1张飞322关羽272李达31正确设计编号姓名年龄1张飞322关羽273李达31文字解释第二范式(2NF)要求数据库表中的每个实例或行必须可以被惟一地区分。为实现区分通常需要为表加上一个列,以存储各个实例的惟一标识。例如员工信息表中加上了员工编号(emp_id)列,因为每个员工的员工编号是惟一的,因此每个员

15、工可以被惟一区分。这个惟一属性列被称为主关键字或主键、主码。 第二范式(2NF)要求实体的属性完全依赖于主关键字。所谓完全依赖是指不能存在仅依赖主关键字一部分的属性,如果存在,那么这个属性和主关键字的这一部分应该分离出来形成一个新的实体,新实体与原实体之间是一对多的关系。为实现区分通常需要为表加上一个列,以存储各个实例的惟一标识。简而言之,第二范式就是属性完全依赖于主键。3.3. 第三范式(3NF)属性不依赖于其它非主属性消除传递依赖 错误设计:编号姓名生日年龄1张飞1978-10-1322关羽1982-10-1282李达197931正确设计编号姓名年龄1张飞322关羽273李达31满足第三范

16、式(3NF)必须先满足第二范式(2NF)。简而言之,第三范式(3NF)要求一个数据库表中不包含已在其它表中已包含的非主关键字信息。例如,存在一个部门信息表,其中每个部门有部门编号(dept_id)、部门名称、部门简介等信息。那么在的员工信息表中列出部门编号后就不能再将部门名称、部门简介等与部门有关的信息再加入员工信息表中。如果不存在部门信息表,则根据第三范式(3NF)也应该构建它,否则就会有大量的数据冗余。简而言之,第三范式就是属性不依赖于其它非主属性。【学习作业】自己以文本的形式描述一个详细的个人信息表。UserInfo表,想下需要哪些字段,是否满足以上的条件。参照以上列子列好之后发送到。提

17、出疑问和难点,共同进步。 softmaster谢谢合作!4、 SQL联合查询数据、多表查询数据4.1. left . join . on4.2. join on 4.3. group by 分组 a 语文b 语文c 数学 语文, a b 数学 c4.4. having 条件,order by排序. DESC和ASC having作用和意义同where一致。但是Having只能与GROUP By 使用。【学习作业】 -问题1:向表 User_Info 添加2条数据,用户UserID为zmh_27和tom002 -问题2:分组查询用户字段,查看有多少个独立的用户? -问题3:查出用户表中重复出现2

18、次的用户账号,和次数? -问题4:查询dbo.Book_Order中的2个字段,OrderNumber,TotalMoney,查找出价格最高的用户,和价格? -问题5:查询dbo.Book_Order中的2个字段,OrderNumber,TotalMoney,查找出价格最低的用户,和价格?5、 SQL函数运用5.1. count(1)计数函数5.2. sum() 求和函数,-SUM ,COUNT(),多字段使用的时候要进行分组,GROUP BY SUM5.3. substring(字段,)5.4. max(字段) min(字段)5.5. REPLACE() 替换字符 6、 高级编程6.1. 存

19、储过程创建,删除a.优点:1.安全性好、2.性能好、检索数据速度快。b.怎么用存储过程?-创建存储过程的语法CREATE PROC Proc_Book_Order_ListASBEGIN -sql语句块 END -修改存储过程的语法ALTER PROC Proc_Book_Order_ListASBEGIN -sql语句块 END -删除存储过程DROP PROC Proc_Book_Order_List -运行存储过程EXEC Proc_Book_Order_List 作业:1. 创建存储过程,查询用户分组中大于1的用户查询出来?2. 创建存储过程,查出价格最好的价格和用户,订单号。表:Bo

20、ok_Order?3. 修改储过程、查询全部字段?4. 执行存储过程?5. 删除存储过程?6.2. 存储过程修改、测试6.3. 多参数存储过程操作6.4. 触发器,添加删除,修改,测试【关键字】:TRIGGER【FOR 关键字的类型有】 INSERT ,update,delete -1.触发器放在SQL里面直接运行,无需于代码结合使用-2.存储过程,一般都是与这个C#,C+,java等语言结合使用 6.5. 触发器虚标deleted inserted 表的作用6.6. 时间类型6.7. 取消重复关键字UIDCIDIsOpena1是a2是a3是a4否a5否a6否a7是a8是a9是a10否-字段中

21、带有字表列7、 数据的导入与导出Excel,txt,附件数据库7.1. 导入Excel数据到数据库中7.2. 导入txt数据到数据库中 7.3. 附件数据库7.4. 分离数据库7.5. 数据库自动备份方案7.6. 数据库练习8、 附件学习参考资料8.1. sybase数据库建模8.2. 数据表高级查询参考CREATE PROCEDURE dbo.sp_Shop_LuckyItemGet(userID int,bonusID int,Resultnvarchar(100) OUTPUT,ProductNum nvarchar(50) OUTPUT)ASdeclare randNum intdec

22、lare plevel intdeclare ProductName Nvarchar(50)declare pcount INTDECLARE limitday INTDECLARE limitcount INTDECLARE nowcount INTDECLARE bindcount intDECLARE lastTime DATETIME -最近获奖时间DECLARE Timespan INT -获奖时间间隔/小时Exec Gdcn_ShopRateGet randNum OUTPUTPRINT CAST(randNum AS varchar)select ProductNum=Prod

23、uctNum,bindcount=productcount,pcount=pcount,plevel=plevel,limitday=limitday,limitcount=limitcount from ShopCjItem where randNum = pmin and randNum 0 and pcount0 AND pcount=bindcountbeginPRINT CAST(ProductNum AS varchar)-判断物品限制SELECT nowcount=COUNT(*) FROM A_ShopCjLog WHERE plevel=plevel AND DATEDIFF

24、(DAY,createtime,GETDATE()=limitday-1PRINT CAST(nowcount AS varchar)IF(nowcount1) BEGIN select ProductNum=ProductNum,ProductName=ProductName,bindcount=ProductCount from ShopCjItem WITH(NOLOCK) where bonusID=bonusID AND plevel=plevel AND ProductNum=ProductNum AND pcount=bindcount-更新奖品颁发数量update ShopCj

25、Item set pcount = pcount - bindcount where bonusID=bonusID AND plevel=plevel-插入抽奖记录INSERT INTO dbo.A_ShopCjLog (userID,bonusID,plevel,ProductName,randNum,CreateTime) VALUES ( userID,bonusID,plevel,ProductName,randNum ,GETDATE() ) END ELSEBEGINset ProductNum=set ProductName=set plevel=nullEND ENDELSEBEGINset ProductNum=set ProductName=set plevel=nullENDendelseBEGINset ProductNum=set ProductName=set plevel=nullend 8.3. 子表结合查询8.4. 数据库日志查看8.5. 数据库作业9、 项目验收 9.1. Shaliwy数据库的建立和表的建立 网站数据的建立,至少建立加盟代理招贤纳士留言咨询联系我们这几个模块的功能。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号