917 SQL 学习笔记Word文档下载推荐.docx

上传人:b****6 文档编号:22043843 上传时间:2023-02-02 格式:DOCX 页数:24 大小:29.85KB
下载 相关 举报
917 SQL 学习笔记Word文档下载推荐.docx_第1页
第1页 / 共24页
917 SQL 学习笔记Word文档下载推荐.docx_第2页
第2页 / 共24页
917 SQL 学习笔记Word文档下载推荐.docx_第3页
第3页 / 共24页
917 SQL 学习笔记Word文档下载推荐.docx_第4页
第4页 / 共24页
917 SQL 学习笔记Word文档下载推荐.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

917 SQL 学习笔记Word文档下载推荐.docx

《917 SQL 学习笔记Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《917 SQL 学习笔记Word文档下载推荐.docx(24页珍藏版)》请在冰豆网上搜索。

917 SQL 学习笔记Word文档下载推荐.docx

AND

9

ALLANYBETWEENINLIKEORSOME

10

=赋值

10.SQL通配符:

%:

包含零个或更多字符的任意字符串

_:

任何单个字符

[]:

指定范围中的任何单个字符

[^]或[!

]:

不属于指定范围或集合中的任何单个字符

11.SQL中的注释:

单行注释:

以—开头;

多行注释:

/**/

 

第二部分SQL语句

数据定义语句DDL

1.创建数据库

Createdatabase数据库名[on[primary]

{

([name=数据文件的逻辑名称]

Filename=’数据文件的物理名称’

[size=数据文件的初始大小]

[maxsize=数据文件的最大容量]

Filegrowth=数据文件的增长量)

}[,…n]

2.创建表

CREATETABLEdatabase_name.[owner].|owner.]table_name

({<

column_definition>

|column_nameAScomputed_column_expression<

table_constrint>

}[…n])

[ON{filegroup|default}]

3.数据的删除-delete

DELETEFROM<

table_name>

WHERE<

search_condition>

4.数据的更改-update

UPDATE{table_nameEith(<

table_hint_limited>

[…n])}SET{column_name={expressionDEFAULT|NULL}WHERE<

5.数据的查询-select

SELECT[ALL|DISTINCT]<

目标列表达式>

]FROM<

表名或视图名>

[<

]

6.取得查询结果的部分行集

TOPN[percent]

7.SELECT*FROMBOOKSWHERENOT(PRICE>

40)

8.数据声明declare

语法1:

[public|private]DeclareSubnameLib“libname”[Alias“aliasname”][(arglist)]

语法2:

[public|private]DelcareFunctionnameLib“libname”[Alias“aliasname”][(arglist)][AsType]

第三部分函数

1.数学函数:

函数名称

函数功能

ABS

返回表达式的绝对值

ACOS

返回余弦是所指定参数的角

ASIN

返回正弦是所指定参数的角

ATAN

返回正切是所指定参数的角

CEIlING

返回大于或等于指定参数的最小整数

COS

返回余弦值

COT

返回正切值

DEGRESS

返回弧度对应的度

EXP

返回参数的指数值

FLOOR

返回小于或等于指定参数的最大整数

LOG

返回参数的自然对数值

LOG10

返回以10为底的对数值

PI

返回圆周率

POWER

返回第一个参数对第二个参数幂的值

RADIANS

返回度对应的弧度

RAND

返回0~1之间的随机数

ROUND

将指定的数值四舍五入到指定精度

SIGN

参数为负返回-1,参数为0返回0,正返1

SIN

返回指定角的正弦值

SQUARE

返回指定表达式的平方

SORT

返回指定表达式的平方根

TAN

返回指定表达式的正切值

2.字符串函数

ASCII

返回字符表达式最左端字符的ASCII码值

CHAR

返回ASCII码对应的字符

CHARINDEX

返回字符串指定表达式的初始位置

DIFFERENCE

返回两个字符表达式的SOUNDEX值之差

LTRIM

去除给定字符串左边的空格

LEFT

返回从左边开始指定个数的字符

LEN

返回字符串的指定长度

LOWER

返回指定字符串的小写字母

NCHAR

返回Unicode字符的整数代码

PATINEDX

返回指定表达式中某模式的初始位置

REPLICATE

按给定的次数重复表达式的位置

RIGHR

返回从右边开始指定个数的字符

REVERSE

返回指定表达式的逆向形式

RTRIM

去除字符串后的空格

REPLACE

返回指定字符串的值

SOUNDEX

返回4位代码

SPACE

返回表达式中重复空格组成的字符串

STUFF

返回经替换的字符串

SUBSTRING

返回字符串的部分字符串

UPPER

返回指定字符串的大写字母

UNICODE

返回输入表达式的第一个字符的整数值

