SQL Server 2008
常用关键字、数据类型和常用语法
常用关键字:
SQL server 2008一共大约有180多个关键字。简要分为主要关键字、辅助关键字和函数类关键字。本文就常用的这三类关键字进行语法说明和用例。
说明:1、比较好的习惯是,数据库名以D_开头,表名用T_开头,字段名以F_开头,这样可以防止和关键字重名。
2、如果确实用到了系统关键字,就要在关键上加[]方括号,以与关键字进行区别。例如有一个用户表被命名为USER,则查询该表内容的时候:SELECT * FROM USER语句是错误的,应该是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 | 数据表 |
14 | NOT | |
15 | NULL | 空值 |
16 | IDENTITY(1,1) | 标识列 |
17 | CONSTRAINT | 约束,后边跟约束名 |
18 | PRIMARY | 主键,PRIMARY KEY(列名) |
19 | FOREIGN | 外键 FOREIGN KEY(列名) |
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 | 对GROUP BY分组内的数据进行过滤 |
41 | TOP | 筛选结果集 |
42 | DISTINCTvarchar2最大长度 | 去重 |
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连用 |
数据类型:
SQL Server 2008一共有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) | |||
5 | decimal(p,s) | 5—17 字节 | 取值范围:-1038+1—1038-1。p (有效位数,p的取值小于38),可储存的最大十进位数总数,小数点左右两侧都包括在内。s (小数位数,0 <= s <= p <= 38) 小数点右侧的小数位数。 例如:decimal(3,1)表示,一共3位有效位,其中整数部分2位,小数部分1位,最大值是,最小值是 |
6 | numeric(p,s) | 4字节 | 取值范围:-214,,。用法类似decimal |
7 | smallmoney | 4字节 | 取值范围:–214 ~2 14 。主要是用于货币 |
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(2 147 483 647)字符 | |
17 | text | 每字符1字节,最大可达2G。 | |
18 | ntext | 每字符2字节,最大可达2G。 | |
二进制数据类型(5) | |||
19 | bit | 1比特 | NULL,0或1 |
20 | binary(n) | 固定长度二进制数据,最高可达8000字节。 | |
21 | varbinary | 可变长度二进制数据,最高可达8000字节。 | |
22 | varbinary(MAX) | 最多为232-1字节 | |
23 | image | 可变长度二进制数据,最高可达2GB。 | |
日期和时间类型(7) | |||
24 | smalldatetime | ||
25 | date | 3字节 | 精度一天,支持范围01/01/0000—31/12/9999。 |
26 | datetime | 8字节 | 秒,支持的范围是'1000-01-01 00:00:00'到'9999-12-31 23:59:59'。以'YYYY-MM-DD HH:MM:SS'格式显示DATETIME值 |
27 | datetime2(n) | 6--8字节 | 100纳秒 |
28 | datetimeoffset(n) | 8--10字节 | 100纳秒 |
29 | time | 3—5字节 | 100纳秒 |
30 | timestamp | TIMESTAMP值返回后显示为'YYYY-MM-DD HH:MM:SS'格式的字符串。 | |
其他数据类型(6) | |||
31 | xml | 用于存储xml格式的文档,最大可达2GB,支持128级层次。 | |
32 | geography | 地理数据。 | |
33 | geometry | 几何数据。 | |
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论