SQLserver 2005基础操作
SQLServer2005
第一章 数据库的基本操作
一、新建数据库
语法格式:
CREATE DATABASE 数据库名 [ON {[PRIMARY] (NAME=‘逻辑文件名’ (NAME=‘逻辑文件名’, FILENAME=‘物理磁盘文件名’ FILENAME=‘物理磁盘文件名’ [,SIZE=文件初始大小] [,SIZE=文件初始大小] [,MAXSIZE={文件最大长度 [,MAXSIZE={文件最大长度 |UNLIMITED}] [,FILEGROWTH=文件增长方式]) [,FILEGROWTH=文件增长方式])
第三章 表数据的基本操作
一、数据的添加、修改和删除 1、数据的添加(INSERT命令) 语法格式: INSERT INTO 表名(列名1,列名2,列名 3,……) VALUES(值1,值2,值3,……) /* 列名列表可省略 */ 或 INSERT INTO 表名 (SELECT 子句)
•例: (1)INSERT INTO xsda(sno,sname,sex,birth,grade) VALUES (‘S01’,‘张三’,‘男’,‘1980-1-13’,135.5) (2)INSERT INTO xsda VALUES(‘S02’,‘李四’,‘女’, ‘981-2-20’,124.5) (3)INSERT INTO xsda (SELECT * FROM xsda1 WHERE sex=‘男’)
注意:如果同时约束表中的多列最好用表级约束, 注意:如果同时约束表中的多列最好用表级约束,例如, 创建下表的主键同时为sno和cno 创建下表的主键同时为 例3:创建xscj表结构 CREATE TABLE xscj ( sno CHAR(3) FOREIGN KEY REFERENCES xsda(sno), cno CHAR(3) FOREIGN KEY REFERENCES kc(cno), grade DECIMAL(4,1) CHECK(grade between 0 and 100), score INT DEFAULT 0, PRIMARY KEY (sno,cno) )
SQL Server 2005数据库基本对象操作
二、视图的创建和维护
• (一)视图的用途 • 1.视图能够简化用户的操作,提高数据操作效率。 • 2.视图可以使用户以不同的方式看待同一数据 • 3.视图在一定程度上保证数据的逻辑独立性 • 4.视图可以对机密的数据提供安全保护
• 2.修改视图
• 修改视图的方法和创建视图类似,右击需要修改 的视图,在弹出的快捷菜单中选择“修改”命令, 打开视图设计器,即可以向创建视图一样进行修 改。
• 3.删除视图 • 同创建视图一样,删除视图也可以在SQL Server
Management Studio的“对象资源管理器”中右 击需要删除的视图
(二)视图的创建、删除和修改
• 1.创建视图
• (1)在SQL Server Management Studio中的“对 象资源管理器”中展开目标数 据库book节点。
• (2)右击book下的“视图” 节点,在弹出的快捷菜单中单 击“新建视图”命令,打开 “添加表”对话框。在列表框 中选择“客户表”,单击“添 加”按钮,然后关闭该对话框。
数据库技术与应用 (电子商务系列)
SQL Server 2005 数据库基本对象操
作
一、表的创建和维护
• (一)SQL Server 2005的数据类型 • 1.系统数据类型 • 2.自定义数据类型
(二)表结构的创建、修改和删除
• 1.创建表结构 (1)在SQL Server Management Studio的“对象
• (3)在“新建索引”窗口中,输入新建索引名称、 索引类型、添加索引字段以及字段的排列顺序, 单击“确定”按钮,完成新建索引的创建。
SQL Server 2005基本表操作
实验1 SQL Server 2005基本表操作一、实验目的1.掌握使用Management Studio创建和修改表结构。
2.掌握使用Management Studio进行索引操作。
3.掌握使用使用SQL语句创建和修改表结构。
4.掌握使用SQL语句进行索引操作。
5.掌握使用Management Studio添加、修改和删除数据。
二、实验要求1.分别使用Management Studio图形界面和SQL语句完成创建、修改和删除表结构等操作。
2.分别使用Management Studio图形界面和SQL语句完成索引的创建、修改和删除等操作。
3.使用Management Studio图形界面完成数据的添加、修改和删除操作。
4.请参考如下表结构完成以上操作。
现有学生管理数据库,数据库名为ST,包含学生信息、课程信息、教师信息、选课信息以及教学任务信息。
数据库ST包含下列5个表。
(1)StudentInfo: 学生信息表。
(2)CourseInfo: 课程信息表。
(3)TeacherInfo: 教师信息表。
(4)SC: 选课信息表。
(5)TeachTasksInfo: 教学任务信息表。
各表的结构和表中数据示例分别如表3-1至表3-10所示。
表3-1 StudentInfo表结构表名:StudentInfo 说明:学生基本信息表属性列数据类型长度空值列约束说明Sno char 12 Not Null PK 学生学号Sname nvarchar 20 Null 学生姓名Sex char 2 Null 学生性别Birthday date Null 出生日期Depart nvarchar 30 Null 学生系别Major nvarchar 50 Null 学生专业LengSch tinyint Null 学生学制表3-2 StudentInfo表中数据示例Sno Sname Sex Birthday Depart Major LengSch 201001903051 辛月娟女1990-4-27 经济管理系工商管理(本科) 4201001903057 谭文娟女1990-11-12 计算机系计算机科学与技术(本科) 4 201001903029 明梅女1991-3-15 计算机系计算机科学与技术(本科) 4 201011002031 徐雁男1989-07-02 计算机系信息管理与信息系统(1+3) 4 201011002032 秦赵璇女1989-08-21 计算机系信息管理与信息系统(1+3) 4 201011801017 王鹏飞男1991-1-5 服装系服装设计与工程(专科) 3 201011801018 哈菲菲女1991-9-9 服装系服装设计与工程(1+3) 4表3-3 CourseInfo表结构表名:CourseInfo 说明:课程信息表属性列数据类型长度空值列约束说明Cno char 6 Not Null PK 课程编号Cname nvarchar 50 Null 课程名称Cpno char 6 Null 先行课Credit Decimal 2 Null 学分表3-4 CourseInfo表中数据示例Cno Cname Cpno Credit 140173 数据库系统概论140176 3140174 C语言程序设计 2140175 操作系统140176 3140176 数据结构140174 3.5140178 计算机英语 2140179 软件工程140173 2140180 计算机组成原理 4表3-5 TeacherInfo表结构表名:TeacherInfo 说明:教师信息表属性列数据类型长度空值列约束说明TeacherI D char5 Not Null PK职工号Tname nvarchar 20 Null 姓名Sex char 2 Null 性别Depart nvarchar 30 Null 所在院系ProfTitle nvarchar 10 Null 职称Degree char 6 Null 学位表3-6 TeacherInfo表中数据示例TeacherID Tname Sex Depart ProfTitle Degree 04001 白红霞女计算机系教授博士09001 安宁女计算机系讲师本科09004 董敏女化学系教授博士09006 冯李宁男计算机系副教授本科06067 范美丽女数学系讲师硕士09011 华玉山男计算机系助教硕士09016 王洪亮男计算机系副教授本科表3-7 TeachTasksInfo表结构表名:TeachTasksInfo 说明:教学任务表属性列数据类型长度空值列约束说明TeachTask ID char26 Not Null PK教学任务编号Cno char 6 Null 课程编号TeacherID char 5 Null 教师编号AcadYear char 9 Null 开设学年Term char 1 Null 开设学期ExamMeth od varchar10 Null考试方式Depart varchar 30 Null 开设部门TimeTable nvarchar 50 Null 上课时间表3-8 TeachTasksInfo表中数据示例TeachTaskID Cno TeacherID AcadYear Term ExamMethod Depart TimeTable(2009-2010-1)-1 40173-04001 140173 04001 2009-2010 1 考试计算机系周二第3,4节{第1-20周}(2009-2010-2)-1 40176-09006 140176 09006 2009-2010 2 考查计算机系周一第1,2节{第1-20周}(2009-2010-2)-1 40178-06067 140178 06067 2009-2010 2 考试数学系周三第1,2节{第1-20周}(2009-2010-1)-1 40180-09016 140180 09016 2009-2010 1 考查计算机系周三第5,6节{第1-20周};周五第3,4节{第1-20周}注:教学任务编号TeachTaskID的组成规则为(学年-学期)-课程号-教师号。
实验一 SQL Server 2005的基本操作
实验一SQL Server 2005的基本操作一、目的与要求(1) 掌握SQL Server Management Studio “对象资源管理器”的使用方法;(2) 掌握SQL Server Management Studio “查询分析器”的使用方法;(3) 对数据库及其对象有一个基本的了解。
二、实验准备(1) 了解SQL Server2005 各种版本安装的软、硬件要求;(2) 了解SQL Server2005 支持的身份验证模式;(3) 对数据库、表及其他数据库对象有一个基本了解。
三、实验内容(1) SQL Server2005的安装检查软、硬件配置是否达到SQL Server 2005的安装要求,参照“SQL Server 2005安装图解以及SQL 2005 SP4补丁安装”的内容安装SQL Server 2005,熟悉SQL Server 2005的安装方法。
(2) 对象资源管理器的使用A. 进入“SQL Server Management Studio”。
首先单机开始,然后找到所有程序选项选择SQL2005单机SQL Management Studio打开连接到服务窗口就可以连接服务器进入数据库操作页面。
在打开的窗口可以看到很多窗口小工具,最左边的为资源管理器,而右边则可以显示对象的信息,如果单机左边的对象可以在右边看到对象的信息。
如下图B. 了解系统数据库和数据库的对象。
在创建数据库是,系统袭击默认创建四个默认数据库,他们分别是master,model,msdb和tempdb,和一个事例数据库他们可以记录数据库系统在运行过程中的各种活动,用户,错误,零时文件,备份等等,选择master可以看到资源管理器中的各个对象分类图1-2C. 试试不同数据库对象的操作功能。
单击master,在下拉列表中招待表,在找到系统便单击后选择“dbo.spt_values”单击右键可以看到显示出来的快捷菜单图1-3D. 认识表的结构。
实验1-Sql-Server2005的基本操作
§3.1实验一SqlServer2005的基本操作(2学时)3.1.1 实验目的1.熟悉SQLServer2005企业版的安装过程。
2.了解企业管理器的功能,掌握企业管理器的操作方法。
3.掌握数据库服务器的注册、配置、连接等操作。
3.1.2 实验内容和步骤上机前先阅读本实验的详细内容,简要了解SQLSERVER2005,并完成以下操作:1. SQL Server2005的安装参考详细内容进行安装,在安装过程中记录安装的选择,并且对所作的选择进行思考,为何要进行这样的配置,对今后运行数据库系统会有什么影响。
2.启动和停止服务3.启动SQL Server ManagementStudio4.查看数据库属性,了解数据文件、事务日志、权限注意事项:1.安装时选择混合方式登录;2.赋予sa密码。
实验一Sql Server2005的基本操作(详解)一、安装下面以Windows xp平台为例,介绍如何安装SQL Server 2005个人开发版。
1.根据安装机器软硬件的要求,选择一个合适的版本,以下以开发版为例2.将SQL Server 2005 DVD 插入DVD驱动器。
如果DVD驱动器的自动运行功能无法启动安装程序无法启动安装程序,请导航到DVD的根目录然后启动splash.ht a。
3.在自动运行的对话框中,单击“运行SQL Server 安装向导”。
4.在“最终用户许可协议”页上,阅读许可协议,再选中相应的复选框以接受许可条款和条件。
接受许可协议后即可激活“下一步”按钮。
若要继续,请单击“下一步”若要结束安装程序,请单击“取消”。
如下图:5.在“SQL Server 组件更新”页上,安装程序将安装SQL Server2005 的必需软件。
有关组件要求的详细信息,请单击该页底部的“帮助”按钮。
若要开始执行组件更新,请单击“安装”。
更新完成之后若要继续,请单击“完成”。
6.在SQL Server 安装向导的“欢迎”页上,单击“下一步”以继续安装。
SQLServer2005入门教程
SQL Server2005入门教程SQL SQL Server Server 是一个关系数据库管理系统。
它最初是由Microsoft Microsoft Sybase Sybase 和Ashton-Tate三家公司共同开发的,于1988 年推出了第一个OS/2 版本。
在Windows Windows NT NT 推出后,Microsoft 与Sybase 在SQL SQL Server Server 的开发上就分道扬镳了,Microsoft 将SQL SQL Server Server 移植到Windows NT 系统上,系统上,专注于开发推广专注于开发推广SQL Server 的Windows NT 版本。
Sybase 则较专注于SQL Server 在UNIX 操作系统上的应SQL Server 安装界面用。
安装界面用。
SQL Server 是新一代的数据库平台,集成了更多、更优秀的功能特性。
本章主要对SQL Server 概要介绍,主要介绍如何创建数据库、如何管理权限、如何执行备份与恢复。
概要介绍,主要介绍如何创建数据库、如何管理权限、如何执行备份与恢复。
1 SQL Server 简介SQL Server 是微软推出的新一代数据库管理系统,支持企业应用的开发与数据存储。
本节对SQL Server 进行简单介绍。
主要内容包括:进行简单介绍。
主要内容包括:l概述概述l SQL Server 工具简介工具简介 1.1 概述当今组织机构面临着多项前所未有的数据技术挑战:在整个企业范围内实现数据与系统的高度分布;为内部员工、目标客户与合作伙伴提供针对相关数据的持续访问调用能力;目标客户与合作伙伴提供针对相关数据的持续访问调用能力;以以切实有效的信息资料武装信息工作者,切实有效的信息资料武装信息工作者,促进科学决策;促进科学决策;在不必牺牲应用程序可用性、在不必牺牲应用程序可用性、安全性安全性或可靠性的前提下控制成本费用水平。
SQL_Server_2005配置说明
SQL Server 2005 配置说明一、安装SQL Server 2005数据库目前,64位系统上安装的SQL Server 2005数据库,都是由Microsoft Visual Studio 2008安装的Express版本。
安装过程如下:1.先安装虚拟光驱daemo-x64.exe,安装过程中,会提示重新启动,重新启动完成后,就会安装虚拟光驱完成。
这时,会在屏幕右下角出现红色闪电图标。
左键点击图标,选择安装VS 2008的虚拟镜像文件zmvspro8.iso。
如图:使用虚拟光驱选择安装VS2008的虚拟光驱镜像文件2.安装VS2008,在选择好VS2008镜像文件后。
打开我的电脑,选择”DVD 驱动器(G:)”盘(可能根据不同的电脑,虚拟光驱的名字不一样),进入后,选择Autorun.exe执行安装VS2008。
根据安装提示一步一步安装完成,这样数据库就可以安装完成了。
注意,在选择安装时,选择完全安装(FULL),以防环境不一样,导致数据库运行出现问题。
如图红色区域:选择完全安装即FULL安装3.安装数据库管理工具SQL Server 2005 Management studio。
由于是从VS2008中安装的数据库,所以安装完成的数据库中是没有数据库管理工具,我们要自己安装个数据库管理工具。
安装管理工具的软件从相关人员索要。
执行“SQLServer2005_SSMSEE_x64.msi”,根据安装提示一步步就可以安装成功,安装成功后,可以查看管理数据库。
如图所示:成功安装SQL Server 2005和数据库管理工具,红色为管理工具4.查看数据库。
在使用数据库前,先要确认数据库服务正常启动。
点击《开始》->《程序》->《Microsoft SQL Server 2005》->《Configuration Tools》->《SQL Server Configuration Manager》后,会出现数据库配置管理对话框,点击左边树状图中“SQL Server 2005 Services”,在右边查看“SQL Server(SQLEXPRESS)”的图标,是否有个绿色的小箭头,如果有则说明数据库服务正常运行。
Chap02SQL Server 2005基本操作(2)
2.3 使用程序代码创建数据库和表 2.4 数据库创建综合实践表
2.3.1 创建数据库
1.T-SQL语句的输入和运行环境
T-SQL语句的输入和运行环境需要建立一个数据库引擎查询文档,在所建立 的数据库引擎查询文档中输入代码。建立步骤如下: (1)在已启动的管理器界面单击常用工具栏中的“新建查询”钮,弹出连接服务 器对话框。 (2) 单击“连接”钮,建立一个数据库引擎查询文档,文档名默认为 “SQLQuery1.sql”。 (3)在“ SQLQuery1.sql”文档界面输入程序代码。
2.3 使用程序代码创建数据库和表
语法注释:
on(……) 描述数据文件 log on(……) 描述日志文件。 name 定义操作系统文件的逻辑文件名。逻辑文件名只在T-SQL语句中使 用,是实际磁盘文件名的代号。 filename 定义操作系统文件的实际名字,包括文件所在的路径。 size 定义文件的初始大小。 maxsize 定义文件能够增长到的最大长度。 filegrowth 定义的文件长度不够时,文件每次增长的速度,最少增长1MB。 增长速度也可使用百分比表示。
2.4 数据库创建综合实践
2.4.3 操作步骤 (续)
(5)按F5键或单击工具栏上的“叹号”钮,执行所输入的命令,在下
面的结果窗口会提示命令已成功执行。 (6)在【对象资源管理器】面板,展开【数据库】节点,则显示新建 立的数据库“stuDatabase”,若没有显示,将鼠标指向【对象资源管理 器】面板中的服务器选项,在快捷菜单中选择“刷新”。 (7)展开【stuDatabase】数据库,可显示该数据库中所有数据库对象。
第 9页
2.4 数据库创建综合实践
实验1-Sql-Server2005的基本操作
实验1-SQL-Server 2005的基本操作实验背景SQL-Server是一种基于Windows操作系统的关系型数据库管理系统。
在实际开发工作中,我们需要对数据库进行增删改查等操作,因此学习SQL-Server的基本操作是非常必要的。
本实验将介绍SQL-Server 2005的基本操作,包括创建数据库、创建表、插入数据、查询数据等常用操作。
实验目的1.理解SQL-Server的基本概念和原理2.掌握SQL-Server 2005的基本操作3.能够利用SQL-Server 2005完成常用的数据操作实验步骤步骤一:创建数据库在SQL-Server 2005中,我们可以通过以下步骤来创建数据库:1.打开SQL-Server Management Studio软件2.在Object Explorer中,右击“Databases”文件夹,选择“New Database”3.在弹出的“New Database”对话框中,输入数据库的名称,选择数据库的文件路径和文件名等相关信息4.点击“OK”按钮,等待数据库创建完成步骤二:创建表在创建完数据库之后,我们需要在数据库中创建表。
创建表的步骤如下:1.在Object Explorer中,选择刚创建的数据库,右键选择“New Query”2.在新建的查询窗口中,输入以下SQL语句:CREATE TABLE [表名] ([列1名称] [列1类型] [列1属性],[列2名称] [列2类型] [列2属性],...)注:表名、列名、类型和属性可以根据实际情况进行修改。
3.执行SQL语句,等待表创建完成步骤三:插入数据创建表之后,我们需要向表中插入数据。
插入数据的步骤如下:1.在Object Explorer中,找到刚刚创建的表,右键选择“Edit Top 200Rows”或“Select Top 1000 Rows”2.在弹出的窗口中,输入需要插入的数据内容3.点击“保存”按钮,等待数据插入完成步骤四:查询数据插入数据之后,我们可以使用以下SQL语句来查询数据:SELECT [列1名称], [列2名称], ...FROM [表名]WHERE [条件]注:列名和表名可以根据实际情况进行修改,条件为可选项。
第9章 SQL Server 2005基本操作与应用[36页]
9.2.1数据表和视图简介
创建后对任何用户都是可见的,当所有引用该表的用户断开连接时才会 被删除。 SQL Server 2005提供了两种方法创建数据库表:一种方法是利用T— SQL语句中的CREATE命令创建表;另一种方法是利用SQL Server Management Studio创建表。在创建表之前尽量需要确定如下项目:
9.2.1数据表和视图简介
条件限制用户从表中检索的内容,从而用户可以根据需要查看有用数据。 2)简化数据操作。在大多数情况下用户所查询的信息,可能存储在不同
的表中,而处理这些数据时,又可能牵涉到各种约束下的多表操作, 这些操作一般比较繁琐,程序设计人员可以将这些内容设计到一个视 图中。 3)提供安全保护功能。基表中存放着完整的数据,而不同用户只需了解 他们感兴趣的部分数据。但检索表时用户可看到表中所有数据,而使 用视图则能够限制用户只能检索和修改视图所定义的部分内容,基表 的其余部分是相对不能访问的,从而提高数据的安全性。 4)有利于数据交换操作。在实际工作中常需要在SQL Server与其他数据 库系统之间进行数据交换。如果数据存放在多个表或多个数据库中, 实现的操作比较麻烦,此时可以通过视图将需要的数据集中到同一个 视图中,从而简化数据交换操作。
9.1 SQL Server 2005数据库基本操作
使用数据库存储数据,首先要创建数据库。一个数据库必须至少包含一 个数据文件和一个事务日志文件。所以创建数据库就是创建主数据文 件和事务日志文件。现主要介绍使用SQL Server Management Studio 创建数据库。SQL Server Management Studio是SQL Server系统运行 的核心窗口,它提供了用于数据库管理的图形工具和功能丰富的开发 环境,方便数据库管理员及用户进行操作。
SQLserver2005数据库表操作指南(SQLServer2005数据库维护基础与进阶)
7.2 创建和删除索引
1. 使用Management Studio创建索引
2. 使用Management Studio删除索引 3. 使用Transact-SQL创建和删除索引
图 8.1
SQL Server 2005 中的表
1.2 数据完整性基础
定义表除了要定义每一列的数据类型和长度外,还可以为 列定义一些其他的属性。这些属性也很重要,它们可以保证 表的数据完整性和参照完整性。在SQL Server 2005中用于保 证以上两种完整性的相关技术有如下3种。
1. 约束 2. 规则(rules) 3. 默认值
图 8.15
利用【对象资源管理器】删除表
5.2 使用Transact-SQL删除表
语法结构为:
DROP TABLE [ database_name . [ schema_name ] . | schema_name . ] table_name [ ,...n ]
5.3 删除数据库中的表示例
例题:删除在服务器上的ufsystem数据库中的一个表ua_task。 具体操作步骤如下。 (1) 从PC桌面依次选择【开始】|【所有程序】|【附件】|【 命令提示符】命令,打开命令提示符窗口。
5 删 除 表
5.1 使用Management Studio删除表
使用Management Studio删除表的具体步骤如下。 (1) 在【对象资源管理器】窗口中,单击【数据库】 节点前的“+”号,展开【数据库】节点;单击目标数据库前 的“+”号,展开目标数据库;单击【表】节点前的+号,展开 表节点。在目标表上单击鼠标右键,弹出快捷菜单,选择【 删除】命令,如图15所示。
(2) 使用如下语句删除表: drop table ufsystem.dbo.ua_task; go
第9章 SQL Server 2005基本操作
9.1.5 删除数据库
• 1. 使用 使用SQL Server Management Studio删除 删除 数据库 – 在对象资源管理器中,在目标数据库上单击 在对象资源管理器中, 鼠标右键,选择“删除”命令, 鼠标右键,选择“删除”命令,完成数据库 删除操作。 删除操作。 • 2. 使用T-SQL语句删除数据库 使用 语句删除数据库 • 语法格式: 语法格式: – DROP DATABASE database_name[,…n] • 【例9-6】 删除创建的数据库 】 删除创建的数据库Test。 。 – DROP DATABASE Test
精 确 数 字
小数,p:最大数字位数;s:最大小数位数 同上 -1.79E+308~1.79E+308 -3.40E+38~3.40E+38 定长字符型 变长字符型 变长文本型,存储字符长度大于8000的变长字符 Unicode字符(双倍空间) Unicode字符(双倍空间) Unicode字符(双倍空间) 1753-1-1-9999-12-31(12:00:00) 1900-1-1-2079-6-6 -263~263-1(保留小数点后4位) -231~231-1(保留小数点后4位) 0/1,判定真或假 自动生成的唯一的二进制数,修改该行时随之修改,反应修改记录的时间 全局唯一标识(GUID),十六进制数字,由网卡/处理器ID以及时间信息产生,用法同 上 用户可创建自定义的数据类型
应用说明
4. 表 的 数 据 类 型
二进制
BINARY[(n)] VARBINARY[(n)] BIGINT 精确 整数 INT SMALLINT TINYINT 精确 小数 近似 数字 DECIMAL[(p[,s])] NUMERIC[(p[,s])] FLOAT[(n)] REAL CHAR[(n)]
实验1 SQL server2005使用基础
图 4.14 多个文档以选项卡形式重叠
4.1 改变为MDI模式
如果要改变“文档”窗口为MDI模式,则选择 SQL Server Management Studio 的【工具】|【选 顷】命令,在弹出的【选顷】对话框中展开【环境】 节点,并选择【常规】,然后在【环境布局】选顷组 中选择【MDI环境】,并单击【确定】按钮,如图所 示。
6.2 使用缩迚
在查询编辑器窗口中,用户还可以使用缩迚功能来对 语句迚行排版,使得语句能够按照用户的习惯显示,这对 于编写较大的Transact-SQL程序来说,是一个很方便和 实用的功能。 更改默认缩迚
6.3 最大化查询编辑器窗口
程序员在编写Transact-SQL程序时,经常会发现查询
编辑器中编写代码的空间有限,他们需要更大的编辑空间, 以方便编写Transact-SQL程序。为此,SQL Server 2005 Management Studio提供了两种方法解决这个问题,即最 大化查询编辑器窗口戒隐藏丌使用的窗口。
1 初识Management Studio
1.1 启动Management Studio
(1) 从 PC 桌 面 依 次 选 择 【 开 始 】|【 所 有 程 序 】|
【Microsoft
SQL
Server
2005】|【SQL
Server
Management Studio】命令。 (2) 在弹出的【连接到服务器】对话框中,单击【连接】 按钮,如图所示。 (3) 若 一 切 正 常 , 便 可 进 入 SQL Server ManagementLeabharlann 图 4.8 对象资源管理器
3 改变窗口布局
3.1 关闭和隐藏窗口
要关闭窗口,只需要单击窗口右上角最右边的“关闭” 按钮即可,如图所示。 要隐藏窗口,只需要单击窗口右上角中间的“自动隐 藏”按钮即可,如图所示。
SQL Server 2005使用方法
以上两个对话框的名字要一致,或者是干脆就写“localhost”即可如果遇到上述错误信息,可能的原因是SQL Server的服务没有启动,可以采用下述方法去解决到“控制面板”-“管理工具”- “服务”,找到下面的内容点击左侧的“Start”启动就可以了数据库名称就是要创建的数据库名,点击确定的话,就会创建两个文件,Test.mdf和Test.ldf。
那么这两个文件在哪个文件夹里呢?向右拖动滚动条,就可以看到了。
保存使用相同的方法,创建其它的表注意:一定要按行输入等所有的表的记录输入完毕,就可以开始查询了点击“新建查询”常见问题1.注意:在执行查询时一定要保证红框处选择你要使用的数据库名2.如何复制新建的数据库,然后安装到其它计算机中?1)点击“分离”,则该数据库从当前环境中消失,这时就可以在Windows资源管理器中把该文件复制走2)然后复制到你的机器中,之后打开SQL Server,点击“附加”选择要附加的数据库(找mdf扩展名的文件)3.附录:1.在SQL Server2005中,使用一组操作系统文件来映射数据库。
数据库中的所有数据和对象都存在于下列操作系统文件中。
(1)主要数据文件(.mdf)主要数据文件包括数据库的启动信息,并用于存储数据。
每个数据库都有一个主要数据文件。
(2)次要数据文件(.ndf)次要数据文件也用来存储数据,它含有不能置于主要数据文件中的所有数据。
如果主要数据文件可以包含数据库中的所有数据,那么数据库就不需要次要数据文件。
如果数据库很大,主要数据文件的容量超过了系统的限制,就需要设置一个或多个次要数据文件,并将它们存储在不同的磁盘上。
(3)事务日志文件(.ldf)事务日志文件包含用于恢复数据库的日志信息。
每个数据库都必须至少有一个事务日志文件。
2.SQL Server2005中,默认安装如下几个数据库,不要对其进行任何改动。
(1)master数据库顾名思义,master数据库是SQL Server2005中的总控数据库,它是最重要的系统数据库,记录系统中所有系统级的信息。
SQL Server 2005中文版基础教程
项目二 管理数据库
【学习目标】
1 理解数据库基本属性的含义。 2 掌握创建数据库的方法,以及掌握create database的语法。 3 掌握为数据库增加数据文件组和数据文件的方法。 4 掌握为数据库增加事务日志文件的方法。 5 掌握为数据库定义和修改排序规则的语法。 6 掌握alter database的语法。 7 掌握drop database的语法。 。
项目二 管理数据库
任务一 创建“学生管理” 数据库
【基础知识】 1. 数据库名称 2. 数据文件 1) 数据文件的“逻辑名称”和“操作系统文件名” 2)“主要数据文件”和“次要数据文件”
3) 数据文件的初始尺寸、最大尺寸和增长尺寸
3. 数据文件组 4. 事务日志文件
项目二 管理数据库
任务一 创建“学生管理” 数据库
介绍如何启动和连接“教育学院管理”实例。
1. “操作一”在【Configuration Manager】中启动实例。
2. “操作二”在Windows的【服务】中启动实例。 3. “操作三”在Windows的【命令提示符】中启动实例。
4. “操作四”连接“教育学院管理”实例。
项目一 创建与使用SQL Server实例
表2-1 “学生管理”数据库的数据文件和事务日志文件
文件类型 数据文件 日志文件
文件组 Primary 无
逻辑名称 Pri_Student_data Student_log
操作系统文件名 D:\DBFiles\Pri_Student_data.mdf D:\DBFiles\Student_log.ldf
1. “操作一”创建命名实例。 2. “操作二”删除指定实例。项目一 创来自与使用SQL Server实例
SQL Server 2005 基础教程
SQL Server2005基本操作一、本课内容1.SQLServer2005 基本操作;2.数据库分离、附加;3.数据库备份及还原。
二、学习目标1.掌握SQLServer2005 基本操作;2.掌握数据库的附加;3.掌握数据库的备份及还原。
三、重难点重点:1.数据库的建立难点:1.数据库备份及还原四、建议学时建议学时:1学时。
五、详细内容1.SQLServer2005的基本操作SQL Server 2005 是一个全面的数据库平台,使用集成的商业智能 (BI) 工具提供了企业级的数据管理。
SQL Server 2005 数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序。
(1)、建立数据库启动数据库→右键”数据库”→选择”新建数据库”→在弹出的对话框中建立数据库。
数据库文件的组成:主数据文件:*.mdf次要数据文件:*.ndf日志文件:*.ldf数据库的其他属性:文件存放位置,分配的初始空间,属于哪个文件组文件增长:可以按百分比或实际大小指定增长速度文件容量设置:可以指定文件增长的最大值或不受限(2)、建立数据表选择要建立表的数据库→选择”表”→”表”上右键→选择”新建表”→在弹出的对话框中设置相应的表结构。
表结构中列的特征:包括该列是是否为空(NULL)、是否是标识列(自动编号)、是否有默认值、是否为主键等。
(2)、建立数据表选择要建立表的数据库→选择”表”→”表”上右键→选择”新建表”→在弹出的对话框中设置相应的表结构。
表结构中列的特征:包括该列是是否为空(NULL)、是否是标识列(自动编号)、是否有默认值、是否为主键等。
3)、执行SQL语句在SQLServer2005管理界面工具栏上点击图标打开如下窗口:在其中可以编写,并执行T-SQL语句。
2.数据库分离、附加数据库分离:在要分离的数据库上右键-〉任务-〉分离,选择删除链接,确定即可,如下图:数据库附加:选中“数据库”,右键-〉附加-〉添加,选择你要附加的数据库(.mdf)文件。
sqlserver2005_入门实训
使用SQL Server2005创建数据库和表1、使用SQL Server2005数据库管理系统创建数据库和表在本练习中,将使用SQL Server2005数据库管理系统创建Student数据库,并在Student 数据库中创建表Student,使你能够掌握使用SQL Server2005数据库管理系统创建数据库和表的方法。
1)启动SQL Server2005:依次单击开始->所有程序->SQL Server 2005->SQL Server Management StudioExpress启动SQL Server 2005数据库管理系统2)登录数据库服务器:点击“连接到服务器“对话框中的连接按钮连接到SQL Server 2005数据库服务器。
3)创建数据库Student在SQL Server 2005数据库管理系统的左边栏“对象资源管理器”中右击数据库对象,在弹出的快捷菜单中单击“新建数据库”命令。
在弹出的“新建数据库”对话框右侧的数据库名称中输入数据库名称“Student”,然后单击确定。
4)在Student数据库中新建表”Student”单击SQL Server 2005数据库管理系统的左侧的“对象资源管理器”栏中的”刷新”按钮,以显示出新建的数据库“Student”。
依次展开左侧栏对象资源管理器中的“数据库”->“Student”,并右击Student数据库中的表项目,在弹出的快捷菜单中单击“新建表”命令。
在右侧在工作区中输入“Student”表的信息,该表具有如下列:单击文件菜单中的保存命令保存该表,并取名为“Student”。
2 使用SQL语句创建数据库和表1)单击工具栏中的“新建查询”按钮,并在弹出的“连接到服务器”对话框中单击“连接”按钮,新建一个SQL脚本。
2)在右侧的SQL脚本输入框中输入如下SQL代码:CREATE DATABASE STUDENT -- 创建STUDENT数据库GOUSE STUDENT -- 转到STUDENT数据库GOCREATE TABLE STUDENT -- 在STUDENT数据库中创建表STUDENT(Sno CHAR(5)PRIMARY KEY,Sname CHAR(10)NOT NULL,Ssex BIT,Sage INT,Sdept CHAR(15))单击工具栏中的执行按钮,运行SQL语句,完成数据库与表的创建。
SQL Server 2005基础应用(入门到精通·循序渐进·案例详解·适合初学者)
SQL Server 2005基础应用一.数据库的基本操作--创建数据库create database new_db2on primary(name='new.mdf',filename='e:\new.mdf',size=5mb,maxsize=50mb,filegrowth=10%)--收缩数据库alter database new_dbmodify file(name='new_db',size=15mb)--压缩数据库dbcc shrinkdatabase('new_db',1)--重命名数据库exec sp_renamedb'new_db','Jasxu_db'--删除数据库drop database new_db2二.数据库表的基本操作--创建数据库create database st_dbon primary(name='st.mdf',filename='e:\st,mdf',size=5mb,maxsize=50mb,filegrowth=20%)--删除Jasxu_db数据库drop database Jasxu_db--在st_db数据库中编辑use st_db--创建表create table table_name(学号int primary key identity,--这里的identity意思就是将标志规范设置为递增名称char(6)not null,专业方向varchar(10)not null,系部代码char(2)not null,备注varchar(50))--查看表的基本信息exec sp_help table_name--重命名表exec sp_rename'table_name','new_table'--重命名列exec sp_rename'new_table.备注','其他','column'--添加新列alter table new_table add新列char(10)--更改列的数据类型alter table new_tablealter column新列int not null--删除列alter table new_tabledrop column新列--删除表drop table new_table--案例解析create table t2(id int not null,us varchar(30))--查询表里面的内容select*from t1--删除表的所有数据truncate table t1--创建主键约束alter table t1add constraint pkprimary key clustered(id)--创建外键约束alter table t2add constraint wzforeign key(id)references t1(id)--references代表参照哪个表的主键设置外键三.数据库表的增加、删除、修改--创建系部表create table系部(系部代码char(6)not null primary key,系部名称varchar(30)not null,系主任char(8))--创建专业表create table专业表(专业代码char(4)not null primary key,专业名称varchar(20)not null,系部代码char(6)constraint wz11 references系部(系部代码))--创建班级表create table班级表(班级代码char(9)not null primary key,班级名称varchar(20),专业代码char(4)constraint wz1 references专业表(专业代码),系部代码char(6)constraint wz2 references系部(系部代码),备注varchar(50))--创建学生表create table学生表(学号char(12)not null primary key,姓名char(8),性别char(2),出生日期datetime,入学时间datetime,班级代码char(9)constraint wz3 references班级表(班级代码),系部代码char(6)constraint wz4 references系部(系部代码),专业代码char(4)constraint wz5 references专业表(专业代码))--在new_table表中添加数据insert into new_table values('Jasxu','计算机','01','无')--选择性的插入数据insert into new_table(名称,专业方向,系部代码)values('xsw','软件工程','02') --省略values的insert语句insert into new_table (名称,专业方向,系部代码)select名称,专业方向,系部代码from new_table--修改new_table表update new_table set系部代码='01'update new_table set专业方向='软件工程'where专业方向='计算机'--删除new_table中的内容delete new_table where专业方向='软件工程'delete new_table where学号='10'四.数据库表的简单查询--查询new_table表中所有信息内容select*from new_tableselect学号,名称,专业方向,系部代码,其他from new_table--输出表中的部分字段select学号,名称from new_table--选择表中若干记录(去掉结果中的重复行)select distinct系部代码from new_table--限制返回的行数select top 3 *from new_table--查询学号大于的信息select*from new_table where学号>13--确定范围(between and)select*from new_table where学号between 12 and 16--确定集合(in,not in)select*from new_table where学号in(12,13,14,15)select*from new_table where学号not in(12,13,14,15)--字符匹配select*from new_table where名称like'徐_'--两个字的姓名select*from new_table where名称like'徐__'--三个字的姓名select*from new_table where名称like'徐%'--%代表任意长度select*from new_table where名称like'徐\%'escape'\'--通配符的转换--清空数据truncate table new_table--插入数据insert into new_table values('张学友','网络','01','没有','411')insert into new_table values('刘德华','计算机','02','没有','412') insert into new_table values('舒淇','计算机','01','没有','413')insert into new_table values('梁咏琪','动漫','02','没有','431')insert into new_table values('杨千嬅','计算机','01','没有','465') insert into new_table values('李宇春','动漫','02','没有','485')insert into new_table values('蔡依林','网络','01','没有','468')insert into new_table values('郑源','计算机','02','没有','510')insert into new_table values('陈楚生','动漫','01','没有','550')insert into new_table values('张韶涵','计算机','02','没有','421') insert into new_table values('猛非','动漫','01','没有','423')insert into new_table values('郑秀文','网络','02','没有','411')insert into new_table values('林俊杰','计算机','01','没有','511') insert into new_table values('羽泉','计算机','01','没有','500')insert into new_table values('郭富城','网络','02','没有','400')insert into new_table values('黄品源','动漫','02','没有','589')insert into new_table values('梁朝伟','计算机','02','没有','530') insert into new_table values('李克勤','网络','01','没有','520')insert into new_table values('陈小春','国际金融','02','没有','512') insert into new_table values('刘若英','证券期货','02','没有','421') insert into new_table values('刘嘉玲','房地产金融','01','没有','428') insert into new_table values('谭咏麟','房地产金融','02','没有','498') insert into new_table values('张学友','证券期货','01','没有','454') insert into new_table values('张卫健','证券期货','02','没有','515') insert into new_table values('周传雄','房地产金融','01','没有','532') insert into new_table values('周星驰','国际金融','02','没有','423') insert into new_table values('游鸿明','房地产金融','02','没有','447') insert into new_table values('言承旭','国际金融','02','没有','488') insert into new_table values('许志安','国际金融','01','没有','582') insert into new_table values('叶倩文','房地产金融','01','没有','495') insert into new_table values('叶世荣','房地产金融','02','没有','499') insert into new_table values('张雨生','证券期货','02','没有','531') insert into new_table values('周润发','国际金融','01','没有','531') insert into new_table values('张信哲','证券期货','01','没有','424') insert into new_table values('周渝民','证券期货','02','没有','412') insert into new_table values('太极乐队','证券期货','02','没有','423') --查询new_table表select*from new_table--涉及空值的查询select*from new_table where其他is nullselect*from new_table where not其他is null--用指定使用结果值来创建一个表(注意:在表前加一个#创建出来的是临时表)select学号,名称,高考分数into score_table from new_tableselect*from score_table--对结果进行分组select系部代码from new_table group by系部代码select专业方向from new_table group by专业方向select专业方向from new_table group by专业方向having专业方向<>'动漫'--having起到筛选作用--排序查询(asc升序desc降序)select*from new_table order by高考分数ascselect*from new_table order by高考分数desc五.数据表中对数据进行统计--查询数据库表new_table中的信息select*from new_tableselect*from new_table order by高考分数descselect top 3 *from new_table order by高考分数desc--查询总人数select count(*)as总人数from new_table--这里的as是为列重命名select count(学号)as总人数from new_tableselect count(其他)as总人数from new_table--计算整个班级高考的总分数select sum(高考分数)as总分from new_table--计算整个班级高考的平均分数select avg(高考分数)as平均分from new_table--计算整个班级高考的最大值select max(高考分数)as最大值from new_table--计算整个班级高考的最小值select min(高考分数)as最小值from new_table--对查询结果集中的所有记录进行汇总统计,并显示所有参加汇总记录的详细信息select*from new_table order by专业方向compute sum(高考分数)select专业方向,count(*)as总人数from new_table group by专业方向--统计专业方向一共多少select专业方向,count(*)as总人数from new_table group by专业方向compute count(专业方向)--统计系部总人数select专业方向,count(*)as总人数from new_table group by专业方向compute sum(count(*))六.数据库中表的连接查询--插入数据这里的go起到连接作用insert into系部(系部代码,系部名称,系主任)values('01','计算机系','老张') goinsert into系部(系部代码,系部名称,系主任)values('02','经济管理系','老陈') goinsert into系部(系部代码,系部名称,系主任)values('03','机械系','老李')goinsert into系部(系部代码,系部名称,系主任)values('04','计算机系','老梁') goinsert into专业表(专业代码,专业名称,系部代码)values('0101','软件工程','01')goinsert into专业表(专业代码,专业名称,系部代码)values('0102','网络工程','01')goinsert into专业表(专业代码,专业名称,系部代码)values('0103','信息工程','01')goinsert into专业表(专业代码,专业名称,系部代码)values('0201','工商管理','02')goinsert into专业表(专业代码,专业名称,系部代码)values('0202','物流管理','02')goinsert into专业表(专业代码,专业名称,系部代码)values('0301','模具加工','03')goinsert into专业表(专业代码,专业名称,系部代码)values('0302','机电一体化','03')goinsert into专业表(专业代码,专业名称,系部代码)values('0401','应用数学','04')goinsert into专业表(专业代码,专业名称,系部代码)values('0402','金融数学','04')goinsert into班级表(班级代码,班级名称,专业代码,系部代码,备注)values('010101','软件工程班','0101','01','暂无')goinsert into班级表(班级代码,班级名称,专业代码,系部代码,备注)values('010102','软件工程班','0101','01','暂无')goinsert into班级表(班级代码,班级名称,专业代码,系部代码,备注)values('010103','网络工程班','0102','01','暂无')goinsert into班级表(班级代码,班级名称,专业代码,系部代码,备注)values('010104','网络工程班','0102','01','暂无')goinsert into班级表(班级代码,班级名称,专业代码,系部代码,备注)values('010105','信息工程班','0103','01','暂无')goinsert into班级表(班级代码,班级名称,专业代码,系部代码,备注)values('010106','工商管理班','0201','02','暂无')goinsert into班级表(班级代码,班级名称,专业代码,系部代码,备注)values('010107','物流管理班','0202','02','暂无')goinsert into班级表(班级代码,班级名称,专业代码,系部代码,备注)values('010108','模具加工班','0301','03','暂无')goinsert into班级表(班级代码,班级名称,专业代码,系部代码,备注)values('010109','应用数学班','0401','04','暂无')goinsert into班级表(班级代码,班级名称,专业代码,系部代码,备注) values('0101010','金融数学班','0402','04','暂无')goinsert into班级表(班级代码,班级名称,专业代码,系部代码,备注) values('0101011','金融数学班','0402','04','暂无')goinsert into学生表values('010*********','刘德华','男','1988-5-5','2010-9-1','010101','01','0101')goinsert into学生表values('010*********','张学友','男','1988-1-4','2010-9-1','010102','02','0102')goinsert into学生表values('010*********','梁静茹','女','1988-2-1','2010-9-1','010103','03','0103')goinsert into学生表values('010*********','陈奕迅','男','1983-5-3','2010-9-1','010104','04','0201')goinsert into学生表values('010*********','张韶涵','女','1987-8-6','2010-9-1','010105','01','0202')goinsert into学生表values('010*********','林俊杰','男','1988-6-6','2010-9-1','010106','02','0301')goinsert into学生表values('010*********','孙燕姿','女','1984-5-3','2010-9-1','010107','03','0302')goinsert into学生表values('010*********','周华健','男','1986-8-6','2010-9-1','010108','04','0401')goinsert into学生表values('010*********','尚雯婕','女','1988-6-6','2010-9-1','010109','01','0402')goinsert into学生表values('010*********','任贤齐','男','1984-5-3','2010-9-1','0101010','02','0101')goinsert into学生表values('010*********','魏晨','男','1986-8-6','2010-9-1','0101011','03','0102')goinsert into学生表values('010*********','庞龙','男','1988-6-6','2010-9-1','010101','04','0103')goinsert into学生表values('010*********','刘若英','女','1988-5-3','2010-9-1','010102','01','0201')goinsert into学生表values('010*********','李圣杰','男','1989-8-6','2010-9-1','010103','02','0202')goinsert into学生表values('010*********','吴克群','男','1989-2-9','2010-9-1','010104','03','0301')go--连接查询(交叉查询)select*from学生表cross join班级表--列举学生表中的学生姓名和性别班级表中的班级名称select学生表.姓名,学生表.性别,班级表.班级名称from学生表cross join班级表--将两个表中相同列合为一列select学生表.姓名,学生表.性别,班级表.班级名称from学生表cross join班级表where学生表.班级代码=班级表.班级代码--自然连接select*from学生表join班级表on学生表.班级代码=班级表.班级代码select学生表.姓名,学生表.性别,班级表.班级名称from学生表join班级表on学生表.班级代码=班级表.班级代码--表的自身连接(需要取别名)select a.姓名,b.性别from学生表as a join学生表as b on a.学号=b.学号--外连接表查询create table产品(产品编号char(9)not null,产品名称varchar(20)not null)create table产品销售(产品编号char(9)not null,销量int)insert into产品values('001','显示器')insert into产品values('002','键盘')insert into产品values('003','鼠标')insert into产品销售values('001','25')insert into产品销售values('003','35')insert into产品销售values('005','30')select*from产品select*from产品销售--左外连接select*from产品left join产品销售on产品.产品编号=产品销售.产品编号--右外连接select*from产品right join产品销售on产品.产品编号=产品销售.产品编号--完全外连接select*from产品full join产品销售on产品.产品编号=产品销售.产品编号--合并结果集(把重复的过滤掉了)select姓名,性别,出生日期from学生表union select姓名,性别,出生日期from学生表七.数据库中多表查询和子查询--多表连接查询select学生表.学号,学生表.姓名,学生表.性别,班级表.班级名称,专业表.专业名称,系部.系部名称from学生表join班级表on学生表.班级代码=班级表.班级代码join专业表on学生表.专业代码=专业表.专业代码join系部on学生表.系部代码=系部.系部代码select学生表.学号,学生表.姓名,学生表.性别,班级表.班级名称from学生表join班级表on学生表.班级代码=班级表.班级代码and性别='男'--嵌套查询(子查询)带有IN运算符的子查询,in运算符的子查询返回的结果是集合select*from系部select*from学生表where系部代码='01'select*from学生表where班级代码in(select班级代码from班级表where专业代码in(select专业代码from专业表where系部代码in(select系部代码from系部where系部代码in(01))))--带有比较运算符的子查询select*from学生表where出生日期>(select出生日期from学生表where姓名='刘德华')--带有any(满足条件中的任何一个)或all(大于结果中的所有值)的子查询select*from score_table order by高考分数descselect*from score_table where高考分数>any(select高考分数fromscore_table where学号in(29,25))select*from score_table where高考分数>all(select高考分数fromscore_table where学号in(29,25))--带有exists运算符的子查询select*from score_table where exists(select*from score_table where 名称='张学友')八.数据库中数据完整性约束select*from系部where系部代码=(select系部代码from专业表where专业代码=(select专业代码from班级表where班级代码=(select班级代码from学生表where姓名='刘德华')))--使用sql语句创建唯一约束alter table系部add constraint wywy unique nonclustered(系部名称)--创建检查约束alter table score_table add constraint ck_name check(高考分数>300 and高考分数<600)--创建默认约束alter table new_table add constraint df default'我叫徐守威'for'其他' --删除约束alter table score_table drop constraint ck_name九.数据库中数据规则--创建规则create rule gz as @a>300 and @a<600--绑定规则execute sp_bindrule'gz','new_table.高考分数'select*into new_table1 from new_table--解除规则execute sp_unbindrule'new_table.高考分数'--删除规则drop rule gz--创建默认create default df_name as'男'--绑定默认execute sp_bindefault'df_name','学生表.性别'--解除默认execute sp_unbindefault'df_name','学生表.性别'--删除默认drop default df_name十.数据库中索引--创建索引create clustered index索引名on score_table(名称)create unique clustered index索引名on score_table(名称)--查看索引信息execute sp_helpindex score_table--删除索引drop index score_table.索引名十一.数据库视图--创建视图create view v1 asselect学生表.学号,学生表.姓名,班级表.班级名称,专业表.专业名称,系部.系部名称from学生表join班级表on学生表.班级代码=班级表.班级代码join专业表on班级表.专业代码=专业表.专业代码join系部on专业.系部代码=系部.系部代码--创建一般视图create view视图名asselect*from score_table--创建加密视图create view加密视图名with encryptionasselect*from score_table--创建视图及表的架构绑定create view视图及表的架构绑定with schemabindingasselect姓名,性别from dbo.score_table--在视图中增加、删除数据insert into视图名(姓名,性别)values('xushouwei','男')update视图名set姓名='徐守威'where姓名='xushouwei'delete视图名where姓名='徐守威'--删除视图drop view视图名--系统存储过程查看视图execute sp_helptext视图名十二.数据库存储过程--创建存储过程create procedure passelect学生表.学号,学生表.姓名,班级表.班级名称,专业表.专业名称,系部.系部名称from学生表join班级表on学生表.班级代码=班级表.班级代码join专业表on班级表.专业代码=专业表.专业代码join系部on专业表.系部代码=系部.系部代码--执行存储过程execute p--为存储过程加上参数create procedure p1@sex varchar(10),@id varchar(10)asselect学生表.学号,学生表.姓名,班级表.班级名称,专业表.专业名称,系部.系部名称from学生表join班级表on学生表.班级代码=班级表.班级代码and学生表.性别=@sexjoin专业表on班级表.专业代码=专业表.专业代码join系部on专业表.系部代码=系部.系部代码and系部.系部代码=@id--执行带参数的存储过程execute p1'男','01'--创建带返回参数的存储过程create procedure p2@name varchar(10),@getnum varchar(10)outputasselect @getnum=学号from学生表where姓名=@name--执行带返回参数的存储过程execute p2'刘德华',''--查看存储过程execute sp_helptextexecute sp_dependsexecute sp_help--删除存储过程drop procedure pdrop procedure p,p1drop procedure p,p1,p2十三.数据库触发器--创建触发器(执行插入操作)create trigger myinserton产品for insertasdeclare @a char(10)select @a=产品编号from insertedinsert into产品销售values(@a,0)--查询触发器中的数据select*from产品select*from产品销售--执行插入操作insert into产品values('01','电视')insert into产品values('02','电脑')--创建触发器(执行删除操作)create trigger mydeleteon产品for deleteasdeclare @a char(10)select @a=产品编号from deleteddelete产品销售where产品编号=@a--执行删除操作delete产品where产品编号='02'--查看触发器信息execute sp_helptrigger产品--删除触发器drop trigger myinsertdrop trigger mydelete十四.数据库函数--avg求平均分函数select班级名称,avg(学生表.高考分数)from班级表join学生表on班级表.班级代码=学生表.班级代码group by班级名称--max求最大值select班级名称,max(学生表.高考分数)from班级表join学生表on班级表.班级代码=学生表.班级代码group by班级名称--min求最小值select班级名称,min(学生表.高考分数)from班级表join学生表on班级表.班级代码=学生表.班级代码group by班级名称--abs(x)返回绝对值select abs(-8)--ceiling(x)返回大于或等于所给数字的最小整数select ceiling(3)--pi()(pi值)select pi()--power(x,y)返回x的y次方select power(2,3)--rand()返回~1之间的随机数select rand()--返回数据库的版本号select@@version--获取当前语言select@@language--当前时间select getdate()--取出天select day(getdate())--取出月select month(getdate())--取出年select year(getdate())--加三天(“d”表示天,“m”表示月,“y”表示年)select dateadd(d,3,getdate())as Jasxu_dateadd--取出时间的某一部分(“d”表示天,“m”表示月,“y”表示年)select datename(d,'2013-12-12')select datename(d,getdate())--排名函数select姓名,rank()over(order by高考分数desc)as名次,高考分数from学生表。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Sql Server2005基础操作目录一数据库安装 (3)二进入数据库程序 (15)三数据库的附加 (17)1 数据库的附加和分离的意义 (17)2 数据库的附加操作过程 (17)四数据库的分离 (20)五数据库的备份 (22)六数据库的还原 (25)七常用SQL Server 语句 (29)7.1 查询(select)语句 (29)7.11 select 语句 (29)7.12 select的用法 (29)7.13 SQL中的运算符 (30)7.2 模糊查询中like的用法 (31)7.21 like是什么 (31)7.22 like的用法 (31)7.3 insert的用法 (32)7.31 什么是insert into语句 (32)7.32 insert into的用法 (32)7.4 update的用法 (32)7.41 什么是Update语句 (32)7.42 update的用法 (32)7.5 delete的用法 (33)7.51 什么是delete语句 (33)7.52 delete的用法 (33)一数据库安装1、在虚拟机中装载sql server 2005 光盘镜像文件,如下图:(若在物理机器中略过此步)2、把虚拟到虚拟光驱的光盘打开3 一些Ghost 系统中会有错误,根据消息提示进行更改即可,如下图:4、如下图,如果确认有足够存储空间可直接点击下一步。
如果没有请点击高级选择安装5、因为第一次安装选择默认实例即可,如果已经安装过默认实例请选择命名实例。
默认实例名和计算机名相同6、如下图:如果在一个域中,最好为自己的sql server 的服务创建一个账户。
这有利于一些服务器间的进程,并有利于利用其他服务,比如简单邮件传输协议(SMTP)。
如果不在一个域中,那么可以使用一个内置的系统账户,比如“网络服务”或者“本地系统”,这个对话框还允许配置在操作系统启动时要启动的sql server 服务。
(一般来说我们公司安装SQLServer2005的时候都会“选择本地系统”和“使用内置系统账户”)7、如下图:“windows 身份验证模式”表示将使用Windows 系统的用户账户执行登陆时的验证;“混合模式”表示也可以使用sql server 中定义的用户信息执行验证,此时必须为sa 输入密码,因为sa 是默认拥有最高权限的用户。
(这里我们用混合模式)、9 完成安装二进入数据库程序1、如下图:用Sql server 管理工具(对sql server 数据库的操作都在此进行)(可查看其它工具的安装情况)输入数据库密码进入数据库。
三数据库的附加一、数据库的附加1 数据库的附加和分离的意义数据库的附加和分离可以在需要更换数据库物理存放地址时使用。
如果您数据库系统安装在自己的机器上,您也许希望您的数据还能存放在机房(实验课时要使用),要做的这点很简单,您并不需要重装数据库,只要把数据“分离”,然后将相关文件拷贝到机房某盘的某个目录,接着“附加”数据库即可。
SQL Server 2000允许分离数据库的数据和事务日志文件,然后将其重新附加到同一台或另一台服务器上。
分离数据库将从SQL Server 删除数据库(实际上这个过程是删除数据库的连接,使该数据库的数据和事务日志文件能从当前的数据库服务器分离下来,所以分离后你会发现在目标文件夹有两个文件,同样,附加数据库的时候可以将这两个文件拷贝到要附加的机器的目标位置,再实行附加),但是保证在组成该数据库的数据和事务日志文件中的数据库完好无损。
然后这些数据和事务日志文件可以用来将数据库附加到任何SQL Server 实例上,这使数据库的使用状态与它分离时的状态完全相同。
、应注意,只有“使用本数据库的连接”数为0时,该数据库才能分离。
所以分离数据库时尽量断开所有对要分离数据库操作的连接,如果还有连接数据库的程序,会出现数据库的连接状态窗口,显示正在连接此数据库的机器以及名称,点击清除按钮将从服务器强制断开现有的连接。
2 数据库的附加操作过程由上所述,在附加数据库之前需要准备好相应的数据库文件以上图中第一二就是可以附加的数据库文件。
在数据库标签上右击,点选附加出现如下图的附加数据库的对话框点击添加,出现定位数据库文件,是要求你找出要附加的数据库文件的具体存放位置。
比如最上面那个图中的第一二个文件。
定。
然后就看到了图8中的学生-课程-选课数据库就附加进来了。
四数据库的分离数据库的分离实际上是数据库的附加的逆过程,就是把完整的数据库文件和日志文件从服务器上分离下来。
分离后的数据库文件在拷贝和移动后可以附加在其他的计算机上。
在需要分离的数据库上右击,按图9点选。
在出现的分离数据库的对话框中,在“删除连接”一项上勾选,然后点击确定。
分离成功后可以看到如图11,分离的数据库在服务器上没有了。
五数据库的备份数据库的备份往往是为了保证数据库系统在运行过程中遇到错误或者其他问题需要将数据库恢复到以前某个时间段而作的数据库当前时间的一个拷贝。
其操作过程如下:点击备份后出现备份数据库的窗口,在此窗口中点击添加,目的是要添加这个备份文件的存放位置。
点击添加后,出现后点击确定。
弹出新选择备份目标,对话框,点击确定。
可以到目标文件夹中看到名称为zhong的备份文件。
六数据库的还原接下来看数据库是如何还原的。
首先对当前数据库做一些修改。
比如在数据库中删除某一个表。
在上图中删除了计算机系学生这个表。
此时数据库变成了的情况。
如果这时候希望数据库能恢复到有计算机系学生这个表的时候,我们就需要进行数据库的恢复了,数据库的恢复需要在服务器中有一个数据库存在,然后需要有之前备份好的数据库文件,再利用这个数据库文件把当前的数据库恢复到备份文件的那一刻。
具体操作过程参见在打开的还原数据库对话框中,点击源设备。
然后确定。
弹出指定设备对话框,是问你从哪个设备来恢复数据库。
点击“添加”。
出现定位备份文件,在图中找到备份文件,然后并在文件名中输入文件名称。
单击确定回到还原数据库对话框,在“选择用于还原的备份集”中勾选当前需要还原的数据库,然后点击确定。
即完成了数据库的还原。
七常用SQL Server 语句数据库装好后我们在对数据库进行维护或者编写程序的时候,如何实现增加、删除、查询的功能呢?或者说数据库中数据量比较大我们怎么样才能对数据库中的数据快速定位到一行数据或者多行数据然后行操作?这个时候我们就要运用到SQL Server 查询、增加、删除等语句,现在我们介绍一下常用的语句和语法。
7.1 查询(select)语句在数据量比较的大的情况下我们如何快速的有效的定位到我们所需要数据上面去呢?现在我们看看select语句的应用:7.11 select 语句Select *from [表名]where 条件select 后面是默认是*的意识是查询这张表中的所有字段,form是来自那个表where 后面是你所要查询的条件7.12 select的用法我们现在已攀钢panggang数据库为例现在给大家例举几个例子:例1 从UserInfo表中查询所有用户的名称select*from erInfo例2 从WeightInfo表中查询单位为矿业公司数据select*from dbo.WeightInfo where Manufacturer ='矿业公司'例3 从WeightInfo 表中查询车号、发货单位、毛重、自重称重时间的信息select Vehicle_No, Manufacturer,Gross_wt,Tare_wt,Mtrl_descr,Create_timefrom dbo.WeightInfo例4 从WeightInfo 表中查询时间为6月30号以前的数据select*from dbo.WeightInfo where weight_date<'20110630'例5从WeightInfo 表中查询时间为6月30号以前的数据并且以将序排列select*from dbo.WeightInfowhere weight_date<'20110630'order by weight_time desc注意 desc 是降序 asc是升序7.13 SQL中的运算符算法运算符: +、—、*、/、%比较运算符:>、=、>=、<、<=、<>、!=,!>、!<逻辑运算符:And,Or,Not,等赋值运算符:=算法运算符在这里就不说我主要来看看比较运算符合常用的逻辑运算符比较运算符> 这是大于号< 小于号= 等号>= 大于等于<= 小于等于<> 不等于!= 不等于!< 不小于!> 不大于其中!=,!>、!< 不是标准的运算符逻辑运算符and 是”并且”的意思用法是这样的:select*from dbo.WeightInfowhere weight_date>'20110630' and weight_date<'20110710' 就是查询在6月30后并且在7月10号之前Or 是“或”的意思用法同上NoT 是不是的意思用法是这样的select*from dbo.WeightInfowhere not weight_date>'201106307.2 模糊查询中like的用法7.21 like是什么当你只知道在这字段中其中的一个字或者几个字的时候,想要找出这条数据,这个时候我们就要用模糊查询,在模糊查询中like的用法很重要,like 一般与通配符配合使用,实现模糊查询功能。
说到模糊查询我们就要先说一下like的通配符,让我们来看看立刻几种通配符的用法:(1) _ 与任意单字符匹配 %(2) 与包含一个或多个字符的字符串匹配(3) [ ] 与特定范围(例如,[a-f])或特定集(例如,[abcdef])中的任意单字符匹配。
(4) [^] 与特定范围(例如,[^a-f])或特定集(例如,[^abcdef])之外的任意单字符匹配。
7.22 like的用法在上一节中我们看到了select 查询语句的用法,现在我们来看看like配合select来进行模糊查询的几个例子(还是用攀钢表为例):例1 从WeightInfo表中查询车号开头为4的车,并且以降序排列:select*from dbo.WeightInfowhere Vehicle_No like'4%'order by weight_time desc例2 从UserInfo表中查询用户从1到5用户select*from erInfo where [User_id] like'[1-5]'例3 从WeightInfo表中查询出第一位车号不清楚,后六位是629251的车号所有的数据select*from dbo.WeightInfo where Vehicle_No like'_629251'例4 从WeightInfo表查询开头为4第二位不是1后面不知道的车号所有的数据select*from dbo.WeightInfo where Vehicle_No like'4[^1]%'例5 从WeightInfo表查询第一位不知道第二位是在1到3的最后一位为9的所有车号数据select*from dbo.WeightInfo where Vehicle_No like'_[1-3]%9'例6 从WeightInfo表查询第一位是1到3 第二位不知道第三位不是0 最后一位是9的车号select*from dbo.WeightInfo where Vehicle_No like'[1-3]_[^0]%9'7.3 insert的用法7.31 什么是insert into语句Insert的意思是插入,insert into在SQL中是插入数据的意思,当我们要往表里插入一条数据的时候就可以用到这个语句,它的语法是:Insert into 表名(列1,列2,列3,~~~~~~~)values(值1,值2,值3,~~~~~~~~)7.32 insert into的用法例1 在userinfo表插入一条新的数据用户名为“777”,名称为“777”密码为“777”insert into erInfo([User_id],[User_name],User_password) values('777','777','777')7.4 update的用法7.41 什么是Update语句Update是更新的意识,在SQL中Update语句的作用是允许用户在已知表中对现有的数据进行修改,这种修改是可以单行,也可以多行进行修改。