SQL Server2008数据库管理 (第二部分)
2.1 T-SQL概述
SQL: Structured Query Language 结构化查询语言,用于操作关系型数据库
T-SQL: Transact-SQL 是ANSI92 SQL的扩展集,对功能进行了补充:如变量说明、流程控制、功能函数等
2.1.1 T-SQL语言主要组成部分
1)DML(数据库操作语言)
用于查询、插入、修改和删除数据库中的数据: select、insert、update、delete等
2)DDL(数据定义语言)
用于在数据库系统中创建数据库、表、视图、索引等:create database、drop database等
3)DCL(数据控制语言)
用来控制存取许可、存取权限等: grant、revoke等
除此之外:还包括变量说明、内部函数等其他命令
2.1.2 对象资源管理器
如果不小心关掉了,在查看中可重新调出来
2.1.3 查询窗口相关
调试:双击代码前面会出现断点,然后点击小三角号,会进去调试状态
2.2 数据库相关概念及数据库命名规则
2.2.1数据库存储结构
物理存储结构:
数据库文件在磁盘上的存储形式
主数据文件: *.mdf 存储数据库的结构信息,存储部分或全部的数据,整个数据库只能有一个主数据文件
辅助数据文件:*.ndf 存储主数据文件没有存储的信息;可存在一个或多个,也可以没有
日志文件:*.ldf 记录DML操作;恢复损坏的数据库;整个数据库同样只能有一个日志文件
文件组:类似文件夹,主要是用来管理磁盘空间。分为主文件组Primary与次文件组FG,日志文件不属于任何文件组
逻辑存储结构:
由数据表、视图、索引等各种不同的数据库对象所组成,他们分别用来存储特定信息并支持特定功能
2.2.2数据库命名规则
1)第一个字符必须是字母或“_”、“@”、“#”
2)数据库名称不能是T-SQL的保留字
3)不允许嵌入空格或是其他特殊字符
2.2.3数据库分类
系统数据库:用来管理用户创建数据库的数据库,相当于中央管理机构。
master:记录SQL Server所有系统级别的信息,包括登录账户、系统配置、数据库存放位置、初始化信息等
model:模板数据库,为新创建数据库指定共同的模板
msdb:用来做SQL Server数据库的一些代理作业,以及数据库的备份及还原信息
tempdb:临时数据库,存储临时表和临时存储过程,程序结束后自动消失
resource:特殊的、隐藏的、只读的数据库,包含所有系统对象
用户数据库:用户自己创建的数据库
2.3使用视图创建数据库1
需求:使用管理器创建一个电子商城E_Market数据库,要求如下:(只有一个Primary文件组)
1)数据库的名称为E_Market:包含一个数据文件,初始容量大小为5MB,文件按15%自动增长,最大容量大小为100MB
2)一个日志文件,初始大小为1MB,不启用自动增长,所有文件都放在E:\Project目录下
2.3.1新建数据库
对象资源管理器-->数据库-->右键-->新建数据库
2.3.2新建数据库配置
1)名称:E_Market
2)数据库文件:按照需求配置
数据库大小:最小为3M
配置结束后,点击“确定”按钮,然后在对象资源管理器中选中数据库右键-->刷新,新建的数据库会显示在数据库的界面
数据文件:
2.3.3修改新建数据库属性
1)兼容性
选中E_Market数据库右键-->选择属性-->选项-->兼容级别(高版本的数据库可以兼容低版本的数据库),此处选择默认即可
2)限制访问
multi_user:默认配置,表示数据库在同一时刻允许多个用户同时访问数据库
Single_user:表示一次只允许一个用户访问数据库,系统维护数据库时选择该用户
Restricted_user:表示只有管理员或者特定的人员才可以访问数据库
3)文件组
当前只有一个Primary文件组
4)只读数据库设置
如果数据库设置为只读,那么该数据库写入数据,只能被查询
2.3.4创建数据库时需要指定的属性
1)文件名称、存放位置、分配的初始空间、属于哪个文件组
2)文件增长:可以按百分比或实际大小指定增长速度
3)文件容量设置:可以指定文件增长的最大值或不受限
4)兼容级别:版本号
5)数据库是否只读:默认False
6)限制访问:Multi_User(正常状态)
Single_User(维护操作状态)
Restricted_User(管理员与特定人员使用)
2.4使用视图创建数据库2
需求:使用对象资源管理器创建一个DemoDB,要求如下:
1)数据库的名称为DemoDB:包含一个数据文件,初始容量大小为10MB,文件按10%自动增长,最大容量大小为500MB
2)第二个文件组FG(次文件组),辅助数据文件为FG_DemoDB,初始大小为10MB,不启用自动增长
3)一个日志文件,初始容量大小为5MB,不启用自动增长,所有文件都放在E:\Project目录下
2.4.1新建数据库
对象资源管理器-->数据库-->右键-->新建数据库
2.4.2新建数据库配置
1)名称:DemoDB
2)数据库文件:按照需求配置
首先新建次文件组FG
主文件组后面默认选项框对号表示:如果不选择文件组,默认添加文件均放在主文件组
然后再点击常规,配置新建数据库
配置完成后,点击确定,完成数据库的创建
2.5使用SQL语句创建数据库1
创建一个数据文件:E_Market_data.mdf和一个日志文件:E_Market_log.ldf的数据库
注意:括号内语句每一行要以英文逗号结尾,最后语句不加
USE master --指向当前使用的数据库
GO --批处理标志
--删除数据库
IF EXISTS(SELECT * FROM sysdatabases WHERE name = 'E_Market')
DROP DATABASE E_Market
GO
CREATE DATABASE E_Market --创建E_Market数据库
ON PRIMARY --主文件组
(
NAME = 'E_Market_data', --主文件逻辑文件名
FILENAME = 'E:\Project\E_Market_data.mdf', --主文件物理文件名
SIZE = 5MB, --主文件初始大小
MAXSIZE = 100MB, --主文件增长最大值
FILEGROWTH = 15% --主文件的增长率
)
LOG ON --日志文件
(
NAME = 'E_Market_log', --日志文件逻辑文件名
FILENAME = 'E:\Project\E_Market_log.ldf', --日志物理文件名
SIZE = 5MB, --日志初始文件大小
FILEGROWTH = 0 --未启用自动增长
)
GO
创建完成后,刷新数据库就会看到新建的数据库了
使用sysdatabases表查询刚刚创建的数据库:
SELECT * FROM SYSDATABASES;
2.6使用SQL语句创建数据库2
创建多个数据文件和多个日志文件
USE master
GO
CREATE DATABASE E_Market
ON PRIMARY --主文件组
(
NAME = 'E_Market_data',
FILENAME = 'E:\Project\E_Market_data.mdf',
SIZE = 10MB,
FILEGROWTH = 10%,
MAXSIZE = 500MB
), --第一个文件组结束
FILEGROUP FG --创建了一次次文件组FG, 第二个文件组(次文件组)
(
NAME = 'FG_E_Market_data',
FILENAME = 'E:\Project\FG_E_Market_data.ndf',
SIZE = 10MB,
FILEGROWTH = 0
)
--日志文件不属于任何文件组
LOG ON
(
NAME = 'E_Market_log',
FILENAME = 'E:\Project\E_Market_log.ldf',
SIZE = 5MB,
FILEGROWTH = 0
),
--日志2的具体描述
(
NAME = 'E_Market_log1',
FILENAME = 'E:\Project\E_Market_log1.ldf',
SIZE = 5MB,
FILEGROWTH = 0
)
GO
执行完以上新建数据库的sql后,会在相应的路径下创建相应的数据文件
2.7使用SQL语句创建数据库3
向现有数据库中添加文件组和数据文件
2.7.1视图下添加文件组和数据文件
新建文件组:选中相应的数据库,点击右键属性,选择文件组,然后点击添加,新建FG2文件组
新建数据文件:
选中相应的数据库,点击右键属性,选择文件,点击添加,新建文件E_Market_data3,文件名不用填,系统会默认指定文件名
2.7.2使用sql语句添加文件组和数据文件
USE E_Market
GO
--添加文件组
ALTER DATABASE E_Market ADD FILEGROUP FG1
GO
--为新建的文件组FG1添加数据文件
ALTER DATABASE E_Market ADD FILE
(
NAME = 'FG1_E_Market_data',
FILENAME = 'E:\Project\FG1_E_Market_data.ndf',
SIZE = 5MB,
FILEGROWTH = 10%
) TO FILEGROUP FG1
GO
--将FG1文件组设为默认文件组
ALTER DATABASE E_Market
MODIFY FILEGROUP FG1 DEFAULT
2.8删除数据库
2.8.1视图下删除数据库
选中要删除的数据库,右键删除,删除数据库后,会连带删除主数据文件+次数据文件+日志文件
注意选择关闭现有连接
2.8.2 SQL删除数据库
USE master
GO
--删除数据库
IF EXISTS(SELECT * FROM sysdatabases WHERE name = 'E_Market')
DROP DATABASE E_Market
GO
SQL Server2008数据库管理 (第二部分)相关推荐
- SQL Server2008数据库用户管理 (第三部分)
3.1创建SQL Server数据库登录名 打开数据库管理器->安全性->登录名->右键选择新建登录名 1)Windows身份验证 选中Windows身份验证,点击搜索,在下面的提示 ...
- Sql Server2008安装图解
Sql Server2008安装图解 软件下载地址:http://pan.baidu.com/s/1bnjg3H9 1.我的安装版本: 解压目录: 2.双击setup.exe: 点击左面面板的 安装选 ...
- ASP.NET(基于C#)及Sql Server2008网页项目学习总结
使用总结 1.前语 2.DataList(或FormView.GridView--中Button绑定)(可用于管理员界面.用户删除.编辑已发布内容的事件) 3.局部刷新的使用(基于ScriptMana ...
- 安装sql server2008踩坑记录
文章目录 前言 一.第一个坑:net framework3.5框架安装不上 二.第二个坑:计算机名与用户名一样,安装失败 总结 前言 本文记录本人安装sql server2008的辛酸血泪史. 本来是 ...
- SQL Server2008附加数据库之后显示为只读
SQL Server2008附加数据库之后显示为只读时解决方法 啰嗦的话就不多说了,直入主题吧! 方案一: 碰到这中情况一般是使用的sa账户登录的,只要改为Windows身份验证,再附加数据库即可搞定 ...
- SQL SERVER2008 镜像
两台服务器,没有域环境,如何配置SQL SERVER2008镜像呢? 详细过程如下: SQL 2008配置有证书镜像的步聚共有四步: 1. 配置出站连接:创建主秘钥.证书和端点,备份证书 ...
- SQL Server2008(一)简介
数据库系统是由数据库及其管理软件组成的系统,大家常把与数据库有关的硬件和软件系统称为数据库系统. SQL Server2008关系数据库的规范化:关系数据库中的每一个关系都要满足一定的规范.根据满足规 ...
- SQL Server2008附加数据库之后显示为只读时解决方法
SQL Server2008附加数据库之后显示为只读时解决方法 啰嗦的话就不多说了,直入主题吧! 方案一: 碰到这中情况一般是使用的sa账户登录的,只要改为Windows身份验证,再附加数据库即可搞定 ...
- 服务器2012r2系统安装数据库,数据库图文详解Windows Server2012 R2中安装SQL Server2008...
入手一台Windows Server2012云服务器,搭建一下服务环境,选用SQL Server2008 直奔主题,下好安装镜像后,直接双击 选择运行程序而不获取帮助 如图: 进入安装中心后选择 安装 ...
最新文章
- 从产品经理向人工智能产品经理进阶 | 机器学习必备知识
- HiveSQL运行优化参数配置
- excel表格大学计算机知识,大学计算机基础excel电子表格
- Leetcode 1559二维网格图中探测环 技巧DFS|剪枝
- 【Docker学习笔记(五)】小结
- MATLAB高斯平顶化,一种高斯光束变换为平顶光束整形透镜的粒子群设计方法与流程...
- ACM解题总结——HihoCoder1200 (微软笔试题)
- Android实现抖音无水印视频
- HDU:2055 An easy problem
- Excel批量设置数字转化成“以文本形式存储的数字”
- 一个程序员是如何蜕变为投资人的?
- JavaScript基础随笔
- 自动驾驶--高精地图技术
- 1分钟让别人喜欢你(二)
- Python数据分析6——数据规整
- 一个大学生从月薪3500到700万和他的情感经历
- 案例-站狼云品智美站助力必信空调中国制造领先品牌
- pyqt5做了一个无线网连接器,与君共勉
- 【附源码】计算机毕业设计JAVA罪犯信息管理系统
- open_nsfw: 雅虎基于Caffe的成人图片识别模型
热门文章
- linux内核那些事之物理内存模型之FLATMEM(1)
- 保存blob为本地文件
- Vue2+WebPack2使用css/sass+postcss的autoprefixer
- 中文select 加载完成后再排序
- 开源Blog系统-欧式风格家具网站源码v1.5.4
- WPSmushProv3.7.0图片上传压缩插件-WordPress图像优化插件
- 百度SEO快克工具包 1.5.0 官方版
- LeetCode160 | Intersection-of-two-linked-lists
- oracle 高效函数,Oracle分组函数之高效的ROLLUP
- rust 睡袋怎么用_婴儿晚上用睡袋好吗?带过娃的告诉你正确答案!