SQLServer记录文本.docx

上传人:b****1 文档编号:14244752 上传时间:2023-06-21 格式:DOCX 页数:25 大小:26.33KB
下载 相关 举报
SQLServer记录文本.docx_第1页
第1页 / 共25页
SQLServer记录文本.docx_第2页
第2页 / 共25页
SQLServer记录文本.docx_第3页
第3页 / 共25页
SQLServer记录文本.docx_第4页
第4页 / 共25页
SQLServer记录文本.docx_第5页
第5页 / 共25页
SQLServer记录文本.docx_第6页
第6页 / 共25页
SQLServer记录文本.docx_第7页
第7页 / 共25页
SQLServer记录文本.docx_第8页
第8页 / 共25页
SQLServer记录文本.docx_第9页
第9页 / 共25页
SQLServer记录文本.docx_第10页
第10页 / 共25页
SQLServer记录文本.docx_第11页
第11页 / 共25页
SQLServer记录文本.docx_第12页
第12页 / 共25页
SQLServer记录文本.docx_第13页
第13页 / 共25页
SQLServer记录文本.docx_第14页
第14页 / 共25页
SQLServer记录文本.docx_第15页
第15页 / 共25页
SQLServer记录文本.docx_第16页
第16页 / 共25页
SQLServer记录文本.docx_第17页
第17页 / 共25页
SQLServer记录文本.docx_第18页
第18页 / 共25页
SQLServer记录文本.docx_第19页
第19页 / 共25页
SQLServer记录文本.docx_第20页
第20页 / 共25页
亲,该文档总共25页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

SQLServer记录文本.docx

《SQLServer记录文本.docx》由会员分享,可在线阅读,更多相关《SQLServer记录文本.docx(25页珍藏版)》请在冰点文库上搜索。

SQLServer记录文本.docx

SQLServer记录文本

1.数据类型

类型

名称

取值范围

整数

bigint、

int、

smallint、

tinyint

(±922亿亿)8

(±21亿)4

(±32768)2

(0-255)1

位型

Bit

由0和1表示真、假。

货币型

money、smallmoney

(±922万亿)

(±21万),精确到万分之一。

十进制

Decimal、Numeric

±1038-1,最大位数38位

浮点数

float、

real

(±1.79E+308)(±3.40E+38)

日期

时间

Datetime、smalldatetime

1753.1.1-9999.12.31,精确到3.33毫秒

1900.1.1-2079.12.31,精确到分钟

单字节字符

char/varchar/text

定/变长单字节字符,最长8000;

Unicode字符

nchar/nvarchar/ntext

定/变长双字节字符,最长4000;

二进制数据

Binary/varbinary/image

定/变长二进制数据,最长8000;变长二进制数据

特殊

类型

timestamp

SQL活动的先后顺序。

uniqueidentifier

全局唯一标识

2.常量类型

类型

说明

例如

整型常量

没有小数点和指数E

60,25,-365

实型常量

decimal或numeric带小数点的常数,float或real带指数E的常数

15.63、-200.25

+123E-3、-12E5

字符串常量

单引号引起来

'学生','thisisdatabase'

双字节

字符串

前缀N必须是大写

单引号引起来

N'学生'

日期型常量

