sqlserver常用关键字数据类型和常用语法.docx
- 文档编号:13564243
- 上传时间:2023-06-15
- 格式:DOCX
- 页数:91
- 大小:172.91KB
sqlserver常用关键字数据类型和常用语法.docx
《sqlserver常用关键字数据类型和常用语法.docx》由会员分享,可在线阅读,更多相关《sqlserver常用关键字数据类型和常用语法.docx(91页珍藏版)》请在冰点文库上搜索。
sqlserver常用关键字数据类型和常用语法
可编写可更正
SQLServer2021
常用要点字、数据种类和常用语法
常用要点字:
SQLserver2021一共大体有180多个要点字。
简要分为主要要点字、辅助
要点字和函数类要点字。
本文就常用的这三类要点字进行语法说明和用例。
说明:
1、比较好的习惯是,数据库名以D_开头,表名用T_开头,字段名以
F_开头,这样能够防范和要点字重名。
2、若是确合用到了系统要点字,就要在要点上加[]方括号,以与要点字进
行差异。
比如有一个用户表被命名为USER,那么盘问该表内容的时候:
SELECT*
FROMUSER语句是错误的,应该是SELECT*FROM[USER]。
因为USER是要点字。
编号
要点字
应用途景
主要要点字
1
CREATE
创立表
2
ALTER
更正表结构
3
DROP
删除数据库和表
4
INSERT
插入表数据
5
INTO
与INSERT连用,插入表数据
6
VALUES
插入表数据时,指定列值
7
UPDATE
更新表数据
8
SET
与UPDATE连用,设定列值
9
SELECT
盘问表数据
10
FROM
从哪个表中盘问
11
WHERE
盘问表数据的条件
12
DATABASE
数据库
13
TABLE
数据表
1
可编写可更正
14
NOT
15
NULL
空
16
IDENTITY(1,1)
列
17
CONSTRAINT
束,后跟束名
18
PRIMARY
主,PRIMARYKEY〔列名〕
19
FOREIGN
外FOREIGNKEY〔列名〕
20
KEY
21REFERENCES把⋯印作参照,指定外的候用
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用
2
可编写可更正
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连用
数据种类:
SQLServer2021一共有36种数据种类。
详尽以下:
编号
数据种类
储藏空间
字符种类说明
整数型〔4〕
1
tinyint
1字节
取值范围:
0--255
2
smallint
2字节
取值范围:
-2768--32767
3
int
4字节
取值范围:
-231—231-1
4
bigint
8字节
取值范围:
-263—263-1
浮点种类〔6〕
3
可编写可更正
5—17
取值范围:
-1038+1—1038-1。
p(有效位数,p的取值
字节
小于38),可储蓄的最大十进位数总数,小数点左
右两侧都包括在内。
s(小数位数,0<=s<=p<=
5
decimal(p,s)
38)小数点右侧的小数位数。
比方:
decimal(3,1)表示,一共3位有效位,其中
整数局部2位,小数局部
1位,最大值是,最小值
是
6
numeric(p,s)
4字节
取值范围:
-214,,。
用法近似decimal
7
smallmoney
4字节
取值范围:
–214~214。
主若是用于钱币
8
money
8字节
取值范围:
—主要用于钱币
9
real
4或8字
取值范围:
+38~,0,~+38
节
10
float
4字节
取值范围:
~
字符种类〔8〕
11
char(n)
每字符1字节,最大可达
8000字节。
ANSI字符,
会用空格填充。
12
nchar(n)
每字符2字节,最大可达
4000字节。
UNICODE字符,
会用空格填充。
13
varchar(n)
每字符1字节,最大可达
8000字节。
ANSI字符,
可变长度,不会用空格填充。
14
varchar(MAX)
ANSI字符,最大可达2G
15
nvarchar(n)
每字符2字节,最大可达
4000字节。
UNICODE字符,
可变长度,不会用空格填充。
16
nvarchar(MAX)
最多为231–1(2147483647)字符
17
text
每字符1字节,最大可达
2G。
18
ntext
每字符2字节,最大可达
2G。
4
可编写可更正
二进制数据种类〔5〕
19
bit
1比特
NULL,0或1
20
binary(n)
固定长度二进制数据,最高可达
8000
字节。
21
varbinary
可变长度二进制数据,最高可达
8000
字节。
22
varbinary(MAX)
最多为232-1字节
23
image
可变长度二进制数据,最高可达
2GB。
日期和时间种类〔7〕
24smalldatetime
25
date
3字节
精度一天,支持范围
01/01/0000—31/12/9999。
8字节
秒,支持的范围是
'1000-01-0100:
00:
00'到
26
datetime
'9999-12-3123:
59:
59'。
以'YYYY-MM-DDHH:
MM:
SS'
格式显示DATETIME值
6--8
字
27
datetime2(n)
100纳秒
节
8--10
字
28
datetimeoffset(n)
100纳秒
节
3—5字
29
time
100纳秒
节
30
timestamp
TIMESTAMP值返回后显示为'YYYY-MM-DDHH:
MM:
SS'
格式的字符串。
其他数据种类〔6〕
31
xml
用于储藏xml格式的文档,最大可达2GB,支持128
级层次。
32
geography
地理数据。
33
geometry
几何数据。
34
hierarchyid
主要解决的问题是拥有层次关系的表格,平时用来
5
可编写可更正
建立树形结构
用于储藏SQLServer2005
支持的各种数据种类
〔不包括text、ntext、image、timestamp
和
35
sql_variant
sql_variant〕的值。
对于sql_variant
数据种类,
必定先将它变换为其根本数据种类值,尔后才能参
与诸如加减这类运算
Uniqueidentifier
是全局唯一的表记,可储藏
16
36
uniqueidentifier
字节的二进制值,
其作用与全局唯一标记符
〔GUID〕
相同,一般用来做主键。
常用语法:
一、数据库
【创立数据库】
CREATEDATABASE
【更正数据库】
ALTERDATABASE
【删除数据库】
DROPDATABASE
二、表结构
【创立数据表】
1、设定字段是赞同空,非空、表记列,自增和主键拘束。
CREATETABLET_CUSTOMER--表名
(CUSTOMERIDINTIDENTITY(1,1),--客户ID,表记列,从开始,每次自增
COMPANYNAMENVARCHAR(50)NOTNULL,--,若是不显示指明NOTNULL,系统默认是赞同空的
USERNAMENVARCHAR(10)NOTNULL,--联系人姓名,非空
PHONENUMBERCHAR(11)NULL,--联系,赞同为空
CONSTRAINTT_CUSTOMER_PrimaryKeyPRIMARYKEY(CUSTOMERID))--设定USERID为主键,用括号括起来
6
可编写可更正
/*每个单词之间是空格分开,每个字段之间用单引号分开,整个字段定义局部用括号括起来*/
/*T_RegUser_PrimaryKey是拘束名*/
2、设定字段是UNIQUEIDENTIFIER数据种类,唯一性拘束,CHECK拘束和默
认值拘束。
CREATETABLET_CUSTOMER
(CUSTOMERIDUNIQUEIDENTIFIERUNIQUE,--客户ID,UNIQUEIDENTIFIER种类,唯一性拘束
COMPANYNAMENVARCHAR(50)NOTNULLUNIQUE,--公司名称,非空,唯一性拘束
USERNAMENVARCHAR(10)NOTNULL,
PHONENUMBERCHAR(11)NULL,
AGETINYINTNULLCHECK(AGE>0),--联系人年龄,赞同空,check拘束必定大于
MODIFIEDDATEDATENULLCONSTRAINT_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)REFERENCES
T_CUSTOMER(CUSTOMERID))
/*设定外键根本语法*/
CONSTRAINT<拘束名>FOREIGNKEY(<外键表列名>)REFERENCES<主键表>(<主键表列名>)
/*设置外键,T_ORDER_T_CUSTOMER_ForeignKey是外键拘束名,FOREIGNKEY后边是本表内要被设置的外键
列
7
可编写可更正
REFERENCES后边是主键所在的表,括号内是主键表的链接列*/
/*表名后的全部内容,都要拿括号括起来*/
/*外键的数据种类要和主键一模一样,哪怕主键是UNIQUEIDENTIFIER也必定设置成相同*/
【更正表名】
/*更正表名,可能会破坏脚本和储藏过程。
*/
EXECSP_RENAME'<原表名>','<新表名>'
比方:
EXECSP_RENAME'T_CUSTOMER2','T_CUSTOMER22'
【更正表结构】
1、增加列和列的拘束
/*增加列、增加唯一性拘束*/
ALTERTABLE<表名>
ADD<列名1>BITNOTNULL,--增加多个列不用括号,用逗号分开即可
<列名2>INTNOTNULLUNIQUE--声明的时候,和创立表的时候相同
比方:
ALTERTABLET_CUSTOMER
ADDGENDERBITNOTNULL,--增加多个列不用括号,用逗号分开即可
CUSTOMERADDRESSINTNOTNULLUNIQUE--声明的时候,和创立表的时候相同
2、删除列
/*删除列*/
ALTERTABLE<表名>
DROPCOLUMN<列名1>,<列名2>--使用要点字COLUNM〔列〕
比方:
ALTERTABLET_CUSTOMER
DROPCOLUMNGENDER,CUSTOMERADDRESS--使用要点字COLUNM〔列〕
/*每个列名之间用逗号分开,若是列上有任何拘束,那么需要先删除拘束*/
3、增加主键拘束,唯一性拘束、check拘束和默认值拘束
8
可编写可更正
/*增加主键拘束,唯一性拘束,check拘束和默认值拘束*/
ALTERTABLE<表名>
ADDCONSTRAINT<拘束名>CHECK(CHECK拘束内容),--CHECK拘束,每个拘束之间用逗号分开
CONSTRAINT<拘束名>UNIQUE(<列名>),--唯一性拘束
CONSTRAINT<拘束名>DEFAULT<默认拘束值或函数>FOR<列名>--默认值拘束
比方:
ALTERTABLET_CUSTOMER
ADDCONSTRAINTT_CUMSTOMER_AGE_CHECKCHECK(AGE>0),--CHECK拘束
CONSTRAINTT_CUSTOMER_USERNAME_UNIQUEUNIQUE(USERNAME),--唯一性拘束
CONSTRAINTT_CUSTOMER_DEFAULTDEFAULTGETDATE()FORMODIFIEDDATE--默认值拘束
4、删除主键拘束,唯一性拘束、check拘束和默认值拘束
/*删除主键拘束,删除唯一性拘束、删除check拘束,删除默认值拘束*/
ALTERTABLE<表名>
DROP<拘束名1>,<拘束名2>,<拘束名3>--后边直接跟拘束名,用逗号分开
比方:
ALTERTABLET_CUSTOMER
DROPT_CUSTOMER_DEFAULT,--后边直接跟拘束名,用逗号分开
UQ__T_CUSTOM__EDBD0E1935BCFE0A,
CK__T_CUSTOMER__AGE__276EDEB3
若是创立的时候,没有显性的指定拘束名,比方UNIQUE,CHECK等拘束,能够经过SP_HELPT_CUSTOMER来盘问全部的拘束名。
在盘问结果的第7个结果集中,能够看到近似以下列图的结果,第一列是拘束种类,第二列就是拘束名,最后一列是列名。
5、更正列的字段种类
9
可编写可更正
/*更正列的字段种类和非空*/
ALTERTABLE<表名>
ALTERCOLUMN<列名><新数据种类>
比方:
ALTERTABLET_CUSTOMER
ALTERCOLUMNCUSTOMERADDRESSNVARCHAR(100)–-更正多列的字段种类还不知道怎么改
6、设置列的空/非空
/*更正列的空和非空*/
ALTERTABLE<表名>
ALTERCOLUMN<列名><数据种类>NOTNULL—必定跟数据种类,否那么会
比方:
ALTERTABLET_CUSTOMER
ALTERCOLUMNMODIFIEDDATEDATENULL
7、更正列名
/*更正列名,可能会破坏脚本和储藏过程*/
EXECSP_RENAME'
比方:
EXECSP_RENAME'','PHONE','COLUMN'--将原来的PHONENUMBER号码,改成PHONE
【删除表】
DROPTABLE
三、表数据
【插入数据】
1、插入一行全字段数据
/*插入一行全字段数据*/
INSERTINTO
VALUES('值1','值2','值3')–-值的数量必定和表定义的相同多,而且数据种类必定一一对应
10
可编写可更正
比方:
INSERTINTOT_CUSTOMER
VALUES(NEWID(),'公司3','用户3','123',DEFAULT,'xxx')–-要到了NEWID()函数
2、插入一行局部字段数据
/*插入一行数据*/
INSERTINTO
(列1,列2,列3..)
VALUES('值1','值2','值3')–-字符串是要用单引号括起来,数字值不用
比方:
INSERTINTOT_CUSTOMER2
(COMPANYNAME,USERNAME,PHONENUMBER)
VALUES('公司1','用户1','')—与要插入的列一一对应,能够不一样于表定义的序次,能够乱序,只要一一
对应即可
/*CUSTOMERID是表记列,自增的,所以不用指定*/
3、插入多行数据
INSERTINTOT_CUSTOMER2
(COMPANYNAME,USERNAME,PHONENUMBER)
VALUES('公司2','用户2',''),
('公司3','用户3',''),--用括号将每一行数据括起来,括号与括号之间用逗号分开
('公司4','用户4','')
4、插入函数值和默认值
/*UNIQUEIDENTIFIER种类字段,使用NEWID()函数。
有默认值的使用DEFAULT要点字*/
INSERTINTO
(列1,列2,列3,列4,)
VALUES(NEWID(),'值1','值2',DEFAULT)
比方:
/*CUSTOMERID是UNIQUEIDENTIFIER种类,所以要使用NEWID()函数,MODIFIEDDATE字段有模式值,是取
11
可编写可更正
得当前的日期GETDATE()函数*/
INSERTINTOT_CUSTOMER
(CUSTOMERID,COMPANYNAME,USERNAME,PHONE,MODIFIEDDATE)
VALUES(NEWID(),'公司','用','',DEFAULT)
【更正数据】
/*UPDATE平时是与SET和WHERE配合使用,若是不用WHERE,会把整个列都更正*/
UPDATE
SET列=''
WHERE列=''AND列=''—-能够是任何条件
比方:
/*将公司2的号更正成*/
UPDATET_CUSTOMER
SETPHONE=''
WHERECOMPANYNAME='公司2'
【盘问数据】
1、盘问全部数据,也许局部行数据〔用where进行过滤〕
/*表中的全部数据用星号*/
SELECT*
FROM
WHERE<条件1>AND<条件2>OR<条件3>
比方:
/*客表中的全部数据*/
SELECT*FROMT_CUSTOMER
2、盘问表中的局部列数据,
/*局部列的全部数据,也许局部行局部列的数据*/
SELECT<列名1>,<列名2>,<⋯>--个列名序
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- sqlserver 常用 关键字 数据类型 语法
![提示](https://static.bingdoc.com/images/bang_tan.gif)