手记 \ SQL Server 2012 数据库笔记

SQL Server 2012 数据库笔记

2016-10-25 16:29:33 123浏览 0评论

第一章 初识SQL Server2012

1.2、作为SQL Server的最新版本,SQL Server 2012具有以下激动人心的新功能.
1、AlwaysOn。
2、Columnstore索引。
3、DBA自定义服务器权限。
4、Windows Server Core支持。
5、Sequence Objects。
6、PowerView。
7、增强的审计功能。
8、增强的PowerShell支持。
9、分布式回放(Distributed Replay)。
10、SQL Azure增强。

1.3 SQL Server 2012的组成
1.3.1、SQL Server数据库引擎
1.3.2、分析服务(Analysis Services)
1.3.3、集成服务(Integration Services)
1.3.4、报表服务(Reporting Services)

第二章 数据库的操作

2.1 数据库的组成
2.1.1、数据文件
2.1.2、日志文件

2.2 系统数据库
2.2.1、master数据库
2.2.2、model数据库
2.2.3、msdb数据库
2.2.4、tempdb数据库

2.3 创建数据库
2.3.1、使用对象资源管理器创建数据库
2.3.2、使用Transact-SQL创建数据库

SQL命令创建
CREATE DATABASE [sample_db] ON PRIMARY
(
NAME = 'sample_db',
FILENAME = 'C:\SS2012Data\sample.mdf',
SIZE = 5120KB,
MAXSIZE = 30MB,
FILEGROWT = 5%
)
LOG ON
(
NAME = 'sample_log',
FILENAME = 'C:\SQL Server 2012\sample_log.ldf',
SIZE = 1024KB,
MAXSIZE = 8192KB,
FILEGROWTH = 10%
)
GO

2.4管理数据库
2.4.1、修改数据库
2.4.2、查看数据库信息
2.4.3、数据库更名
2.4.4、删除数据库

第三章

3.1、SQL Server数据库对象
数据库对象是数据库的组成部分,数据表、视图、索引、存储过程以及触发器等都是数据库对象。

3.2、创建数据表
3.2.1、数据类型
3.2.2、使用对象资源管理器创建表
3.2.3、使用Transact-SQL创建表

3.3、管理数据表
3.3.1、修改表字段
3.3.2、修改表约束
3.3.3、查看表中有关信息
3.3.4、删除表

第四章 Transact-SQL语言基础

4.1、Transact-SQL概述
4.1.1、什么是Transact-SQL
4.1.2、T-SQL语法的约定

4.2、如何给标识符起名
1.标识符分类
2.规则标识符
3.界定标识符
4.标识符规则
5.对象命名规则
6.实例的命名规则

4.3、常量
4.3.1、数字常量
4.3.2、字符串常量
4.3.3、日期和时间常量
4.3.4、符号常量

4.4、变量
4.4.1、全局变量
查看服务器的版本和名称
Select @@version as 'SQL Server版本',@@servername as '服务器名称'

4.4.2、局部变量
Declear @MyCounter int;
4.4.3、批和脚本

4.5、运算符和表达式
4.5.1、算术运算符
4.5.2、比较运算符
4.5.3、逻辑运算符
4.5.4、连接运算符
4.5.5、按位运算符
4.5.6、运算符的优先级
4.5.7、什么是表达式
4.5.8、Transact-SQL表达式的分类

4.6、Transact-SQL利器------通配符
通配符
说明
例子
匹配值示例
%
匹配任意长度的字符,甚至包括零字符
'f%n'匹配字符前面有任意个字符f
fn,fan,faan,abcn

匹配任意单个字符
'b
'匹配以b开头长度为两个字符的值
ba,by,bx,bp
[字符集合]
匹配字符集合中的任何一个字符
'[xz]'匹配x或者z
dizzy,zebra,x-ray,extra
[^]或[!]
匹配不再括号中的任何字符
'[^abc]'匹配任何不包含a,b,或者c的字符串
desk,fox,f8ke

4.7、Transact-SQL语言中的注释