单引号(')引起来

'6/5/03','May122008','19491001'

货币型常量

精确数值型数据,前缀$

$380.2

二进制常量

前缀0x。

0xAE、0x12Ef、0x69048AEFDD010E

全局唯一

标识符

前缀0x

单引号(')引起来

0x6F9619FF8B86D011B42D00C04FC964FF

'6F9619FF-8B86-D011-B42D-00C04FC964FF'

3.SQL查询分析器常用快捷键

快捷键

功能

快捷键

功能

CTRL+A

全选

F3

重复查找

CTRL+C

复制

CTRL+H

替换

CTRL+V

粘贴

CTRL+SHIFT+L

使选定内容为小写

CTRL+X

剪切

CTRL+SHIFT+U

使选定内容为大写

CTRL+Z

撤消

CTRL+F5

分析查询并检查语法

TAB

增大缩进

F5

执行查询

SHIFT+TAB

减小缩进

ALT+BREAK

取消查询

CTRL+SHIFT+C

注释代码

F1

查询分析器帮助

CTRL+SHIFT+R

删除注释

SHIFT+F1

对所选SQL语句的帮助

CTRL+F

查找

F8

显示/隐藏对象浏览器

4.select无源查询,即在客户的屏幕上显示内容

SELECT常量|变量|函数|表达式[as别名][,…n]

5.变量是由用户定义并可赋值的实体。

变量有全局变量和局部变量两种。

局部变量用DECLARE语句声明,声明时它被初始化为NULL,并由SET语句或SELECT语句赋值,它只能用在声明该变量的过程实体中,即使用范围是定义它的批、存储过程和触发器等。

其名字由一个@符号开始。

定义:

DECLARE局部变量名数据类型[,…n]

赋值:

SET局部变量名=表达式[,…n]

如:

declare@整型变量int,@snvarchar(9)

set@整型变量=40

set@s='欢迎您到太原。

'

select@整型变量,@s

6.全局变量全局变量由SQLServer系统提供并赋值的变量,名字由@@符号开始。

用户不能建立全局变量,也不可能使用SET语句去修改全局变量的值。

通常应该将全局变量的值赋给在同一个批中的局部变量,以便保存和处理。

全局变量分为两类:

Ø与连接有关的全局变量,如:

@@rowcount影响的行数;

Ø与系统内部信息有关的全局变量。

如@@versionSQL的版本号。

SQL常用的全局变量

名称

说明

@@connections

返回当前到本服务器的连接的数目。

@@rowcount

返回上一条T-SQL语句影响的数据行数。

@@error

返回上一条T-SQL语句执行后的错误号。

@@procid

返回当前存储过程的ID号

@@remserver

返回登录记录中远程服务器的名字。

@@spid

返回当前服务器进程的ID标识。

@@version

返回当前SQLServer服务器的版本和处理器类型。

@@language

返回当前SQLServer服务器的语言。

7.函数可分系统定义函数和用户定义函数。

系统定义函数中最常用的是:

数学函数、字符串函数、日期时间函数、聚合函数、系统函数、系统统计函数。

数学函数:

函数

名称

ROUND(数字表达式,小数位数)

四舍五入

FLOOR(数字表达式)

整数函数(小于它的最大整数)

CEILING(数字表达式)

整数函数(大于它的最小整数)

RAND()

随机函数

字符串函数:

名称

函数

ASCII码

ASCII(字符表达式)

字符

CHAR(数字表达式)

统一代码

UNICODE(字符表达式)

字符

NCHAR(数字表达式)

小写

LOWER(字符表达式)

大写

UPPER(字符表达式)

长度

LEN(字符表达式)

空格

SPACE(数字表达式)

截取左字串

LEFT(字符表达式,整数)

截取右字串

RIGHT(字符表达式,整数)

截取中间字串

SUBSTRING(字符表达式,起始点,n)

求子串位置

CHARINDEX(字符表达式1,

字符表达式2,[开始位置])

剪去左空格

LTRIM(字符表达式)

剪去右空格

RTRIM(字符表达式)

重复字串

REPLICATE(字符表达式,n)

倒置字串

REVERSE(字符表达式)

数值转字串

STR(数字表达式)

日期时间函数

名称

函数

现在日期时间

GETDATE()

YEAR(日期型表达式)

MONTH(日期型表达式)

DAY(日期型表达式)

日期部分

DATEPART(格式串,日期型表达式)

日期加

DATEADD(格式串,数值,日期)

日期差

DATEDIFF(格式串,日期1,日期2)

聚合函数(除count外,其它的都忽略空值)

名称

最大

最小

求和

平均

计数

函数

MAX

MIN

SUM

AVG

COUNT

系统函数

函数

说明

APP_NAME

当前会话的应用程序名称

CURRENT_USER

当前的数据库用户。

USER_NAME

用户数据库用户名。

SESSION_USER

会话用户名

SYSTEM_USER

系统用户名

HOST_ID

工作站标识号。

HOST_NAME

工作站名称。

ISDATE

是否为有效的日期。

ISNULL

是否为NULL。

ISNUMERIC

是否为一个有效的数字类型。

@@ERROR

最后执行的T-SQL语句的错误代码。

@@TRANCOUNT

当前连接的活动事务数。

系统统计函数

函数

说明

@@CONNECTIONS

连接次数。

@@CPU_BUSY

CPU的工作时间

@@IDLE

闲置的时间

@@IO_BUSY

输入和输出的时间

@@TIMETICKS

返回一刻度的微秒

@@PACK_SENT

发送的数据包数

@@PACK_RECEIVED

接受的数据包数

@@PACKET_ERRORS

发生的数据包错误

@@TOTAL_WRITE

写入磁盘的次数

@@TOTAL_READ

读取磁盘的次数

@@TOTAL_ERRORS

磁盘读/写错误次数

8.逻辑运算

运算符

含义

AND

而且

OR

或者

NOT

否定

IN

在…之内

LIKE

匹配(像)

BETWEEN

在…之间。

EXISTS

存在

ALL

所有(都)

ANY

任一

SOME

有些

运算符优先级(从上到下,相同级从左到右)

类型

运算符

一元运算

+(正)、-(负)、~(按位NOT)

乘除模

*(乘)、/(除)、%(模)

加减串联

+(加)、(+串联)、-(减)

比较运算

=, >, <, >=, <=, <> 

位运算

^(位异或)、&(位与)、|(位或)

逻辑非

NOT

逻辑与

AND

逻辑或等

ALL、ANY、BETWEEN、IN、LIKE、OR、SOME

赋值

=

9.批是一个SQL语句集,这些语句一起提交并作为一个组来执行。

批结束的符号是“GO”。

由于批中的多个语句是一起提交给SQLSERVER的,所以可以节省系统开销。

使用批限制:

ØCREATEDEFAULT、CREATEPROCEDURE、CREATERULE、CREATETRIGGER和CREATEVIEW语句不能在批处理中与其它语句组合使用。

批处理必须以CREATE语句开始,所有跟在CREATE后的其它语句将被解释为第一个CREATE语句定义的一部分。

Ø在同一个批中不能既绑定到列又被使用规则或默认。

Ø在同一个批中不能删除一个数据库对象又重建它。

Ø在同一个批中不能改变一个表再立即引用其新列。

10.1.RETURN

RETURN的作用是无条件返回所在的批、存储过程和触发器。

退出时,可以返回状态信息。

在RETURN语句后面的任何语句不被执行。

RETURN语句的语法形式:

RETURN[整型表达式]

2.PRINT和RAISERROR

PRINT语句的作用是在屏幕上显示用户信息。

其语法形式为:

PRINT{’字符串’|局部变量|全局变量}

RAISERROR语句的作用是将错误信息显示在屏幕上,同时也可以记录在NT日志中。

其语法形式为:

RAISERROR(错误号|错误信息,错误的严重级别,错误时的状态信息)。

3.复合语句(BEGIN...END)

其语法形式为:

BEGIN

执行的SQL语句

END

4.CASE表达式

根据测试/条件表达式的值的不同,取其相应的值。

CASE

{WHEN条件表达式0THEN结果表达式0}[,...n]

[ELSE结果表达式n]

END

如:

declare@分数decimal

declare@成绩级别nchar(3)

set@分数=88

set@成绩级别=

case

when@分数>=90and@分数<=100then'优秀'

when@分数>=80and@分数<90then'良好'

when@分数>=70and@分数<80then'中等'

when@分数>=60and@分数<70then'及格'

when@分数<60then'不及格'

end

print@成绩级别

CASE测试表达式

{WHEN简单表达式0THEN结果表达式0}[,...n]

[ELSE结果表达式n]

END

如:

declare@分数decimal

declare@成绩级别nchar(3)

set@分数=88

set@成绩级别=

casefloor(@分数/10)

when10then'优秀'

when9then'优秀'

when8then'良好'

when7then'中等'

when6then'及格'

else'不及格'

end

print@成绩级别

5.判断语句(IF...ELSE)

语法:

IF条件表达式

SQL语句1

[ELSE

SQL语句2]

6.循环语句(WHILE)

WHILE语句的作用是为重复执行某一语句或语句块设置条件。

其语法形式为:

WHILE条件表达式

SQL语句|复合语句

说明:

[BREAK]、[CONTINUE]位于复合语句内,为可选项。

BREAK跳出循环之后执行、CONTINUE转到循环开始之处执行。

如:

计算1到100之间偶数的个数和偶数的总和

declare@scoreintdeclare@sumintdeclare@countint

set@score=1set@count=0set@sum=0

while@score<=100

begin

if@score%2=0

begin//当在控制流中需要用begin…end来代替其他语言中的花括号.

set@sum=@sum+@score

set@count=@count+1

end

set@score=@score+1

end

select@sum,@count

7.注释

多行注释:

/*……*/

单行注释:

--

SQL杂汇

1.创建数据库

CREATEDATABASE数据库名

[ON(NAME='逻辑文件名',

FILENAME='物理文件名.mdf')]

[LOGON(NAME='逻辑文件名_log',

FILENAME='物理文件名_log.ldf')]

如:

createdatabase教学成绩管理数据库

on

(name=教学成绩管理数据库,

filename='e:

\sql\教学成绩管理数据库.mdf',

size=1,

filegrowth=10%)

logon

(name=教学成绩管理数据库_log,

filename=‘e:

\sql\教学成绩管理数据库.ldf',

size=5,

filegrowth=10%)

2.查看数据库,以下四种:

sp_helpdb[数据库名]//显示一个数据库的信息

sp_databases//显示系统内所有可用的数据库

sp_helpfile[数据库名]

sp_helpfilegroup[文件组名]

3.修改数据库

ALTERDATABASE命令中分别用下列选项:

ADDFILE增加数据文件

REMOVEFILE删除数据文件

MODIFYFILE修改数据文件

ADDLOGFILE增加日志文件

REMOVELOGFILE删除日志文件

MODIFYLOGFILE修改日志文件

如:

--【例5.12】设置[教学成绩管理数据库]自动收缩。

alterdatabase教学成绩管理数据库setauto_shrinkon

4.删除数据库

DROPDATABASE数据库名[,…]

5.表的管理

创建表:

CREATETABLE数据表名(列名数据类型|列名AS计算列表达式[,...n])

显示表的结构:

sp_help[数据库对象名]

列的管理:

1添加列ALTERTABLE表名ADD列名列的描述

2删除列ALTERTABLE表名DROPCOLUMN列名[,…]

3修改列ALTERTABLE表名ALTERCOLUMN列名列的描述

示例:

altertable学生信息表altercolumn姓名nchar(4)notnull

删除表:

DROPTABLE表名

6.数据的管理

1.插入数据:

INSERT[INTO]表名[(列名1,…)]Values(表达式1,…)

2.更新数据:

UPDATE表名SET列名=表达式[WHERE条件]

3.删除数据:

DELETE表名[WHERE条件]或TRUNCATETABLE表名

4.图像、文本数据的管理:

代研究。

1.sp_tableoption'表名','textinrow','值'

sp_tableoption'学生简历照片表','textinrow','on'不大于256字节。

sp_tableoption'学生简历照片表','textinrow','1000'不大于1000字节

sp_tableoption'学生简历照片表','textinrow','off'不在行中存储

2.写入数据:

WRITETEXT表名.列名指针变量数据(TEXTPTR函数获得有效的文本指针值)

3.修改数据:

UPDATETEXT表名.列名指针变量NULL|位置NULL|长度数据

4.读出数据:

READTEXT表名.列名指针位置长度

7.小结

功能

语句

语法格式

数据库

创建数据库*

CREATEDATABASE数据库名

[ON(NAME='逻辑文件名',

FILENAME='物理文件名.mdf')]

[LOGON(NAME='逻辑文件名_log',

FILENAME='物理文件名_log.ldf')]

删除数据库*

DROPDATABASE数据库名

数据表

创建表*

CREATETABLE数据表名

(列名数据类型|列名AS计算列表达式

[,...n]

数据表

修改表

添加列

ALTERTABLE表名ADD列名列的描述

修改列

ALTERTABLE表名

ALTERCOLUMN列名列的描述

删除列

ALTERTABLE表名

DROPCOLUMN列名,…

删除表*

DROPTABLE表名

数据操作

插入数据*

INSERT[INTO]表名[(列名1,…)]

Values(表达式1,…)

修改数据*

UPDATE表名

SET列名=表达式

[WHERE条件]

删除数据*

DELETE表名[WHERE条件]

数据查询

1.select基本语法:

SELECT字段列表

[INTO目标数据表]

FROM源数据表或视图[,...n]

[WHERE条件表达式]

[GROUPBY分组表达式[HAVING搜索表达式]]

[ORDERBY排序表达式[ASC]|[DESC]]

[COMPUTE行聚合函数名(表达式)[,...n]

[BY表达式[,...n]]]

2.聚合函数

函数名

功能

sum()

对数值型列或计算列求总和

avg()

对数值型列或计算列求平均值

min()

返回一个数值列或数值表达式的最小值

max()

返回一个数值列或数值表达式的最大值

count()

返回满足指定的条件的记录的个数

count(*)

返回找到的行数

3.连接查询(S1难点)

1).内连接(自然连接):

FROM表1[inner]JION表2ON条件表达式1(查询两张表都存在的)

2).外连接:

(1)左外连接:

FROM表1LEFT[OUTER]JOIN表2ON条件表达式(主表存在的,即紧跟from的表)

(2)右外连接:

FROM表1RIGHT[OUTER]JOIN表2ON条件表达式(从表存在的,即后面的表)

(3)全外连接:

FROM表1FULL[OUTER]JOIN表2ON条件表达式(两张表有一存在即可)

3).自连接:

