SQLServer常用关键字数据类型和常用语法文档格式.docx

上传人:b****4 文档编号:7811011 上传时间:2023-05-09 格式:DOCX 页数:32 大小:76.87KB
下载 相关 举报
SQLServer常用关键字数据类型和常用语法文档格式.docx_第1页
第1页 / 共32页
SQLServer常用关键字数据类型和常用语法文档格式.docx_第2页
第2页 / 共32页
SQLServer常用关键字数据类型和常用语法文档格式.docx_第3页
第3页 / 共32页
SQLServer常用关键字数据类型和常用语法文档格式.docx_第4页
第4页 / 共32页
SQLServer常用关键字数据类型和常用语法文档格式.docx_第5页
第5页 / 共32页
SQLServer常用关键字数据类型和常用语法文档格式.docx_第6页
第6页 / 共32页
SQLServer常用关键字数据类型和常用语法文档格式.docx_第7页
第7页 / 共32页
SQLServer常用关键字数据类型和常用语法文档格式.docx_第8页
第8页 / 共32页
SQLServer常用关键字数据类型和常用语法文档格式.docx_第9页
第9页 / 共32页
SQLServer常用关键字数据类型和常用语法文档格式.docx_第10页
第10页 / 共32页
SQLServer常用关键字数据类型和常用语法文档格式.docx_第11页
第11页 / 共32页
SQLServer常用关键字数据类型和常用语法文档格式.docx_第12页
第12页 / 共32页
SQLServer常用关键字数据类型和常用语法文档格式.docx_第13页
第13页 / 共32页
SQLServer常用关键字数据类型和常用语法文档格式.docx_第14页
第14页 / 共32页
SQLServer常用关键字数据类型和常用语法文档格式.docx_第15页
第15页 / 共32页
SQLServer常用关键字数据类型和常用语法文档格式.docx_第16页
第16页 / 共32页
SQLServer常用关键字数据类型和常用语法文档格式.docx_第17页
第17页 / 共32页
SQLServer常用关键字数据类型和常用语法文档格式.docx_第18页
第18页 / 共32页
SQLServer常用关键字数据类型和常用语法文档格式.docx_第19页
第19页 / 共32页
SQLServer常用关键字数据类型和常用语法文档格式.docx_第20页
第20页 / 共32页
亲,该文档总共32页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

SQLServer常用关键字数据类型和常用语法文档格式.docx

《SQLServer常用关键字数据类型和常用语法文档格式.docx》由会员分享,可在线阅读,更多相关《SQLServer常用关键字数据类型和常用语法文档格式.docx(32页珍藏版)》请在冰点文库上搜索。

SQLServer常用关键字数据类型和常用语法文档格式.docx

TABLE

数据表

14

NOT

15

NULL

空值

16

IDENTITY(1,1)

标识列

17

CONSTRAINT

约束,后边跟约束名

18

PRIMARY

主键,PRIMARYKEY(列名)

19

FOREIGN

外键FOREIGNKEY(列名)

20

KEY

21

REFERENCES

把…印作参考,指定外键的时候用

22

CHECK

CHECK约束

23

UNIQUE

唯一性约束

24

COLUMN

25

DEFAULT

默认值

26

AND

27

OR

28

TRUNCATE

截断,快速清空表内数据

29

ORDER

常与by连用

30

BY

与GROUP或ORDER连用

31

ASC

升序

32

DESC

降序

33

AS

列名别称

34

DELETE

删除表数据

35

LIKE

通配符

36

IS

用于NULL值

37

IN

离散值

38

BETWEEN

连续值,常与and连用

39

GROUP

分组,常与by连用

40

HAVING

对GROUPBY分组内的数据进行过滤

41

TOP

筛选结果集

42

DISTINCT

去重

43

UNION

44

ALL

45

CASE

类似与C#中的SWITCH--CASE语法,查询离散值

46

ELSE

设定case的默认值

47

END

结束case语句

48

WHEN

与case连用

49

VIEW

视图

50

INDEX

索引

51

JOIN

联合查询

52

ON

与JOIN连用

数据类型:

SQLServer2008一共有36种数据类型。

具体如下:

数据类型

存储空间

字符类型说明

整数型(4)

tinyint

1字节

取值范围:

0--255

smallint

2字节

-2768--32767

int

4字节

-231—231-1

bigint

8字节

-263—263-1

浮点类型(6)

decimal(p,s)

5—17

字节

-1038+1—1038-1。

p(有效位数,p的取值小于38),可储存的最大十进位数总数,小数点左右两侧都包括在内。

s(小数位数,0<

=s<

=p<

=38)小数点右侧的小数位数。

例如:

decimal(3,1)表示,一共3位有效位,其中整数部分2位,小数部分1位,最大值是99.9,最小值是-99.9

numeric(p,s)

-214,768.3648--214,768.3647。

用法类似decimal

smallmoney

–214 748.3648~2 14 748.3647。

主要是用于货币

money

-3.438—3.438主要用于货币

real

4或8字节

-3.40E+38~-1.18E-38,0,1.18E-38~3.40E+38

float

-3.4E38~3.4E38

字符类型(8)

char(n)

每字符1字节,最大可达8000字节。

ANSI字符,会用空格填充。

nchar(n)

每字符2字节,最大可达4000字节。

UNICODE字符,会用空格填充。

varchar(n)

ANSI字符,可变长度,不会用空格填充。

varchar(MAX)

ANSI字符,最大可达2G

nvarchar(n)

UNICODE字符,可变长度,不会用空格填充。

nvarchar(MAX)

最多为231–1(2 147 483 647)字符

text

每字符1字节,最大可达2G。

ntext

每字符2字节,最大可达2G。

二进制数据类型(5)

bit

1比特

NULL,0或1

binary(n)

固定长度二进制数据,最高可达8000字节。

varbinary

可变长度二进制数据,最高可达8000字节。

varbinary(MAX)

最多为232-1字节

image

可变长度二进制数据,最高可达2GB。

日期和时间类型(7)

smalldatetime

date

3字节

精度一天,支持范围01/01/0000—31/12/9999。

datetime

0.00333秒,支持的范围是'

1000-01-0100:

00:

00'

到'

9999-12-3123:

59:

59'

以'

YYYY-MM-DDHH:

MM:

SS'

格式显示DATETIME值

datetime2(n)

6--8字节

100纳秒

datetimeoffset(n)

8--10字节

time

3—5字节

timestamp

TIMESTAMP值返回后显示为'

格式的字符串。

其他数据类型(6)

xml

用于存储xml格式的文档,最大可达2GB,支持128级层次。

geography

地理数据。

geometry

几何数据。

hierarchyid

主要解决的问题是拥有层次关系的表格,通常用来建立树形结构

sql_variant

用于存储SQLServer2005支持的各种数据类型(不包括text、ntext、image、timestamp和sql_variant)的值。

对于sql_variant数据类型,必须先将它转换为其基本数据类型值,然后才能参与诸如加减这类运算

uniqueidentifier

Uniqueidentifier是全局唯一的标识,可存储16字节的二进制值,其作用与全局唯一标记符(GUID)一样,一般用来做主键。

常用语法:

一、数据库

【创建数据库】

CREATEDATABASE<

dbname>

【修改数据库】

ALTERDATABASE<

【删除数据库】

DROPDATABASE<

二、表结构

【创建数据表】

1、设定字段是允许空,非空、标识列,自增和主键约束。

CREATETABLET_CUSTOMER--表名

(CUSTOMERIDINTIDENTITY(1,1),--客户ID,标识列,从开始,每次自增

COMPANYNAMENVARCHAR(50)NOTNULL,--,如果不显示指明NOTNULL,系统默认是允许空的

USERNAMENVARCHAR(10)NOTNULL,--联系人姓名,非空

PHONENUMBERCHAR(11)NULL,--联系电话,允许为空

CONSTRAINTT_CUSTOMER_PrimaryKeyPRIMARYKEY(CUSTOMERID))--设定USERID为主键,用括号括起来

/*每个单词之间是空格隔开,每个字段之间用单引号隔开,整个字段定义部分用括号括起来*/

/*T_RegUser_PrimaryKey是约束名*/

2、设定字段是UNIQUEIDENTIFIER数据类型,唯一性约束,CHECK约束和默认值约束。

CREATETABLET_CUSTOMER

(CUSTOMERIDUNIQUEIDENTIFIERUNIQUE,--客户ID,UNIQUEIDENTIFIER类型,唯一性约束

COMPANYNAMENVARCHAR(50)NOTNULLUNIQUE,--公司名称,非空,唯一性约束

USERNAMENVARCHAR(10)NOTNULL,

PHONENUMBERCHAR(11)NULL,

AGETINYINTNULLCHECK(AGE>

0),--联系人年龄,允许空,check约束必须大于

MODIFIEDDATEDATENULLCONSTRAINTT_CUSTOMER_DEFAULTDEFAULTGETDATE(),--默认值约束,并调用SQL函数GETDATE()

CONSTRAINTT_CUSTOMER_PrimaryKeyPRIMARYKEY(CUSTOMERID))

3、设定字段外键

CREATETABLET_ORDER--订单表

