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 ...
随机推荐
- T-SQL的存储过程
1.简介 存储过程可以说是一个记录集,它是由一些T-SQL语句组成的代码块,这些T-SQL语句代码像一个方法一样实现一些功能(对单表或多表的增删改查),然后再给这个代码块取一个名字,在用到这个功能的时 ...
- golang中gomodule讲解
0. GOMODULES模式 1. GOPATH的缺点 1. 无版本控制概念 2. 无法同步一致第三方版本号 3. 无法指定当前项目引用的第三方版本号 2. go1.11版本之后可以使用GoModul ...
- gin中的多模板和模板继承的用法
1. 简单用法 package main import ( "github.com/gin-contrib/multitemplate" "github.com/gin- ...
- 集合框架-HashSet存储自定义对象
1 package cn.itcast.p4.hashset.test; 2 3 import java.util.HashSet; 4 import java.util.Iterator; 5 6 ...
- 科技爱好者周刊(第 175 期):知识广度 vs 知识深度
这里记录每周值得分享的科技内容,周五发布. 本杂志开源(GitHub: ruanyf/weekly),欢迎提交 issue,投稿或推荐科技内容. 周刊讨论区的帖子<谁在招人?>,提供大量程 ...
- UncLutter
在 Mac 上「速记」的正确姿势:Unclutter 现代人的大脑,每天都会被大量有用,或无用的东西充斥着,过多「思想垃圾」的沉重负担就容易导致失忆.也就是说,你很可能会记得一个无关紧要,但给你留下深 ...
- How to check in Windows if you are using UEFI
You might be wondering if Windows is using UEFI or the legacy BIOS, it's easy to check. Just fire up ...
- 学习JAVAWEB第十五天
今天跟着视频做一个简单的登录界面用到javabean,servlet,数据库等知识,还没做完,明天接着做.
- 你需要的Grid布局入门教程
一.Grid布局概述 首先,Grid 布局与 Flex布局 有一定的相似性,都可以指定容器内部多个项目的位置.但是,Grid 布局远比 Flex 布局强大! Flex 布局是轴线布局,只能指定&quo ...
- http中的8种请求介绍
HTTP协议的8种请求类型介绍 HTTP协议中共定义了八种方法或者叫"动作"来表明对Request-URI指定的资源的不同操作方式,具体介绍如下: OPTIONS:返回服务器针对特 ...