### SQL Server Cheat Sheet知识点解析 #### 一、数据类型(Data Types) **1. 字符串类型(Strings):** - **char:** 固定长度字符类型。 - **varchar:** 可变长度字符类型。 - **nchar:** 固定长度 Unicode 字符类型。 - **nvarchar:** 可变长度 Unicode 字符类型。 **2. 数值类型(Numerics):** - **bit:** 存储布尔值 (0, 1 或 NULL)。 - **tinyint:** 整型,范围为 0 到 255。 - **smallint:** 整型,范围为 -32768 到 32767。 - **bigint:** 整型,范围为 -2^63 到 2^63-1。 - **float:** 浮点数类型,提供高精度数值存储。 - **numeric:** 精确数值类型,可以指定小数点后的精度。 - **decimal:** 与 numeric 类似,但通常用于财务计算等需要精确度更高的场景。 **3. 日期和时间(Date and Time):** - **smalldatetime:** 存储日期和时间,精确到分钟。 - **datetime:** 存储日期和时间,精确到毫秒。 - **year:** 提取日期中的年份。 - **quarter:** 提取日期中的季度。 - **month:** 提取日期中的月份。 - **dayofyear:** 提取日期中的年内第几天。 - **day:** 提取日期中的具体日期(即月内的天数)。 - **week:** 提取日期所在的一周。 - **hour:** 提取时间中的小时。 - **minute:** 提取时间中的分钟。 - **second:** 提取时间中的秒。 - **millisecond:** 提取时间中的毫秒。 **4. 二进制类型(Binary Strings):** - **binary:** 固定长度的二进制数据类型。 - **varbinary:** 可变长度的二进制数据类型。 **5. 其他类型(Miscellaneous):** - **cursor:** 游标,用于迭代查询结果集。 - **sql_variant:** 动态数据类型,可以存储多种数据类型的值。 - **money:** 货币类型,固定精度和标度。 - **timestamp:** 版本戳类型,每次向表中插入新行或更新现有行时都会自动递增。 - **text:** 大文本类型。 - **ntext:** 大 Unicode 文本类型。 - **image:** 图像类型,用于存储图像数据。 - **table:** 表类型,允许在参数中传递表。 #### 二、数学函数(Mathematical Functions) - **ABS:** 返回数值的绝对值。 - **ACOS:** 返回一个数值的反余弦值。 - **ASIN:** 返回一个数值的反正弦值。 - **ATAN:** 返回一个数值的反正切值。 - **ATN2:** 返回两个数值的反正切值。 - **CEILING:** 返回数值的最小整数值。 - **COS:** 返回一个数值的余弦值。 - **COT:** 返回一个数值的余切值。 - **DEGREES:** 将弧度转换为度数。 - **EXP:** 返回自然对数的指数。 - **FLOOR:** 返回数值的最大整数值。 - **LOG:** 返回数值的自然对数。 - **LOG10:** 返回数值的以 10 为底的对数。 - **PI:** 返回 π 的值。 - **POWER:** 返回数值的指数次幂。 - **RADIANS:** 将度数转换为弧度。 - **RAND:** 返回随机数。 - **ROUND:** 返回四舍五入后的数值。 - **SIGN:** 返回数值的符号。 - **SIN:** 返回一个数值的正弦值。 - **SQUARE:** 返回数值的平方。 - **SQRT:** 返回数值的平方根。 - **TAN:** 返回一个数值的正切值。 #### 三、日期函数(Date Functions) - **DATEADD:** 向日期/时间值添加指定数量的时间单位。 - **DATEDIFF:** 计算两个日期/时间值之间的时间单位差。 - **DATENAME:** 从日期/时间值返回指定部分的名称。 - **DATEPART:** 从日期/时间值返回指定部分的数值。 - **DAY:** 返回日期值中的日。 - **GETDATE:** 返回当前系统日期和时间。 - **GETUTCDATE:** 返回当前系统 UTC 日期和时间。 - **MONTH:** 返回日期值中的月。 - **YEAR:** 返回日期值中的年。 #### 四、字符串函数(String Functions) - **ASCII:** 返回字符的 ASCII 值。 - **CHAR:** 返回指定 ASCII 值对应的字符。 - **CHARINDEX:** 在字符串中查找指定表达式的位置。 - **DIFFERENCE:** 比较两组字符集之间的差异。 - **LEFT:** 返回字符串左端的指定数量的字符。 - **LEN:** 返回字符串的长度。 - **LOWER:** 将字符串转换为小写。 - **LTRIM:** 删除字符串左边的空白字符。 - **NCHAR:** 返回指定 Unicode 值对应的字符。 - **PATINDEX:** 返回指定模式在字符串中首次出现的位置。 - **REPLACE:** 替换字符串中的字符或子字符串。 - **QUOTENAME:** 将标识符用引号括起来并转义引号。 - **REPLICATE:** 重复指定字符串。 - **REVERSE:** 反转字符串。 - **RIGHT:** 返回字符串右端的指定数量的字符。 - **RTRIM:** 删除字符串右边的空白字符。 - **SOUNDEX:** 返回代表输入字符串发音的编码值。 - **SPACE:** 返回由指定数量空格组成的字符串。 - **STR:** 将数值转换为字符形式。 - **STUFF:** 在字符串中替换字符或子字符串。 - **SUBSTRING:** 从字符串中提取子字符串。 - **UNICODE:** 返回字符的 Unicode 值。 - **UPPER:** 将字符串转换为大写。 #### 五、表格操作(Table Functions) - **ALTER TABLE:** 修改表结构。 - **CREATE TABLE:** 创建新表。 - **DROP TABLE:** 删除表。 - **TRUNCATE TABLE:** 删除表中的所有数据但保留表结构。 #### 六、分组聚合函数(Grouping(Aggregate) Functions) - **AVG:** 计算平均值。 - **BINARY_CHECKSUM:** 返回表中所有行的二进制校验和。 - **CHECKSUM:** 返回表中所有行的校验和。 - **CHECKSUM_AVG:** 计算平均校验和。 - **COUNT:** 统计非 NULL 值的数量。 - **COUNT_BIG:** 与 COUNT 类似,但返回 bigint 类型的结果。 - **GROUPING:** 用于确定当前行是否是汇总行。 - **MAX:** 返回最大值。 - **MIN:** 返回最小值。 - **SUM:** 计算总和。 - **STDEV:** 计算标准偏差。 - **STDEVP:** 计算总体标准偏差。 - **VAR:** 计算方差。 - **VARP:** 计算总体方差。 #### 七、排名函数(Ranking Functions) - **RANK:** 对每一组中的行进行排名。 - **DENSE_RANK:** 对每一组中的行进行排名,不会跳过排名值。 - **NTILE:** 将结果集划分为指定数量的桶。 - **ROW_NUMBER:** 为结果集中的每行分配一个唯一的数字。 #### 八、类型转换(Type Conversion) - **CAST:** 将表达式从一种数据类型转换为另一种数据类型。 - **CONVERT:** 转换数据类型,并可指定格式。 #### 九、创建存储过程(Create a Stored Procedure) ``` CREATE PROCEDURE name @variable AS datatype = value AS -- Comments SELECT * FROM table GO ``` #### 十、创建触发器(Create a Trigger) ``` CREATE TRIGGER name ON table FOR DELETE, INSERT, UPDATE AS -- Comments SELECT * FROM table GO ``` #### 十一、创建视图(Create a View) ``` CREATE VIEW name AS -- Comments SELECT * FROM table GO ``` #### 十二、创建索引(Create an Index) ``` CREATE UNIQUE INDEX name ON table(columns) ``` #### 十三、创建函数(Create a Function) ``` CREATE FUNCTION name (@variable datatype(length)) RETURNS datatype(length) AS BEGIN DECLARE @return datatype(length) SELECT @return = CASE @variable WHEN 'a' THEN 'returna' WHEN 'b' THEN 'returnb' ELSE 'returnc' END RETURN @return END ``` 以上是对 SQL Server 中常用数据类型、函数、以及创建存储过程、触发器、视图、索引等基本操作的详细介绍。这些内容可以帮助开发人员更高效地管理和操作数据库,同时也能帮助维护数据库的安全性和性能。对于初学者来说,熟练掌握这些知识点是成为优秀数据库管理员的第一步。
- 粉丝: 1
- 资源: 51
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助