在同一张表内进行自身连接(必须为表指定两个别名)

4).交叉连接:

非限制连接,将两个表不加任何约束地组合起来:

FROM表1CROSSJOIN表2或FROM表1,表2

4.合并结果集:

Union[ALL]

注意:

(1)联合查询是将两个表(结果集)顺序连接。

(2)UNION中的每一个查询所涉及的列必须具有相同的列数、相同位置的列数据类型要相同。

若长度不同,以最长的字段作为输出字段的长度。

(3)结果集中的列名来自第一个SELECT语句。

(4)最后一个SELECT查询可以带ORDERBY子句,对整个UNION操作结果集起作用。

且只能用第一个SELECT查询中的字段作排序列。

(5)系统自动删除结果集中重复的记录,除非使用ALL关键字。

5.COMPUTE行聚合函数名(统计表达式)[,...n][BY分类表达式[,...n]]

函数

描述

AVG

平均值

COUNT

行数

MAX

最高值

MIN

最低值

SUM

STDEV

统计标准偏差

STDEVP

填充统计标准偏差

VAR

统计方差

VARP

填充统计方差

注意:

(1)COMPUTE或COMPUTEBY子句中的表达式,必须出现在选择列表中,并且必须将其指定为与选择列表中的某个表达式完全一样,不能使用在选择列表中指定的列的别名。

