当前位置:   article > 正文

SQL SERER系统概述_sqlserver自带的数据库

sqlserver自带的数据库

SQL SERVER是一种类似于MYSQL的关系型数据库。

SQL SERVER系统简介

SQL SERVER系统数据库

SQL server自带5中数据库

1. master数据库

是SQL SERVER中最重要的数据库,记录了SQL SERVER系统的所有级别的信息。一旦master数据库被损坏,则系统无法正常启动。

2. tempdb数据库

tempdb数据库是一个临时的数据库,它保存所有的临时表、临时存储过程和临时操作结果。tempdb在SQL SERVER每次启动时都重新创建,运行时根据需要自动增长。

3. model数据库

model数据库用作在系统上创建的所有数据库的模板。当用户创建数据库时,新数据库第一部分通过复制model数据库中的内容创建,剩余部分空白部分填充。

4. msdb

msdb数据库给SQL SERVER代理提供必要的信息来运行作业。SQL SERVER代理是SQL SERVER中一个Windows服务,用于运行任何已创建的计划作业。作业是SQL SERVER中定义的自动运行的一系列操作,不需要任何人工干预来启动。

5.resource数据库

resource数据库是从SQL SERVER2005以来引入的新的数据库,是一个只读数据库,它包含SQL SERVER中的所有系统对象。

SQL SEREVR三个重要的系统表

1. sysdatabases

包含每个数据库的主要信息。

2. sysobjects

包含在数据库内创建的每个对象的信息。

  • 3.syscolumns

包含表、视图中的每列和存储过程中的每个参数的信息。

对于如上三个系统表,不做深入地解释每个表的字段意义,如果感兴趣可自行搜索。

TSQL

TSQL是属于一种SQL语言,专门用于SQL SERVER数据库进行交互。

SQL语言可分为如下三类:

1. 数据操作语言 DML(DataMasterLanguage)用于操作数据库中的数据

  • SELECT:用于对数据的检索
  • INSERT:用于对数据的插入
  • UPDATE:用于对数据的更新
  • DELETE:用于对数据的删除

2. 数据定义语言DDL(DataDefineLanguage) 用于操作数据库各种对象

  • CREATE:用于创建数据库对象
  • ALTER:用于修改数据库对象
  • DROP:用于删除数据库对象

3. 数据控制语言DCL(DataControlLanguage)用于控制数据库的权限和事务控制

  • GRANT:对于数据库对象授予相应的权限
  • REVOKE:对于数据库对象撤销相应的权限
  • COMMIT:提交事务
  • ROLLBACK:回滚事务

TSQL 语言基础

基本数据类型

符号意义范围
bigint长整型-2^63到2^63-1,占用8个字节
int整型-2^31到2^31-1,占用4个字节
smallint短整型-2^15到2^15-1,占用2个字节
tinyint微整形0到255,占用1个字节
非整数型
float多精度浮点型可精确到小数第15位,占用8字节
real单精度浮点型可精确到小数第7位,占用7位小数
布尔型
bit取值0、1、NULL三者之一TRUE为1,FALSE为0
日期类型
datetime存储日期和时间的结合体YYYY-MM-DD hh:mm:ss[.nnnnnnn] 占用8字节
date存储日期YYYY-MM-DD占用3字节

time

存储时间hh::mm:ss占用3-5个字节
字符串类型
char[n]固定长度字符类型固定长度,长度为n个字节,剩余用空格填充,多余截掉
varchar[n]可变长度字符类型可变长度,存储大小是数据的实际长度加2个字节,小于n不会用空格填充
text存储大量文本数据用于存储大量文本数据
unicode字符串类型
nchar[n]固定长度Unicode字符串型
nvarchar[n]可变长度Unicode字符串型。
二进制字符串类型
binary固定长度二进制数据类型
varbinary长度可变的二进制数据类型。

自定义变量类型

       用户自定义数据类型必须基于SQL SERVER基础数据类型。

  1. CREATE TYPE <类型名称>
  2. FROM <基类型>[(<精度>[,<位数>])]
  3. [NULL|NOT NULL]

常量

指在程序运行过程中保持不变的量。常量分为数值常量、字符串常量、日期和时间常量。

变量

指在程序运行中可以改变的量。分为全局变量和局部变量两类

全局变量:

全局变量由SQL SERVER系统预先定义好的变量,用户可以使用它的值但是不能自己定义全局变量。全局变量在任何地方都可以使用。全局变量名称前加符号"@@"。