+

连接字符串

3.日期和时间函数

DATEADD

返回指定日期加上一段时间后新的DATETIME

DATENAME

返回指定日期的指定部分的字符串

DAY

返回指定日期的天数

DAYOFYEAR

返回指定日期在全年中的天数

MONTH

返回指定日期月份的整数

GETDATE

返回当前系统的时间和日期

YEAR

返回指定日期年份的整数

GETUTCDATE

4.聚合函数

AVG

返回指定表达式的平均值

COUNT

返回指定表达式的数据量

MAX

返回指定表达式中的最大值

MIN

返回指定表达式中所有值的和

SUM

STDEV

返回指定表达式中所有制的标准偏差

VAR

返回指定表达式所有值的方差

STDEVP

返回指定表达式中所有制的总体标准偏差

VARP

返回指定表达式所有值的总体方差

5.系统函数

SEVERPROPERTY函数:

用于查询有关服务器实例的属性信息

DATABASEPROPERTY函数:

用于查询指定数据库和属性名的命名数据库属性值

TYPEOFPROPERTY函数:

用于查询有关数据类型的信息

OBJECT_ID函数:

用于查询数据库对象的ID

6.文本和图像函数

TEXTPTR函数:

用于返回对应varbinary格式的text、ntext或者image列的文本指针值

TEXTVALID函数:

用于检查特定文本指针是否为有效的text、ntext或image函数。

第三部分数据库和表的操作

1.数据库表简介

元组:

可以理解为二维表中的一行,在数据库中经常被称为记录

属性:

可以理解为二维表中的一列,在数据库中经常被称为字段

域:

属性的取值范围,也就是数据库中某一列的取值限制

关键字:

一族可以唯一标识元组的属性。

在数据库中常称为主键,由一个或多个列组成

2.数据完整性分类

数据记录不唯一:

实体完整性

数据记录内容不正确性:

域完整性

数据记录内容不一:

引用完整性

数据记录内容不符合要求:

用户自定义完整性

3.规则创建与管理

规则创建:

CREATERULEruleAScondition_expression

使用规则:

sp_bindrule[@rulename=]’rule’,[@objname=]‘object_name’[,[@futureonly=]‘futureonly_flag’]

Eg:

Usetest

Execsp_bindrule‘mobile_phone_rule’,‘student.dianhua’

解除绑定:

sp_bindrule[@objname=]‘object_name’

Execsp_unbindrule‘student.phone’

规则的删除:

DROPRULErule_name

4.约束,建立和使用约束的目的在于保证数据的完整性

主键约束

唯一性约束

检查约束

非空约束

默认值约束

外键约束

SQLSERVER的数据类型

1.SQLSERVER的数据类型

  数据类型是数据的一种属性,表示数据所表示信息的类型。

任何一种计算机语言都定义了自己的数据类型。

当然,不同的程序语言都具有不同的特点,所定义的数据类型的种类和名称都或多或少有些不同。

SQLServer提供了25种数据类型:

  ·

Binary[(n)]

Varbinary[(n)]

Char[(n)]

Varchar[(n)]

Nchar[(n)]

Nvarchar[(n)]

Datetime

Smalldatetime

Decimal[(p[,s])]

Numeric[(p[,s])]

Float[(n)]

Real

Int

Smallint

Tinyint

Money

Smallmoney

Bit

Cursor

Sysname

Timestamp

Uniqueidentifier

Text

Image

Ntext

  

(1)二进制数据类型

  二进制数据包括Binary、Varbinary和Image

  Binary数据类型既可以是固定长度的(Binary),也可以是变长度的。

常用来存放图像等数据。

  Binary[(n)]是n位固定的二进制数据。

其中,n的取值范围是从1到8000。

其存储窨的大小是n+4个字节。

  Varbinary[(n)]是n位变长度的二进制数据。

其存储窨的大小是n+4个字节,不是n个字节。

  在Image数据类型中存储的数据是以位字符串存储的,不是由SQLSERVER解释的,必须由应用程序来解释。

用于存放照片,目录图片或图画。

例如,应用程序可以使用BMP、TIEF、GIF和JPEG格式把数据存储在Image数据类型中。

  

(2)字符数据类型

  字符数据的类型包括Char,Varchar和Text

  字符数据是由任何字母、符号和数字任意组合而成的数据。

Varchar是变长字符数据,其长度不超过8KB。

Char是定长字符数据,其长度最多为8KB。

超过8KB的ASCII数据可以使用Text数据类型存储。

例如,因为Html文档全部都是ASCII字符,并且在一般情况下长度超过8KB,所以这些文档可以Text数据类型存储在SQLSERVER中。

一般情况下,由于Char数据类型长度固定,因此它比Varchar类型的处理速度快。