(2)在COMPUTE或COMPUTEBY子句中,不能指定ntext、text和image数据类型。

(3)如果使用COMPUTEBY,则必须也使用ORDERBY子句。

表达式必须与在QRDERBY后列出的子句相同或是其子集,并且必须按相同的序列。

例如,如果ORDERBY子句是:

ORDERBYa,b,c则COMPUTE子句可以是下面的任意一个(或全部):

COMPUTEBYa,b,c或COMPUTEBYa,b或COMPUTEBYa

(4)在SELECTINTO语句中不能使用COMPUTE。

因而,任何由COMPUTE生成的计算结果不出现在用SELECTINTO语句创建的新表内。

数据视图

6.创建视图:

CREATEVIEW视图名[(列名1[,…n])]AS查询语句

注意:

(1)定义视图的用户必须对所参照的表或视图有查询权限,即可执行SELECT语句。

(2)不能使用COMPUTE或COMPUTEBY子句。

(3)不能使用ORDERBY子句。

(4)不能使用INTO子句。

(5)不能在临时表或表变量上创建视图。

修改视图:

ALTERVIEW视图名[(列名1[,…n])]AS查询语句

删除视图:

DROPVIEW视图名[,…n]

7.注意事项:

(1)只有在当前数据库中才能创建视图。

(2)视图的命名必须遵循标识符命名规则,不能与表同名,且对每个用户视图名必须是惟一的,即对不同用户,即使是定义相同的视图,也必须使用不同的名字。

(3)不能把规则、默认值或触发器与视图相关联。

(4)不能在视图上建立任何索引,包括全文索引。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2