(ORDERIDINTIDENTITY(1,1),--订单ID,标识字段,自增

PRODUCTNVARCHAR(50)NOTNULL,--产品

PAYMENTMONEYNOTNULL,--货款

ORDER_CUSTOMERIDUNIQUEIDENTIFIERNOTNULL,--客户ID,为外键,外键内容是T_CUSTOMER表的CUSTOMERID列

CONSTRAINTT_ORDER_PrimaryKeyPRIMARYKEY(ORDERID),--设置ORDERID为主键

CONSTRAINTT_ORDER_T_CUSTOMER_ForeignKeyFOREIGNKEY(ORDER_CUSTOMERID)REFERENCEST_CUSTOMER(CUSTOMERID))

/*设定外键基本语法*/

CONSTRAINT<

约束名>

FOREIGNKEY(<

外键表列名>

)REFERENCES<

主键表>

(<

主键表列名>

/*设置外键,T_ORDER_T_CUSTOMER_ForeignKey是外键约束名,FOREIGNKEY后边是本表内要被设置的外键列

REFERENCES后边是主键所在的表,括号内是主键表的链接列*/

/*表名后的所有内容,都要拿括号括起来*/

/*外键的数据类型要和主键一模一样,哪怕主键是UNIQUEIDENTIFIER也必须设置成一样*/

【修改表名】

/*修改表名,可能会破坏脚本和存储过程。

*/

EXECSP_RENAME'

<

原表名>

'

'

新表名>

示例:

T_CUSTOMER2'

T_CUSTOMER22'

【修改表结构】

1、添加列和列的约束

/*添加列、添加唯一性约束*/

ALTERTABLE<

表名>

ADD<

列名1>

BITNOTNULL,--添加多个列不用括号,用逗号分开即可

列名2>

INTNOTNULLUNIQUE--声明的时候,和创建表的时候一样

ALTERTABLET_CUSTOMER

ADDGENDERBITNOTNULL,--添加多个列不用括号,用逗号分开即可

CUSTOMERADDRESSINTNOTNULLUNIQUE--声明的时候,和创建表的时候一样

2、删除列

/*删除列*/

DROPCOLUMN<

<

--使用关键字COLUNM(列)

DROPCOLUMNGENDER,CUSTOMERADDRESS--使用关键字COLUNM(列)

/*每个列名之间用逗号隔开,如果列上有任何约束,则需要先删除约束*/

3、添加主键约束,唯一性约束、check约束和默认值约束

/*添加主键约束,唯一性约束,check约束和默认值约束*/

ADDCONSTRAINT<

CHECK(CHECK约束内容),--CHECK约束,每个约束之间用逗号隔开

UNIQUE(<

列名>

),--唯一性约束

DEFAULT<

默认约束值或函数>

FOR<

--默认值约束

ADDCONSTRAINTT_CUMSTOMER_AGE_CHECKCHECK(AGE>

0),--CHECK约束

CONSTRAINTT_CUSTOMER_USERNAME_UNIQUEUNIQUE(USERNAME),--唯一性约束

CONSTRAINTT_CUSTOMER_DEFAULTDEFAULTGETDATE()FORMODIFIEDDATE--默认值约束

4、删除主键约束,唯一性约束、check约束和默认值约束

/*删除主键约束,删除唯一性约束、删除check约束,删除默认值约束*/

DROP<

约束名1>

约束名2>

约束名3>

--后边直接跟约束名,用逗号隔开

DROPT_CUSTOMER_DEFAULT,--后边直接跟约束名,用逗号隔开

UQ__T_CUSTOM__EDBD0E1935BCFE0A,

CK__T_CUSTOMER__AGE__276EDEB3

如果创建的时候,没有显性的指定约束名,例如UNIQUE,CHECK等约束,可以通过SP_HELPT_CUSTOMER来查询所有的约束名。

在查询结果的第7个结果集中,可以看到类似下图的结果,第一列是约束类型,第二列就是约束名,最后一列是列名。

5、修改列的字段类型

/*修改列的字段类型和非空*/

ALTERCOLUMN<

<

新数据类型>

ALTERCOLUMNCUSTOMERADDRESSNVARCHAR(100)–-修改多列的字段类型还不知道怎么改

6、设置列的空/非空

/*修改列的空和非空*/

数据类型>

NOTNULL—必须跟数据类型,否则会

ALTERCOLUMNMODIFIEDDATEDATENULL

7、修改列名

/*修改列名,可能会破坏脚本和存储过程*/

tbname>

.<

原列名>

新列名>

COLUMN'

—-后边的column是固定写法

T_CUSTOMER.PHONENUMBER'

PHONE'

--将原来的PHONENUMBER电话号码,改成PHONE电话

【删除表】

DROPTABLE<

三、表数据

【插入数据】

1、插入一行全字段数据

/*插入一行全字段数据*/

INSERTINTO<

VALUES('

值1'

值2'

值3'

)–-值的数量必须和表定义的一样多,而且数据类型必须一一对应

INSERTINTOT_CUSTOMER

VALUES(NEWID(),'

公司3'

用户3'

123'

DEFAULT,'

xxx'

)–-要到了NEWID()函数

2、插入一行部分字段数据

/*插入一行数据*/

(列1,列2,列3..)

)–-字符串是要用单引号括起来,数字值不用