1、单行注释
单行注释以两个减号“--”开始,作用范围是从注释符号开始到一行的结束
例如:--create table temp
--(id int promary key,hobby varchar(100) null)
2、多行注释
多行注释作用于某一代码块,该种注释使用斜杠星型(/*/),使用到这种注释时,编译器将忽略从(/)开始后面的所有内容,直到遇到(/)为止。
例如:
/
create table temp
--(id int promary key,hobby varchar(100) null)*/

第八章 规则、默认和完整性约束

8.1、规则和默认概述
规则是对存储的数据表的列或者用户定义数据类型中的值的约束,规则与其作用的表或用户定义数据类型是相互独立的,也就是说,对表或用户定义数据类型的任何操作与对其设置的规则不存在影响。
8.2、规则的基本操作
8.2.1、创建规则
8.2.2、把自定义规则绑定到列 (定义规则)

8.2.3、验证规则作用 (绑定规则)

向数据表中添加一条字段score的值为101数据,
![图片描述][3]
8.2.4、取消规则绑定 (取消规则绑定)
![图片描述][4] 8.2.5、删除规则 (删除规则) 正在使用的规则是删除不了的
![图片描述][5]

8.3、默认的基本操作
8.3.1、创建默认
8.3.2、把自定义默认绑定到列
8.3.3、验证默认作用
8.3.4、取消默认绑定
8.3.5、删除默认
8.4、完整性约束

第九章 创建和使用索引
9.1、索引的含义和特点
数据库中现在有2万条记录,现在要执行这一个查询:select * from table where num =10000
如果没有索引,必须遍历整个表,直到num等于10000的这一行被找到为止;如果在num列上创建索引,SQL
Server不需要任何扫描,直接在索引里面找10000,就可以得知这一行的位置。可见,索引的建立可以加快数据库的查询速度。
9.2、索引的分类
不同数据库中提供了不同的索引类型,SQL Server中的索引有两种:聚集索引和非聚集索引。聚集索引和非聚集索引的区别是在物理数据的存储方式上。
9.3、索引的设计原则
(1)索引并非越多越好,一个表中如有大量的索引,不仅占用磁盘空间将增大,而且会影响insert、delete、update等语句的性能。因为当表中的数据更改的同时,索引也会进行调整和更新。
(2)避免对经常更新的表进行过多的索引,并且索引中的列尽可能少。而对经常用于查询的字段应该创建索引,但要避免添加不必要的字段。
(3)数据量小的表最好不要使用索引,由于数据较少,查询花费的时间可能比遍历索引的时间还要短,索引可能不会产生优化效果。
(4)在条件表达式中经常用到的不同值较多的列上建立索引,在不同值少的列上不要建立索引。比如在学生表的“性别”字段上只有“男”与“女”两个不同值,因此就无必要建立索引。如果建立索引不但不会提高查询效率,反而会严重降低更新速度。
(5)当唯一性事某种数据本身的特征时,制定唯一索引。使用唯一索引能够确保定义的列的数据完整性。提高查询速度。
(6)在频繁进行排序或分组(即进行group by或order by操作)的列上建立索引,如果待排序的列有多个,可以在这些列上建立组合索引。
9.4、创建索引
9.5、管理和维护索引
9.5.1、显示索引信息
9.5.2、重命名索引
9.5.3、删除索引

第十一章 存储过程和自定义函数
11.1、存储过程概述
存储过程是SQL Server2012
系统创建的存储过程,它的目的在于能够方便地从系统表中查询信息,或者完成与更新数据库表相关的管理任务或其他的系统管理任务。Transact-SQL语句是SQL
Server 2012
数据库与应用程序之间的编程接口。在很多情况下,一些代码会被开发者重复的编写多次,如果每次都编写吸纳共同那个功能的代码,不但繁琐,容易出错,而且由于SQL
Server 2012逐条地执行语句会降低系统的运行效率。
11.2、存储过程分类
11.2.1、系统存储过程
11.2.2、自定义存储过程
11.2.3、扩展存储过程
11.3、创建存储过程
11.4、管理存储过程
11.5、扩展存储过程
11.6、自定义函数

相关标签:
SQL Server

 
2
人推荐

 

收藏

相关阅读

  • MySQL索引背后的数据结构及算法原理

  • 目前几种主流数据库软件的应用特点、适用范围各是什么?

  • 关于Java连接数据库,你知道有哪些?(征文)

  • 视图、索引、存储过程、事务、函数

  • mysql数据表有外键,应注意的几点(目前学习所获得的经验)


阳光下的海风
 
 
 
 
全部评论0

暂无评论

SimpleDaisy

JAVA开发工程师

生活需要激情

作者的热门手记

  • AngularJS 视频学习笔记

    265浏览
    2推荐
    1评论
  • C# LINQ (语言集成查询)

    108浏览
    1推荐
    1评论
 
 

Copyright © 2016 imooc.com All Rights Reserved | 京ICP备 13046642号-2

 

SQL Server 2012 数据库笔记的更多相关文章

  1. SQL SERVER 2012数据库:开启防火墙导致外部无法连接数据库解决办法

    SQL SERVER 2012数据库:开启防火墙导致外部无法连接数据库解决办法 将以下代码存为OpenSqlServerPort.bat文件: netsh advfirewall firewall a ...

  2. SQL SERVER 2012数据库自动备份的方法

    SQL SERVER 2012数据库自动备份的方法 为了防止数据丢失,这里给大家介绍SQL SERVER2012数据自动备份的方法: 一.打开SQL SERVER 2012,如图所示: 服务器类型:数 ...

  3. Sql Server 2012数据库的安装【自己一点一点敲的】

    Sql Server 2012数据库的安装 1.到微软官网上下载 下载链接为:https://www.microsoft.com/zh-cn/download/details.aspx?id=2906 ...

  4. Microsoft SQL server 2012数据库学习总结(一)

    一.Microsoft SQL Server2012简介 1.基本概要 Microsoft SQL Server 2012是微软发布的新一代数据平台产品,全面支持云技术与平台,并且能够快速构建相应的解 ...

  5. Microsoft SQL Server 2012 数据库安装图解教程

    本文部分引用以下文章: SQL Server 2012 安装图解教程(附sql2012下载地址)_MsSql_脚本之家 http://www.jb51.net/article/36049.htm SQ ...

  6. SQL Server 2012 数据库各个版本功能对比

    作为这篇SQL SERVER 2008数据库各版本功能对比 的姊妹篇,就写点SQL Server 2012 各个版本的区别以及物理以及逻辑上的限制. 个部分来分http://technet.micro ...

  7. Eclipse连接sql server 2012数据库编程一条龙

    一.java通过jdbc连接sql server 2012 原帖地址:http://blog.csdn.net/stewen_001/article/details/19553173/ 1.sql s ...

  8. Querying Microsoft SQL Server 2012 读书笔记:查询和管理XML数据 1 -使用FOR XML返回XML结果集

    XML 介绍 <CustomersOrders> <Customer custid="1" companyname="Customer NRZBB&qu ...

  9. SQL Server 2012 数据库数据导出为脚本

    转自:http://blog.csdn.net/ituff/article/details/8265822 将高版本的的SQL Server数据库移到低版本的SQL Server是一件十分蛋疼的事,最 ...

随机推荐

  1. redis连接超时报错

    应用程序连接redis超时,报错如下: ERROR DubboServerHandler-xxx.xx.xx.52:20880-thread-172 2016-12-21 15:25:20,429 c ...

  2. MyBatis Generator 详解 【转来纯为备忘】

    版权声明:版权归博主所有,转载请带上本文链接!联系方式:abel533@gmail.com   目录(?)[+] MyBatis Generator中文文档 运行MyBatis Generator X ...

  3. Java学习笔记 04 类和对象

    一.类和对象的概念 类 >>具有相同属性和行为的一类实体 对象 >>实物存在的实体.通常会将对象划分为两个部分,即静态部分和动态部分.静态部分指的是不能动的部分,被称为属性,任 ...

  4. HttpWatch的Result中出现Aborted的原因分析[配图]

    我们在使用HttpWatch进行Web调试的过程中有时候会看到非HTTP Status Code(状态码)的值,例如:(Aborted). (Aborted)是HttpWatch中定义的三种非HTTP ...

  5. && 和 ||的区别

    如果&&左侧表达式的值为真值,则返回右侧表达式的值:否则返回左侧表达式的值. 如果||左侧表达式的值为真值,则返回左侧表达式的值:否则返回右侧表达式的值. 1       如果第一个操 ...

  6. Navicat Premium下sql导入中文乱码解决方案

    今天帮忙朋友找bug的时候,准备导入她数据库里面的数据,所以我就试图在mysql管理工具Navicat下面导入相应的mysql命令.结果发现导入的中文字符全部变成乱码,所以做了如下这种尝试: 在“连接 ...

  7. vim中输入tab符

    今天在写Makefile时各种出错.后来发现是all:的下一行,make前面必须是tab符,不能是空格. 但是vim中只要按tab就会自动转换成4个空格.平时编程需要,也不便把这个设置取消. 查了下, ...

  8. ubuntu安装erlang

    照着园子里一篇博文安装erlang,各种错调不出来.最后发现官网有解决方案: https://www.erlang-solutions.com/downloads/download-erlang-ot ...

  9. centos 安装和配置 rabbitmq

    centos 安装 rabbitmq 1.rabbitmq是erlang语言开发的,安装前首先需要安装erlang# yum install erlang -y // 直接安装可能报错,# yum i ...

  10. 多线程GCD的基本使用以及注意点

    GCD的使用  一:队列    1.串行队列:添加到队列中的任务是一个一个执行的    2.并行(发)队列:添加到队列中的任务是多个同时执行的(一个队列中的多个任务可以同时执行)    3.主队列:里 ...