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 ...
随机推荐
- 【刷题-LeetCode】275. H-Index II
H-Index II Given an array of citations sorted in ascending order (each citation is a non-negative in ...
- 【记录一个问题】linux + opencv + gpu视频解码,好不容易编译通过,运行又coredump了
1.首先编译了opencv + cuda 编译选项中使用了以下关于cuvid库的内容: //"nvcuvid" libraryCUDA_nvcuvid_LIBRARY:FILE ...
- java 方法实例
// 方法 public class Demo { public static void main(String[] args) { m(); m2(2); m3('3', 4); m4(4, 6); ...
- Clang-Format 个人常用配置
Clang-Format 个人常用配置 本文记录 Clang-Format 个人常用配置. 欲了解更多配置选项,可查阅 官方文档. BasedOnStyle: Google AccessModifie ...
- 学习Java第12天
今天所做的工作: 敲代码,按照教材进度,我已经"学完了",用引号引起来. 明天工作安排: 开始学习前台技术,边复习Java基础. 今日总结:Eclipse基本使用方法 Ctrl+A ...
- Working hard to know your neighbor's margins:Local descriptor learning loss论文笔记
Abstract 论文提出了一种新的训练方法,受到了 Lowe's matching criterion for SIFT的启发.这种新的loss,要比负责的正则方法更好.把这个新的loss方法结合L ...
- python pyautogui
使用pyautogui随机调用图库里的一张照片设置为壁纸,每天定时执行 代码 import time import pyautogui import random pyautogui.keyDown( ...
- Maven警告解决:Using platform encoding (UTF-8 actually)
感谢原文作者:Scorpip_cc 原文链接:https://www.jianshu.com/p/9c8c01f6bebc 执行Maven Install打包的时候,提示以下警告信息: [WARNIN ...
- 常用获取inflate的写法
1. //context:上下文, resource:要转换成view对象的layout的id, root:将layout用root(ViewGroup)包一层作为codify ...
- iis7下的php实现urlrewrite,并隐藏index.php
1 <rewrite> 2 <rules> 3 <rule name="OrgPage" stopProcessing="true" ...