SQL Server相关知识
1.数据类型
1.1 Character字符串
char(n)字符串,固定长度的字符串,最多8000个字符。
varchar(n)可变长度的字符串,最多8000个字符。
varchar(max)可变长度的字符串,最多1,073,741,824个字符。
text,可变长度,最多2GB字符数据。
1.2 Unicode 字符串
nchar(n)字符串,固定长度的字符串,最多4000个字符。
nvarchar(n)可变长度的字符串,最多4000个字符。
nvarchar(max)可变长度的字符串,最多536,870,912个字符。
ntext,可变长度,最多2GB字符数据。
1.3 Binary 类型
bit,允许0,1,null。
image,储存图片为二进制数据,最多2GB。
1.4 Number 类型
thinyint,从 0 到 255 的所有数字。
int整数型,允许从 -2,147,483,648 到 2,147,483,647 的所有数字。
smallint,允许从 -3276 到 3276 的所有数字。
bigint,允许从-9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 之间所有数字。
decimal(限制小数位数),储存精确数值。
float(),从 -1.79E + 308 到 1.79E + 308 的浮动精度数字数据。 参数 n 指示该字段保存 4 字节还是 8 字节。
float(24) 保存 4 字节,而 float(53) 保存 8 字节。n 的默认值是 53。
money,介于 -922,337,203,685,477.5808 和 922,337,203,685,477.5807 之间的货币数据。
rela,从 -3.40E + 38 到 3.40E + 38 的浮动精度数字数据。
1.5 Date 类型
datetime,从 1753 年 1 月 1 日 到 9999 年 12 月 31 日,精度为 3.33 毫秒。
datetime2,·从 1753 年 1 月 1 日 到 9999 年 12 月 31 日,精度为 100 纳秒。
smalldatetime,从 1900 年 1 月 1 日 到 2079 年 6 月 6 日,精度为 1 分钟。
date,仅存储日期,从 0001 年 1 月 1 日 到 9999 年 12 月 31 日。
time,仅存储时间,精度为 100 纳秒。
timestamp,存储唯一的数字,每当创建或修改某行时,该数字会更新。
timestamp 基于内部时钟,不对应真实时间。每个表只能有一个 timestamp 变量。
2.报错消息
报错消息 | 提示文本 | 相关说明 |
---|---|---|
消息 8152,级别 16,状态 14,第 1 行 | 将截断字符串或二进制数据。 | 写入数据比字段的数据类型大 |
消息 10738,级别 15,状态 1,第 1036 行 | INSERT 语句中行值表达式的数目超出了 1000 行值的最大允许值。 | sql语句同时写入多行数据,一次最多1000行 |
3.其它
3.1 sql文件写入
1)对于小于100M的sql脚本文件,可以直接使用SQL Server执行
2)对于大于100M的sql文件,直接使用SQL Server,查询分线器打不开
(1)将大的文件分割成多个文件分开执行
a.使用记事本将sql脚本文件分割成小于100M文件,分开执行
b.sql脚本文件分表导出,降低sql脚本文件的大小
(2)使用库命令执行
a.使用osql
osql 是一个 Microsoft Windows 32 命令提示符工具,您可以使用它运行 Transact-SQL 语句和脚本文件!
osql -E -i input_file,运行结果在控制台显示
osql -E -i input_file -o output_file,运行结果输出到文件
b.调用sqlcmd命令
sqlcmd -S localhost -U sa -P 1 -i "c:\xxx\MySql.sql"