NTEXT数据类型与TEXT.类型相似不同的,是NTEXT类型采用UNICODE标准字符集(CharacterSet),因此其理论容量为230-1(1,073,741,823)个字节。

  (3)Unicode数据类型

  Unicode数据类型包括Nchar,Nvarchar和Ntext

  在MicrosoftSQLSERVER中,传统的非Unicode数据类型允许使用由特定字符集定义的字符。

在SQLSERVER安装过程中,允许选择一种字符集。

使用Unicode数据类型,列中可以存储任何由Unicode标准定义的字符。

在Unicode标准中,包括了以各种字符集定义的全部字符。

使用Unicode数据类型,所占用空间是使用非Unicode数据类型所占用的空间大小的两倍。

  在SQLSERVER中,Unicode数据以Nchar、Nvarchar和Ntext数据类型存储。

使用这种字符类型存储的列可以存储多个字符集中的字符。

当列的长度变化时,应该使用Nvarchar字符类型,这时最多可以存储4000个字符。

当列的长度固定不变时,应该使用Nchar字符类型,同样,这时最多可以存储4000个字符。

当使用Ntext数据类型时,该列可以存储多于4000个字符。

  (4)日期和时间数据类型

  日期和时间数据类型包括Datetime和Smalldatetime两种类型

日期和时间数据类型由有效的日期和时间组成。

例如,有效的日期和时间数据包括“4/01/9812:

15:

00:

00PM”和“1:

28:

29:

01AM8/17/98”。

前一个数据类型是日期在前,时间在后,后一个数据类型是时间在前,日期在后。

在MicrosoftSQLSERVER中,日期和时间数据类型包括Datetime和Smalldatetime两种类型时,所存储的日期范围是从1753年1月1日开始,到9999年12月31日结束(每一个值要求8个存储字节)。

使用Smalldatetime数据类型时,所存储的日期范围是1900年1月1日开始,到2079年12月31日结束(每一个值要求4个存储字节)。

  日期的格式可以设定。