INSERTINTOT_CUSTOMER2

(COMPANYNAME,USERNAME,PHONENUMBER)

公司1'

用户1'

)—与要插入的列一一对应,可以不同于表定义的顺序,可以乱序,只要一一对应即可

/*CUSTOMERID是标识列,自增的,所以不用指定*/

3、插入多行数据

公司2'

用户2'

),

('

),--用括号将每一行数据括起来,括号与括号之间用逗号隔开

公司4'

用户4'

4、插入函数值和默认值

/*UNIQUEIDENTIFIER类型字段,使用NEWID()函数。

有默认值的使用DEFAULT关键字*/

(列1,列2,列3,列4,)

VALUES(NEWID(),'

DEFAULT)

/*CUSTOMERID是UNIQUEIDENTIFIER类型,所以要使用NEWID()函数,MODIFIEDDATE字段有模式值,是取得当前的日期时间GETDATE()函数*/

(CUSTOMERID,COMPANYNAME,USERNAME,PHONE,MODIFIEDDATE)

公司'

用户'

【修改数据】

/*UPDATE通常是与SET和WHERE配合使用,如果不用WHERE,则会把整个列都修改*/

UPDATE<

SET列='

值'

WHERE列='

AND列='

—-可以是任何删选条件

/*将公司2的电话号码修改成*/

UPDATET_CUSTOMER

SETPHONE='

WHERECOMPANYNAME='

【查询数据】

1、查询所有数据,或者部分行数据(用where进行过滤)

/*查询表中的所有数据用星号*/

SELECT*

FROM<

WHERE<

筛选条件1>

AND<

筛选条件2>

OR<

筛选条件3>

/*查询客户表中的所有数据*/

SELECT*FROMT_CUSTOMER

2、查询表中的部分列数据,

/*查询部分列的所有数据,或者部分行部分列的数据*/

SELECT<

…>

--这个列名顺序可以按照自己的想法来,不用非要和表定义一致

FROMT_ORDER

/*查询订单表中的所有数据*/

SELECTPRODUCT,PAYMENT

3、对查询出来的数据进行排序

/*ORDERBY的默认排序是升序ASC,如果BY的列是数字,则是从大到小,如果是字符串,则是从A到Z,如果是时间从远至近。

降序的话是加关键字DESC。

假如是升序,最好也加上ASC*/

ORDERBY<

ASC(升序)/DESC(降序),<

ASC(升序)/DESC(降序)

/*列1和列2可以采用不一样的排序*/

SELECT*

WHEREPAYMENT>

100–价格大于100

ORDERBYPRODUCTASC,PAYMENTDESC--产品名称使用升序,产品价格使用降序

【删除数据】

1、删除一般数据

/*删除公司一般数据*/

DELETEFROM<

/*删除公司,公司ID是订单表的外键*/

DELETEFROMT_CUSTOMER

2、快速高效的删除表内的全部数据

/*快速高效的清空表内的全部数据,TRUNCATE本意是截短、把…截短。

TRUNCATE只能用来删除表中的所有数据,不能用来删除部分数据,而且有外键约束的主键表不能被删除*/

TRUNCATETABLE<

TRUNCATETABLET_CUSTOMER

3、删除有外键约束的数据

/*如果该条数据已经被外键表引用,则无法删除。

被引用的数据必须置于未被使用的状况,方法就是修改外键表字段,或者删除外键表中的引用数据*/

UPDATET_ORDER–将所有引用公司1的数据全部改成公司2

SETORDER_CUSTOMERID='

2f20b157-a287-43e0-be99-1fb917618629'

WHEREORDER_CUSTOMERID='

c013076f-7889-400e-aa7a-b38436730d70'

/*然后才可以在主键表中删除公司1*/

四、其他辅助关键字

【LIKE通配符】

1、单字符通配符,只能用于字符串匹配

/*单字符通配符_*/

FROMT_CUSTOMER

LIKE'

_通配符_'

WHEREUSERNAMELIKE'

用户_'

–-将客户表中包含”用户+任意字符”的行数据查出来

2、多字符通配符,只能用于字符串匹配

/*单字符通配符%,百分号代表*从0到N的字符串/

%

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

当前位置:首页 > 工程科技 > 能源化工

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

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