第1章内容回顾•数据库的基本概念•数据、表、数据库、数据库管理系统、DBA•SQLServer2005的主要版本•企业版•软硬件要求•安装过程•预安装•正式安装•SQLServer的管理工具•SQLServer数据存储结构Page1/31管理数据库第2章本章目标•掌握创建和修改数据库的方法•掌握创建和修改表的方法•掌握插入、修改、删除和查询数据的方法Page3/31本章结构Page4/31管理数据库分离和附加数据库收缩数据库扩展数据库创建数据库修改数据库删除数据库操作数据更改数据查询数据新建表表的维护新建用户数据库新建数据库•新建用户数据库•所有者•一个数据文件•一个日志文件•初始大小•自动增长•默认路径Page5/31主文件事务日志文件初始大小自动增长数据库名称所有者修改数据库•扩展数据库•收缩数据库•分离附加数据库•删除数据库Page6/31SQLServer扩展数据库•当数据库中的数据文件或日志文件的空间被占满•自动扩展•设置文件自动增长•指定允许文件增长到的最大大小•手动扩展•数据库的大小•添加数据库文件Page7/31添加数据文件自动增长最大文件大小启动自动增长辅助文件收缩数据库•收缩数据库可以把不使用的空间释放出来•自动数据库收缩•将自动收缩选项设置为TRUE•手动数据库收缩•收缩数据库•收缩某个数据库文件Page8/31当前分配的空间选择收缩的文件选择文件类型收缩的选项可用空间手动收缩数据库演示演示分离和附加数据库•用于移动数据库•分离数据库•将数据库从SQLServer实例中移除•除了系统数据库之外•保持数据文件和事务日志文件的完整性和一致性•附加数据库•分离后的数据库的数据和事务日志文件•同一个SQLServer实例•不同的SQLServer实例Page9/31要分离的数据库添加文件要附加的数据库分离和附加数据库演示演示删除文件和数据库•删除文件•文件必须完全为空,才能够删除•删除数据库•文件及其数据都从服务器上的磁盘中删除•一旦删除数据库,即被永久删除•不能删除系统数据库Page10/31要删除的数据库删除阶段总结新建数据库更改数据库扩展数据库收缩数据库分离和附加数据库删除数据库Page11/31阶段练习背景Benet公司已建立一个TestDB数据库用于应用开发,TestDB包含一个数据文件和一个日志文件。现在要:•设置TestDB数据文件初始大小为5M,自动增长,最大大小为50M•设置TestDB日志文件初始大小为5M,自动增长,限制文件增长为20M•设置TestDB为自动收缩目标扩展数据库收缩数据库Page12/31新建表•表和列的名称必须遵守标识符的规定•列名在表中必须是唯一的•必须为每列指定数据类型Page13/31列名选择数据类型是否允许为空常用数据类型•精确数字•如:int-2^31到2^31-1•日期和时间•如:datetime1753年1月1日到9999年12月31日•字符串•如:Varchar最大存储大小是2^31-1个字节•Unicode字符串•如:nvarchar最大存储大小为2^31-1字节Page14/31向表添加数据•使用查询设计器Page15/31插入新行查询设计器Transact-SQL语句•可以实现数据的查询和数据的更改等操作•SELECT•INSERT•UPDATE•DELETEPage16/31使用查询编辑器Page17/31查询窗口执行按钮查询结果演示演示打开查询编辑器查询语句•命令格式Page18/31SELECTselect_listFROMtable_list[WHEREsearch_conditions][ORDERBYorder_list[ASC|DESC]]查询示例3-1•例1:查询所有员工信息•SELECT*FROMEmployees•*表示对所有列的引用•例2:如果只是想要得到某几列的值•SELECTName,TitleFROMEmployees•明确地列出指定的列内容Page19/31查询示例3-2•例3:查询所有工资大于4000的员工•SELECT*FROMEmployeesWHERESalary4000•Where子句-按指定的条件返回数据行•操作符:=、、、和、BETWEENAND、NOT、LIKE等Page20/31例4:查询工资在3000到4000的员工SELECT*FROMEmployeesWHERESalaryBetween3000and4000•BETWEENAND:指定值的范围例5:查找雇员表中姓张的员工SELECT*FROMEmployeesWHERENameLIKE'张%';•LIKE:字符串进行模式匹配查询示例3-3•例6:返回按工资降序排序的结果•SELECT*FROMEmployeesORDERBYSalaryDESC•ORDERBY:对行进行排序•关键字DESC/ASC:指降序/升序排列Page21/31插入数据•例7:在雇员信息表中加入一个新员工•INSERTINTOEmployeesVALUES(10,‘王燕','销售员','1986-11-30',4500)•向表中插入一行值•例8:把Employees表内容导入到EmployeesNew新表中•SELECT*INTOEmployeesNewFROMEmployees•从另一个表插入行Page22/31演示演示插入数据更新数据•例9:将所有销售员的工资提高10%•UPDATEEmployeesSETSalary=Salary*1.1WHERETitle=‘销售员’;Page23/31要更新的列和新值的列表搜索条件演示演示更新数据删除数据•例10:当销售员李芳离职后,将其从表中删除•DELETEFROMEmployeesWHEREname=‘李芳’•删除符合条件的行•例11:从EmployeesNew表中删除所有信息•DELETEFROMEmployeesNew•删除所有行Page24/31演示演示删除数据表的维护•修改表•使用表设计器•增加列•删除列•删除表Page25/31添加新列删除列确认要删除的表阶段总结新建表查询数据筛选列筛选行排序更改数据库插入数据更新数据删除数据Page26/31阶段练习背景Benet公司在应用开发数据库TestDB上建立了一个销售部门人员信息表,现在要:•由于销售经理调职,删除其记录•将销售员提升为销售经理,更改其职位信息•查询年龄在30-40岁的员工信息•更改销售人员信息目标删除记录更改记录查询记录Page27/31本章总结Page28/31管理数据库分离和附加数据库收缩数据库扩展数据库创建数据库修改数据库删除数据库操作数据更改数据查询数据新建表表的维护新建用户数据库一个新建的数据库至少包含一个.mdf后缀的数据文件和一个.ldf后缀的日志文件。扩展数据库可以设置自动扩展,也可以手动扩展或添加文件扩展收缩数据库可以自动收缩,也可以手动收缩,手动收缩包括收缩数据库和收缩文件2种方法如果要移动数据库,可以使用分离和附加数据库。可以使用SELECT语句及其FROM、WHERE、ORDERBY子句查询数据可以使用UPDATE、INSERT、DELETE语句更改数据实验•任务1创建和修改数据库•任务2操作数据Page29/31任务1创建和修改数据库•背景•Benet公司已经安装好一台SQLServer服务器,现在需要建立1个数据库,具体要求如下:•新建数据库名为Benet•设置数据文件初始文件大小为10M,不自动增长•设置日志文件初始文件大小为10M,不自动增长•添加数据文件Data2,初始文件大小为25M,不自动增长•验证新建的数据库。•设置数据库为自动收缩•完成标准•根据要求新建一个用户数据库•根据要求配置用户数据库参数Page30/31任务2操作数据•背景•已建立好Benet数据库,现在需要•创建一个人员信息表叫Employee•使用表设计器添加员工信息记录•查询所有人员的信息,•查询所有在1993年1月到1994年6月入职的人员记录。•查询销售部男性员工的姓名•由于员工“金鹏”离职,删除其记录信息。•销售部新招聘一名男销售员叫林青,需插入其一条记录•新建一个表只包括“姓名”和“部门”列•销售员孙林调到市场部做市场专员,需要更改其记录信息•由于公司需要,给表中添加一列为分机号•完成标准•根据要求新建一个表•根据要求对表数据进行查询、更改Page31/31