全局变量名称

描述

@@CONNECTIONS

返回 SQL Server 自上次启动以来尝试的连接数。

@@CPU_BUSY

返回 SQL Server 自上次启动后的工作时间。

@@CURSOR_ROWS

返回连接上打开的上一个游标中的当前限定行的数目,

确定当其被调用时检索了游标符合条件的行数。

@@DATEFIRST

针对会话返回 SET DATEFIRST 的当前值,SET DATEFIRST 表示指定的

每周的第一天。

@@DBTS

返回当前数据库的当前 timestamp 数据类型的值,

这一时间戳值在数据库中必须是唯一的。

@@ERROR

返回执行的上一个 Transact-SQL 语句的错误号,

如果前一个 Transact-SQL 语句执行没有错误,则返回 0。

@@FETCH_STATUS

返回针对连接当前打开的任何游标发出的上一条游标 FETCH

语句的状态。

@@IDENTITY

返回上次插入的标识值。

@@IDLE

返回 SQL Server 自上次启动后的空闲时间。结果以 CPU 时间

增量或“时钟周期”表示,并且是所有 CPU 的累积。

@@IO_BUSY

返回自从 SQL Server 最近一次启动以来,Microsoft SQL Server

已经用于执行输入和输出操作的时间。其结果是 CPU 时间增量

(时钟周期),并且是所有 CPU 的累积值

@@LANGID

返回当前使用的语言的本地语言标识符 (ID)。

@@LANGUAGE

返回当前所用语言的名称。

@@LOCK_TIMEOUT:

返回当前会话的当前锁定超时设置(毫秒)。

@@MAX_CONNECTIONS

返回 SQL Server 实例允许同时进行的最大用户连接数。

返回的数值不一定是当前配置的数值。

@@MAX_PRECISION

按照服务器中的当前设置,返回 decimal 和 numeric 数据类型

所用的精度级别。

@@NESTLEVEL

返回对本地服务器上执行的当前存储过程的嵌套级别(初始值为 0)。

@@OPTIONS

返回有关当前 SET 选项的信息。

@@PACK_RECEIVED

返回 SQL Server 自上次启动后从网络读取的输入数据包数。

@@PACK_SENT

返回 SQL Server 自上次启动后写入网络的输出数据包个数。

@@PACKET_ERRORS

返回自上次启动 SQL Server 后,在 SQL Server 连接上发生的网络

数据包错误数。

@@PROCID

返回 Transact-SQL 当前模块的对象标识符 (ID)。Transact-SQL

模块可以是存储过程、用户定义函数或触发器。

@@REMSERVER

返回远程 SQL Server 数据库服务器在登录记录中显示的名称。

@@ROWCOUNT

返回受上一语句影响的行数。

@@SERVERNAME

返回运行 SQL Server 的本地服务器的名称。

@@SERVICENAME

返回 SQL Server 正在其下运行的注册表项的名称。若当前实例为

默认实例,则 @@SERVICENAME 返回 MSSQLSERVER。

@@SPID

返回当前用户进程的会话 ID。

@@TEXTSIZE

返回 SET 语句中的 TEXTSIZE 选项的当前值。

@@TIMETICKS

返回每个时钟周期的微秒数。

@@TOTAL_ERRORS

返回 SQL Server 自上次启动之后所遇到的磁盘写入错误数。

@@TOTAL_READ

返回 SQL Server 自上次启动后读取磁盘(不是读取高速缓存)的次数。

@@TOTAL_WRITE

返回 SQL Server 自上次启动以来所执行的磁盘写入次数。

@@TRANCOUNT

返回当前连接的活动事务数。

@@VERSION

返回当前的 SQL Server 安装的版本、处理器体系结构、生成日期

和操作系统。

局部变量

局部变量为用户自定义变量,它的作用范围仅在程序内部。

声明局部变量

DECLARE <@变量名称> <变量类型>[,<@变量名称> <变量类型> ...]

赋值局部变量

  1. SELECT <@局部变量>=<变量值> |
  2. SET <@局部变量>=<变量值>

 输出语句

  1. PRINT <文本串>|<@变量名称>|<@@变量名称>|<字符串表达式>
  2. | SELECT <变量名> [AS '别名'][,...N]

TSQL中常用的运算符同标准SQL。不再赘述

写此篇博客意为记录分享学习技术上所学内容,作者能力有限,如有不足之处还请斧正。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/992619
推荐阅读
相关标签
  

闽ICP备14008679号