设置日期格式的命令如下:

  SetDateFormat{format|@format_var|

  其中,format|@format_var是日期的顺序。

有效的参数包括MDY、DMY、YMD、YDM、MYD和DYM。

在默认情况下,日期格式为MDY。

  例如,当执行SetDateFormatYMD之后,日期的格式为年月日形式;

当执行SetDateFormatDMY之后,日期的格式为日月有年形式

  (5)数字数据类型

  数字数据只包含数字。

数字数据类型包括正数和负数、小数(浮点数)和整数

  整数由正整数和负整数组成,例如39、25、0-2和33967。

在MicrsoftSQLSERVER中,整数存储的数据类型是Int,Smallint和Tinyint。

Int数据类型存储数据的范围大于Smallint数据类型存储数据的范围,而Smallint据类型存储数据的范围大于Tinyint数据类型存储数据的范围。

使用Int数据类型存储数据的范围是从-2147483648到2147483647(每一个值要求4个字节存储空间)。

使用Smallint数据类型时,存储数据的范围从-32768到32767(每一个值要求2个字节存储空间)。

使用Tinyint数据类型时,存储数据的范围是从0到255(每一个值要求1个字节存储空间)。

浮点数据类型用于存储十进制小数。

浮点数值的数据在SQLServer中采用上舍入(Roundup或称为只入不舍)方式进行存储。

所谓上舍入是指,当(且仅当)要舍入的数是一个非零数时,对其保留数字部分的最低有效位上的数值加1,并进行必要的进位。

若一个数是上舍入数,其绝对值不会减少。

如:

对3.14159265358979分别进行2位和12位舍入,结果为3.15和3.141592653590。

REAL数据类型REAL数据类型可精确到第7位小数,其范围为从-3.40E-38到3.40E+38。

每个REAL类型的数据占用4个字节的存储空间。

FLOATFLOAT数据类型可精确到第15位小数,其范围为从-1.79E-308到1.79E+308。

每个FLOAT类型的数据占用8个字节的存储空间。

FLOAT数据类型可写为FLOAT[n]的形式。

n指定FLOAT数据的精度。

n为1到15之间的整数值。

当n取1到7时,实际上是定义了一个REAL类型的数据,系统用4个字节存储它;

当n取8到15时,系统认为其是FLOAT类型,用8个字节存储它。

DECIMALDECIMAL数据类型可以提供小数所需要的实际存储空间,但也有一定的限制,您可以用2到17个字节来存储从-10的38次方-1到10的38次方-1之间的数值。

可将其写为DECIMAL[p[s]]的形式,p和s确定了精确的比例和数位。

其中p表示可供存储的值的总位数(不包括小数点),缺省值为18;

s表示小数点后的位数,缺省值为0。

例如:

decimal(15,5),表示共有15位数,其中整数10位,小数5,总位数不包括小数点。

NUMERICNUMERIC数据类型与DECIMAL数据类型完全相同。

分为两种,是为了保持与ANSI标准兼容。

  (6)货币数据表示正的或者负的货币数量。

  在MicrosoftSQLSERVER中,货币数据的数据类型是Money和Smallmoney

Money数据类型要求8个存储字节,Smallmoney数据类型要求4个存储字节。

(7)特殊数据类型

特殊数据类型包括前面没有提过的数据类型。

Timestamp用于表示SQLSERVER活动的先后顺序,以二进制的格式存放。

Timestamp数据与插入数据或者日期和时间没有关系。

主要用于在数据表中记录其数据的修改时间。

它提供数据库范围内的唯一值,反映数据库中数据修改的相对顺序,相当于一个单调上升的计数器。

当用该类型定义的列在更新或者插入数据行时,此列的值会自动更新,一个计数值将自动地添加到此数据列中。

  Bit由1或者0组成。

这种数据类型常作为逻辑变量使用。

用来表示真或者假、ON或者OFF等二值选择。

Uniqueidentifier称做唯一标识符数据类型。

它是SQLSERVER根据计算机网络适配器地址和CPU时钟产生的全局唯一标识符代码(GloballyUniqueIdentifier,简写为GUID),因此,该数据类型可以保证在全球范围内不同的计算机所产生的标识符是唯一的。

由16位的二进制数字组成。

当表的记录行要求唯一时,GUID是非常有用。

例如,在客户标识号列使用这种数据类型可以区别不同的客户。

Cursor在实际应用中,应用程序有时只需要每次处理一条或一部分记录。

在这种情况下,就需要使用游标在服务器内部处理结果集。

游标可视为一种特殊的指针,它不但可以定位在结果集的特定记录上,还可以从结果集的当前位置查询一条或多条记录并对读取到的数据进行处理。

Sql_variant数据类型可以存储除文本、图形数据(TEXT、NTEXT、IMAGE)和TIMESTAMP类型数据外的其它任何合法的SQLServer数据。

此数据类型大大方便了SQLServer的开发工作。

table数据类型用于存储对表或视图处理后的结果集。

这一新类型使得变量可以存储一个表,从而使函数或过程返回查询结果更加方便快捷。

  2.用户定义的数据类型

  用户定义的数据类型基于在MicrosoftSQLSERVER中提供的数据类型。

当几个表中必须存储同一种数据类型时,并且为保证这些列有相同的数据类型、长度和可空性时,可以使用用户定义的数据类型。

例如,可定义一种称为postal_code的数据类型,它基于Char数据类型。

  当创建用户定义的数据类型时,必须提供三个数:

数据类型的名称、所基于的系统数据类型和数据类型的可空性。

  

(1)创建用户定义的数据类型

  创建用户定义的数据类型可以使用Transact-SQL语句。

系统存储过程sp_addtype可以来创建用户定义的数据类型。

其语法形式如下:

  sp_addtype{type},[,system_data_bype][,'

null_type'

  其中,type是用户定义的数据类型的名称。

system_data_type是系统提供的数据类型,例如Decimal、Int、Char等等。

null_type表示该数据类型是如何处理空值的,必须使用单引号引起来,例如'

NULL'

、'

NOTNULL'

或者'

NONULL'

  例子:

  Usecust

  Execsp_addtypessn,'

Varchar(11)'

"

NotNull'

  创建一个用户定义的数据类型ssn,其基于的系统数据类型是变长为11的字符,不允许空。

  Execsp_addtypebirthday,datetime,'

Null'

  创建一个用户定义的数据类型birthday,其基于的系统数据类型是DateTime,允许空。

  Usemaster

  Execsp_addtypetelephone,'

varchar(24),'

  Eexcsp_addtypefax,'

varchar(24)'

'

  创建两个数据类型,即telephone和fax

  

(2)删除用户定义的数据类型

  当用户定义的数据类型不需要时,可删除。

删除用户定义的数据类型的命令是sp_droptype{'

type'

}。

  Execsp_droptype'

ssn'

  注意:

当表中的列还正在使用用户定义的数据类型时,或者在其上面还绑定有默认或者规则时,这种用户定义的数据类型不能删除。

第四部分数据的查询

1.SELECT语句的语法结构

SELECTFieldNameList

[ALL|DISTINCT]

[TOPn[PERCENT]]

[INTONewTableName]

FROMTableNameList

[WHERECondition]

[ORDERBYOrder_FiledName[ASC|DESC]]

[GROUPBYGroup_FieldName]

[HAVING

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

当前位置:首页 > 医药卫生 > 中医中药

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1