SQL SERVER 学习过程(一)
还记得以前在学校的学习过数据库SQL SERVER 2008 R2 的教程,从学校毕业出来后的哪家单位基本没怎么使用过数据库,现在也忘得差不多了
做些相关的练习熟悉熟悉
--创建数据库--
create database Archive2 -- 创建Archive2数据库--
on
primary (name=Arch21,
filename='D:\Program Files\Microsoft SQL Server\MSSQL11.MYSQLSERVER\MSSQL\DATA\archdat21.mdf',
size=100mb,
maxsize=200,
filegrOwth=20) -- 设置存放路径,数据库大小增长量大小--
log on (name=ArchLOG,
FILENAME='D:\Program Files\Microsoft SQL Server\MSSQL11.MYSQLSERVER\MSSQL\DATA\ARCHDAT_LOG.LDF',
SIZE =10MB,
MAXSIZE=20,
FILEGROWTH=2) -- 设置log文件存放路径以及大小和增长量--
GO
--向数据库中增加指定文件组命令--
alter database Archive2
add filegroup filegroup
--修改文件组属性--
alter database Archive2
modify filegroup filegroup name=filegroup1
go
--删除文件组--
alter database Archive2
REMOVE FILEGROUP filegroup1
--向数据库中添加文件--
/*在数据库中添加Arch2,初始大小100MB,最大文件大小为200MB,每次文件自动增长大小为20MB*/
alter database Archive2
add file
(name= Arch2,
filename='D:\Program Files\Microsoft SQL Server\MSSQL11.MYSQLSERVER\MSSQL\DATA\Arch2.mdf',
size =100mb,
maxsize=200,
filegrowth=20 )
go
--向指定文件组中添加文件--
/*使用to filegroup 关键字向指定的文件组中添加数据文件,子啊数据库中Archive2中添加数据组file group1,
然后在这个数据组中添加文件Arch3,并设置数据库文件大小,增长值,最大值,路径等*/
alter database Archive2
add filegroup filegroup1
go
alter database Archive2
add file
(name=Arch3,
filename='D:\Program Files\Microsoft SQL Server\MSSQL11.MYSQLSERVER\MSSQL\DATA\archdat3.mdf',
size=100mb,
maxsize=200,
filegrowth=10)
to filegroup filegroup1
go
--向数据库中添加日志文件及其定义,名称为Archive_log,初始大小为10MB,最大文件为100MB,每次文件自动增长2MB--
alter database Archive2
add log file
(name=Archive_log,
filename='D:\Program Files\Microsoft SQL Server\MSSQL11.MYSQLSERVER\MSSQL\DATA\Archive_log.mdf',
size=10mb,
maxsize=100,
filegrowth=2)
go
--修改数据库中的文件--
/*修改Arch2的大小为150MB*/
alter database Archive2
modify file
(name=Arch2,
size=150mb)
go
--如果空间不足可以使用下面方法,将数据库移动到其他位置,需要目录存在,--
alter database Archive2
modify file
(name=Arch2,
filename = N'D:\Microsoft SQL Server\DATA\archdat21.ndf')
go
--删除数据库中的文件,删除Archive2中数据文件Arch3--
alter database Archive2
remove file Arch3
go
--从系统视图中 sys.database_files 中获取当前数据库文件中的信息--
use Archive2
go
select * from sys.database_files
go
-- 收缩指定的数据库文件,这里收缩Archive2中的Arch2的文件收缩至50MB--
use Archive2
go
dbcc shrinkfile(Arch2,50)
go
--演示使用emptyfile关键字清除数据库文件,将数据库Archive2中的文件Arch21清空--
use Archive2
go
dbcc shrinkfile(Arch21,emptyfile)
go
alter database Archive2
remove file Arch21
go
--设置自动收缩数据库选项--
--auto_shrink 设置为on,则定期自动启动收缩数据库的功能,防止书看剧苦单个文件过大--
alter database Archive2
set auto_shrink on
--重命名数据库,前提先设置数据库为单用户模式,且无人在访问,将Archive2改为Archive --
sp_renamedb 'Archive2','Archive'
--删除数据库--
drop database Archive
--移动用户数据库--
/* 先将数据库设置为离线 */
use Archive
alter database Archive SET offline
--移动文件到其他位置,例如:将Archive.mdf移动到d:\MySQL\data\file目录下
alter database Archive modify file (name=Archive,filename='d:\MySQL\data\file\Archive.mdf')
--设置数据库为在线状态--
alter database Archive set online
/*在表的逻辑结构中,每一行代表一条数据,每一列代表表中的一个字段,列的定义决定了表的结构,行则是表中的数据
列就是字段,每个表中最多可以存在1024个列,需要指定数据类型
表分为永久表和临时表,数据通常存放在永久表中,用户不删除则一直存在,临时表存放在tempdb中,不再使用,系统自动删除
临时表分为:本地临时表和全局临时表
本地临时表以#符号开头,当前连接用户可见,断开连接后,自动删除
全局临时表以##符号开头,全局临时表对所有连接数据库的用户都有效,断开连接后,自动删除
*/
--表约束--
/*设计数据库时需要考虑数据完整性,要求某个字段必须存在,否则会造成数据库中存在大量无效数据库
表约束提供一种强制实现数据库完整性条件的机制,它包含主键约束、唯一性约束、检查约束、默认约束、外键约束
--主键(PRIMARY KEY)约束--
主键是一列或一组列,其值可以唯一地标识表中的每一行,也就是说每一行的主键各不相同,这样就可以通过主键的值返回过来确定每一行。
在创建和修改表时,可以定义主键约束。主键列的值不允许为空。
--唯一性(UNIQUE)约束--
唯一性约束可以保证除主键外的其他若干列的数据唯一性,以防止在列中输入重复的值。
一个表中可以定义多个唯一性约束,而主键约束只有一个。
--检查(CHECK)约束--
检查约束指定表中若干可以接受的数据值或格式,如果记录不满足约束检查,则不将其插入到表中
--默认(DEFAULT)约束--
默认约束可以为指定列定义一个默认值,在输入数据时,如果没有输入该列的值,则该列的值就是默认列的值
--外键(FOREIGN KEY)约束--
外键约束则是用于建立和加强两个表数据之间的连接,通过将表中的主键列添加到另一个表中,可创建两个表之间的连接。
这个主键列就是第二个表的外键。外键约束可以确保添加到外键表中的任何行在主表中都存在相应的行。
*/
--视图--
/*视图相当于把对表的查询保存起来,视图中保存的是不是数据,而是查询表的select语句
视图兼有表和查询的特点;与查询相类似的是,视图可以用来从一个或多个相关联的表或视图中提取有用信息;与表相类似的是,
视图可以用来更新其中的信息,并将更新结果永久保存在磁盘上.我们可以用视图使数据暂时从数据库中分离成为游离数据,
以便在主系统之外收集和修改数据.*/
SQL SERVER 学习过程(一)的更多相关文章
- SQL SERVER XML 学习总结
SQL SERVER XML 学习总结 最新的项目任务要做一个数据同步的功能,这些天都在做技术准备,主要是用到了微软的Service Broker技术,在熟悉使用该技术的同时,又用到了Sql s ...
- SQL Server AlwaysON从入门到进阶(1)——何为AlwaysON?
本文属于SQL Server AlwaysON从入门到进阶系列文章 本文原文出自Stairway to AlwaysOn系列文章.根据工作需要在学习过程中顺带翻译以供参考.系列文章包含: SQL Se ...
- SQL Server进阶(十一)临时表、表变量
临时表 本地临时表 适合开销昂贵 结果集是个非常小的集合 -- Local Temporary Tables IF OBJECT_ID('tempdb.dbo.#MyOrderTotalsByYe ...
- 数据库技术丛书:SQL Server 2016 从入门到实战(视频教学版) PDF
1:书籍下载方式: SQL Server2016从入门到实战 PDF 下载 链接:https://pan.baidu.com/s/1sWZjdud4RosPyg8sUBaqsQ 密码:8z7w 学习 ...
- 最近帮客户实施的基于SQL Server AlwaysOn跨机房切换项目
最近帮客户实施的基于SQL Server AlwaysOn跨机房切换项目 最近一个来自重庆的客户找到走起君,客户的业务是做移动互联网支付,是微信支付收单渠道合作伙伴,数据库里存储的是支付流水和交易流水 ...
- SQL Server 大数据搬迁之文件组备份还原实战
一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 解决方案(Solution) 搬迁步骤(Procedure) 搬迁脚本(SQL Codes) ...
- Sql Server系列:分区表操作
1. 分区表简介 分区表在逻辑上是一个表,而物理上是多个表.从用户角度来看,分区表和普通表是一样的.使用分区表的主要目的是为改善大型表以及具有多个访问模式的表的可伸缩性和可管理性. 分区表是把数据按设 ...
- SQL Server中的高可用性(2)----文件与文件组
在谈到SQL Server的高可用性之前,我们首先要谈一谈单实例的高可用性.在单实例的高可用性中,不可忽略的就是文件和文件组的高可用性.SQL Server允许在某些文件损坏或离线的情况下,允 ...
- 从0开始搭建SQL Server AlwaysOn 第一篇(配置域控)
从0开始搭建SQL Server AlwaysOn 第一篇(配置域控) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://www.cnb ...
随机推荐
- 【涨姿势】原来golang的case <-time.After(xxx)还有这样的坑
偶然看到这样一篇文章:<使用 pprof 排查 Golang 内存泄露>https://www.toutiao.com/i6881796351139676680/ 最后一段让我很疑惑: 修 ...
- golang中的标准库flag
Go语言内置的flag包实现了命令行参数的解析,flag包使得开发命令行工具更为简单. os.Args 如果你只是简单的想要获取命令行参数,可以像下面的代码示例一样使用os.Args来获取命令行参数. ...
- Hexo博客(Snail主题)搭建回顾概览
Hexo博客(Snail主题)搭建回顾概览 笔者搭建博客地址:https://saltyfishyjk.github.io 目录 Hexo博客(Snail主题)搭建回顾概览 Part 0 前言 写作背 ...
- numpy常用函数记录
np.square() 函数返回一个新数组,该数组的元素值为源数组元素的平方. 源阵列保持不变. 示例: import numpy as np a = np.array([[1, 2, 3], [4, ...
- python 小兵(4)之文件操作
文件操作 初始文件操作 使用Python来读写文件是非常简单的操作,我们使用open()函数来打开一个文件,获取到文件句柄,然后通过文件句柄就可以进行各种各样的操作了 根据打开方式的不同能够执行的操作 ...
- Linux性能优化实战(一)
一.优化方向 1,性能指标 从应用负载的视角出发,考虑"吞吐"和"延时" 从系统资源的视角出发,考虑资源使用率.饱和度等 2,性能优化步骤 选择指标评估应用程序 ...
- Transformer可解释性:注意力机制注意到了什么?
原创作者 | FLPPED 论文: Self-Attention Attribution: Interpreting Information Interactions Inside Transform ...
- AtCoder AGC002 简要题解
从今天开始,联赛之前大约要完成前 \(20\) 套 \(\rm AGC\),希望不要鸽. A 略 B 感觉这题比 \(\rm C\) 题难. 考虑对于每个时刻维护每个位置是否可能出现红球,那么一个时刻 ...
- Win10 提示凭证不工作问题
感谢大佬:https://cloud.tencent.com/developer/article/1337081 在公司局域网远程自己计算机的时候,突然无法远程了,提示"您的凭据不工作 之前 ...
- eclipse使用的步骤
eclipse使用的步骤: 第一步: 选择工作目录. 以后在Eclipse上面写的所有代码都是在工作目录上的. 第二步: 在Project Exploer 窗口上创建一个工程,以后我们写代码都是以工程 ...