一、可能是数据库的MDF文件存放的物理磁盘空间已满,这种问题比较棘手,必须要转移数据库文件到其它磁盘
二、可能是在建立数据库时MDF指定了最大空间限制,打开企业管理器,在指定的数据库上选择属性,在数据文件中设定为文件增长不受限制或大一点数据就可以了!
我还没碰到过其它的情况,以上两点仅供参考!
㈡ SQL SERVER数据库什么数据类型能存储大容量的文字
2000之前版本
ntext,用于 Unicode 字符,最大长度1G个字符,最大存储空间2GB
text,用于非 Unicode 字符,最大长度2G个字符,最大存储空间2GB
2005之后版本应该用nvarchar(max),varchar(max)代替ntext和text,另外可以用更高效的xml类型。它们的最大存储空间都是2GB
在 Microsoft SQL Server 的未来版本中将删除 ntext、text 和 image 数据类型
㈢ SQL常量是什么变量是什么局量是什么
常量就是定值,不会变动的值,如1,2,'a','abc'
变量通常指局部变量,仅当前会话有效,以@符号开头的,可以存储不同值的一种占位符
如declare @a int set @a=1 定义变量@a为int类型,并赋值为1
局量说的应该是全局变量了吧,通常是以@@开头的一些系统变量
如@@version显示数据库及操作系统的版本信息
㈣ sql数据类型有哪些
SQL数据类型有以下这些:
1、二进制数据类型。
二进制数据包括 Binary、Varbinary 和 Image
Binary 数据类型既可以是固定长度的(Binary),也可以是变长度的。
Binary[(n)] 是 n 位固定的二进制数据。其中,n 的取值范围是从 1 到 8000。其存储空间的大小是 n + 4 个字节。
Varbinary[(n)] 是 n 位变长度的二进制数据。其中,n 的取值范围是从 1 到 8000。其存储空间的大小是 n + 4个字节,不是n 个字节。
2、字符数据类型。
字符数据类型包括char、varchar和text。
字符数据是由字母、符号和数字的任意组合组成的数据。
varchar是可变长度字符数据,其长度不超过8kb。char是最大长度为8kb的固定长度字符数据。超过8kb的ASCII数据可以使用文本数据类型存储。
3、Unicode 数据类型。
Unicode数据类型包括nchar、nvarchar和ntext。
在Microsoft SQL Server中,传统的非Unicode数据类型允许使用由特定字符集定义的字符。在安装SQL Server期间,允许选择字符集。
在Unicode标准中,包含由各种字符集定义的所有字符。使用Unicode数据类型占用的空间是使用非Unicode数据类型的两倍。
4、日期和时间数据类型。
日期和时间数据类型包括 Datetime 和 Smalldatetime两种类型。
日期和时间数据类型由有效的日期和时间组成。
例如,有效的日期和时间数据包括“4/01/98 12:15:00:00:00 PM”和“1:28:29:15:01AM 8/17/98”。
前一个数据类型是日期在前,时间在后。后一个数据类型是时间在前,日期在后。
在 Microsoft SQL Server中,日期和时间数据类型包括Datetime 和 Smalldatetime 两种类型时,所存储的日期范围是从 1753 年 1 月 1 日开始,到9999 年12 月 31 日结束(每一个值要求 8 个存储字节)。
5、数字数据类型。
数字数据只包含数字。数字数据类型包括正数和负数、小数(浮点)和整数。
整数由正整数和负整数组成,如39、25、0-2和33967。在Microsoft SQL Server中,存储在整数中的数据类型是int、smallint和tinyint。
int数据类型存储的数据多于smallint数据类型,而smallint数据类型存储的数据多于tinyint数据类型。
使用int数据类型存储数据的范围从-2 147 483 648到2 147 483 647(每个值需要四个字节的存储空间)。
6、货币数据类型。
在 Microsoft SQL Server 中,货币数据的数据类型是Money 和 Smallmoney
Money数据类型要求 8 个存储字节,Smallmoney 数据类型要求 4 个存储字节。
㈤ sql什么是常量变量局量
常量就是数值固定不变的或者被赋予固定值的量,如数字'100'、字母'abc'、符号'<>?/-'等。
变量即数值会发生变化的量,变量分为全局变量和局部变量。
局部变量(Local Variable)是用户可以定义的、作用范围仅在程序内部的变量。通常情况下,局部变量在程序中被用来存储查询结果,或者被当作程序执行过程中的暂存变量来使用。局部变量定义时要以@开头,定义方式为:Declare @变量名 变量类型。
全局变量(Global Variable)是MS SQLServer系统内部使用的变量,作用范围是系统内的所有程序,而并非局限于某些程序。它不是由用户来定义的,而是系统中预先定义好的。使用全局变量时,要以@@开头,如:select@@VERSION as w 用来查询SQL服务器安装的日期、版本和处理器类型;select@@CONNECTIONS 用来查询自上次SQL启动以来连接或试图连接的次数。
关于局部变量和全局变量详细定义及用法,下面库友的文章写得很棒,请参考:
http://wenku..com/link?url=IQm3AQbS1RMtt1mFljtgdLeUSQC9_-V2c8epZTtRu-QdyQ86Gxh1CP6YfzXw_eCaRYLlysaI-vbu
http://wenku..com/view/f4d6faeeaeaad1f346933f00.html
㈥ 怎么计算sql中数据类型的范围
SQL数据类型详解
bit 整型
其值只能是0、1或空值。
这种数据类型用于存储只有两种可能值的数据,如Yes 或No、True 或False 、On
或Off.
int 整型 4个字节
从- 2^31(-2147483648)到2^31 (2147483
647)之间的整数。
存储到数据库的几乎所有数值型的数据都可以用这种数据类型。
smallint 整型 2个字节
smallint 数据类型可以存储从- 2^15(-32768)到2^15(32767)之间的整数。
tinyint 整型 1个字节
tinyint 数据类型能存储从0到255 之间的整数。
numeric 、 decimal 精确数值型
从-1038-1到1038-1的固定精度和范围的数值型数据。
使用这种数据类型时,必须指定范围和精度。
范围是小数点左右所能存储的数字的总位数,精度是小数点右边存储的数字的位数。
money 货币型
这种数据类型能存储从-9220亿到9220 亿之间的数据,精确到货币单位的万分之一。
smallmoney 货币型
这种数据类型能存储从-214748.3648 到214748.3647
之间的数据,精确到货币单位的万分之一。
float 浮点数值型
从-1.79E+308到1.79E+308 之间的任意数。
real 实型
在-3.40E+38到3.40E+38之间的浮点数。
datetime 日期时间型
从1753年1月1日到9999年12月31日间所有的日期和时间数据,精确到三百分之一秒或3.33毫秒。
Smalldatetime 日期时间型
从1900年1月1日到2079年6月6日间的日期和时间,精确到一分钟。
cursor 特殊数据型
它包含一个对游标的引用。这种数据类型用在存储过程中,而且创建表时不能用。
timestamp 特殊数据型
用来创建一个数据库范围内的唯一数码。
一个表中只能有一个timestamp列。每次插入或修改一行时,timestamp列的值都会改变。
Uniqueidentifier 特殊数据型
全局唯一标识符,即GUID。可以使用NEWID
函数或转换一个字符串为唯一标识符来初始化具有唯一标识符的列 .
char 字符型
存储指定长度的定长非统一编码型的数据。当定义一列为此类型时,你必须指定列长。
当你总能知道要存储的数据的长度时,此数据类型很有用。
此数据类型的列宽最大为8000
个字符.
varchar 字符型
用来存储非统一编码型字符数据。与char
型不一样,此数据类型为变长。
当定义一列为该数据类型时,你要指定该列的最大长度。
它与char数据类型最大的区别是,存储的长度不是列长,而是数据的长度.
text 字符型
用来存储大量的非统一编码型字符数据。
这种数据类型最多可以有2^31-1或20亿个双字节字符.
nchar 统一编码字符型
用来存储定长统一编码字符型数据。统一编码用双字节结构来存储每个字符,而不是用单字节(普通文本中的情况)。它允许大量的扩展字符。此数据类型能存储4000种字符,使用的字节空间上增加了一倍.
nvarchar 统一编码字符型
nvarchar
数据类型用作变长的统一编码字符型数据。此数据类型能存储4000种字符,使用的字节空间增加了一倍.
ntext 统一编码字符型
ntext 数据类型用来存储大量的统一编码字符型数据。
这种数据类型能存储2^30
-1或将近10亿个字符,且使用的字节空间增加了一倍
binary 二进制数据类型
binary数据类型用来存储可达8000
字节长的定长的二进制数据。当输入表的内容接近相同的长度时,你应该使用这种数据类型.
varbinary 二进制数据类型
varbinary 数据类型用来存储可达8000
字节长的变长的二进制数据。当输入表的内容大小可变时,你应该使用这种数据类型
image 二进制数据类型
image 数据类型用来存储变长的二进制数据,最大可达2^31-1或大约20亿字节
---------------------------------------------------
(1)二进制数据类型
二进制数据包括 Binary、Varbinary 和 Image
Binary
数据类型既可以是固定长度的(Binary),也可以是变长度的。
Binary[(n)] 是 n 位固定的二进制数据。其中,n 的取值范围是从 1 到
8000。其存储窨的大小是 n + 4 个字节。
Varbinary[(n)] 是 n 位变长度的二进制数据。其中,n 的取值范围是从 1 到
8000。其存储窨的大小是 n + 4个字节,不是n 个字节。
在 Image 数据类型中存储的数据是以位字符串存储的,不是由 SQL Server
解释的,必须由应用程序来解释。例如,应用程序可以使用BMP、TIEF、GIF 和 JPEG 格式把数据存储在 Image 数据类型中。
(2)字符数据类型
字符数据的类型包括 Char,Varchar 和 Text
字符数据是由任何字母、符号和数字任意组合而成的数据。
Varchar
是变长字符数据,其长度不超过 8KB。Char 是定长字符数据,其长度最多为 8KB。超过 8KB 的ASCII 数据可以使用Text数据类型存储。例如,因为
Html 文档全部都是 ASCII 字符,并且在一般情况下长度超过 8KB,所以这些文档可以 Text 数据类型存储在SQL Server 中。
(3)Unicode 数据类型
Unicode 数据类型包括 Nchar,Nvarchar 和Ntext
在 Microsoft SQL Server 中,传统的非
Unicode 数据类型允许使用由特定字符集定义的字符。在 SQL Server安装过程中,允许选择一种字符集。使用 Unicode
数据类型,列中可以存储任何由Unicode 标准定义的字符。在 Unicode
标准中,包括了以各种字符集定义的全部字符。使用Unicode数据类型,所战胜的窨是使用非 Unicode 数据类型所占用的窨大小的两倍。
在 SQL
Server 中,Unicode 数据以 Nchar、Nvarchar 和 Ntext
数据类型存储。使用这种字符类型存储的列可以存储多个字符集中的字符。当列的长度变化时,应该使用Nvarchar 字符类型,这时最多可以存储 4000
个字符。当列的长度固定不变时,应该使用 Nchar 字符类型,同样,这时最多可以存储4000 个字符。当使用 Ntext 数据类型时,该列可以存储多于 4000
个字符。
(4)日期和时间数据类型
日期和时间数据类型包括 Datetime 和
Smalldatetime两种类型
日期和时间数据类型由有效的日期和时间组成。例如,有效的日期和时间数据包括“4/01/98
12:15:00:00:00 PM”和“1:28:29:15:01AM
8/17/98”。前一个数据类型是日期在前,时间在后一个数据类型是霎时间在前,日期在后。在 Microsoft SQL
Server中,日期和时间数据类型包括Datetime 和 Smalldatetime 两种类型时,所存储的日期范围是从 1753 年 1 月 1
日开始,到9999 年12 月 31 日结束(每一个值要求 8 个存储字节)。使用 Smalldatetime 数据类型时,所存储的日期范围是 1900年 1
月 1日 开始,到 2079 年 12 月 31 日结束(每一个值要求 4
个存储字节)。
日期的格式可以设定。设置日期格式的命令如下:
Set DateFormat {format | @format
_var|
其中,format | @format_var 是日期的顺序。有效的参数包括 MDY、DMY、YMD、YDM、MYD 和
DYM。在默认情况下,日期格式为MDY。
例如,当执行 Set DateFormat YMD 之后,日期的格式为年 月 日 形式;当执行 Set
DateFormat DMY 之后,日期的格式为日 月有年 形式
(5)数字数据类型
数字数据只包含数字。数字数据类型包括正数和负数、小数(浮点数)和整数
整数由正整数和负整数组成,例如 39、25、0-2 和 33967。在
Micrsoft SQL Server 中,整数存储的数据类型是 Int,Smallint和 Tinyint。
Int 数据类型存储数据的范围大于 Smallint 数据类型存储数据的范围,而 Smallint 据类型存储数据的范围大于Tinyint
数据类型存储数据的范围。
使用 Int 数据狗昔存储数据的范围是从 -2 147 483 648 到 2 147 483 647(每一个值要求4个字节存储空间)。
使用 Smallint 数据类型时,存储数据的范围从 -32 768 到 32 767(每一个值要求2个字节存储空间)。
使用Tinyint 数据类型时,存储数据的范围是从0 到255(每一个值要求1个字节存储空间)。
精确小娄数据在 SQL Server
中的数据类型是 Decimal 和 Numeric。这种数据所占的存储空间根据该数据的位数后的位数来确定。
在SQL Server
中,近似小数数据的数据类型是 Float 和
Real。例如,三分之一这个分数记作。3333333,当使用近似数据类型时能准确表示。因此,从系统中检索到的数据可能与存储在该列中数据不完全一样。
(6)货币数据表示正的或者负的货币数量 。
在 Microsoft SQL Server 中,货币数据的数据类型是Money 和 Smallmoney
Money数据类型要求 8
个存储字节,Smallmoney 数据类型要求 4 个存储字节。
(7)特殊数据类型
特殊数据类型包括前面没有提过的数据类型。特殊的数据类型有3种,即 Timestamp、Bit 和
Uniqueidentifier。
Timestamp 用于表示SQL Server 活动的先后顺序,以二进投影的格式表示。Timestamp
数据与插入数据或者日期和时间没有关系。
Bit 由 1 或者 0 组成。当表示真或者假、ON 或者 OFF 时,使用 Bit
数据类型。例如,询问是否是每一次访问的客户机请求可以存储在这种数据类型的列中。
Uniqueidentifier 由 16
字节的十六进制数字组成,表示一个全局唯一的。当表的记录行要求唯一时,GUID是非常有用。例如,在客户标识号列使用这种数据类型可以区别不同的客户。
2.用户定义的数据类型
用户定义的数据类型基于在 Microsoft SQL Server
中提供的数据类型。当几个表中必须存储同一种数据类型时,并且为保证这些列有相同的数据类型、长度和可空性时,可以使用用户定义的数据类型。例如,可定义一种称为
postal_code 的数据类型,它基于 Char
数据类型。
当创建用户定义的数据类型时,必须提供三个数:数据类型的名称、所基于的系统数据类型和数据类型的可空性。
(1)创建用户定义的数据类型
创建用户定义的数据类型可以使用 Transact-SQL 语句。系统存储过程 sp_addtype
可以来创建用户定义的数据类型。其语法形式如下:
sp_addtype
{type},[,system_data_bype][,'null_type']
其中,type
是用户定义的数据类型的名称。system_data_type 是系统提供的数据类型,例如 Decimal、Int、Char 等等。 null_type
表示该数据类型是如何处理空值的,必须使用单引号引起来,例如'NULL'、'NOT NULL'或者'NONULL'。
例子:
Use
cust
Exec sp_addtype ssn,'Varchar(11)',"Not Null'
创建一个用户定义的数据类型
ssn,其基于的系统数据类型是变长为11 的字符,不允许空。
例子:
Use cust
Exec sp_addtype
birthday,datetime,'Null'
创建一个用户定义的数据类型 birthday,其基于的系统数据类型是
DateTime,允许空。
例子:
Use master
Exec sp_addtype
telephone,'varchar(24),'Not Null'
Eexc sp_addtype
fax,'varchar(24)','Null'
创建两个数据类型,即 telephone 和 fax
(2)删除用户定义的数据类型
当用户定义的数据类型不需要时,可删除。删除用户定义的数据类型的命令是 sp_droptype {'type'}。
例子:
Use
master
Exec sp_droptype
'ssn'
注意:当表中的列还正在使用用户定义的数据类型时,或者在其上面还绑定有默认或者规则时,这种用户定义的数据类型不能删除。
SQL SERVER的字段类型说明
以下为SQL SERVER7.0以上版本的字段类型说明。SQL SERVER6.5的字段类型说明请参考SQL SERVER提供的说明。
字段类型 描述
bit 0或1的整型数字
int
从-2^31(-2,147,483,648)到2^31(2,147,483,647)的整型数字
smallint
从-2^15(-32,768)到2^15(32,767)的整型数字
tinyint 从0到255的整型数字
decimal 从-10^38到10^38-1的定精度与有效位数的数字
numeric decimal的同义词
money
从-2^63(-922,337,203,685,477.5808)到2^63-1(922,337,203,685,477.5807)的货币数据,最小货币单位千分之十
smallmoney 从-214,748.3648到214,748.3647的货币数据,最小货币单位千分之十
float
从-1.79E+308到1.79E+308可变精度的数字
real 从-3.04E+38到3.04E+38可变精度的数字
datetime 从1753年1月1日到9999年12日31的日期和时间数据,最小时间单位为百分之三秒或3.33毫秒
smalldatetime 从1900年1月1日到2079年6月6日的日期和时间数据,最小时间单位为分钟
timestamp 时间戳,一个数据库宽度的唯一数字
uniqueidentifier 全球唯一标识符GUID
char 定长非Unicode的字符型数据,最大长度为8000
varchar 变长非Unicode的字符型数据,最大长度为8000
text 变长非Unicode的字符型数据,最大长度为2^31-1(2G)
nchar
定长Unicode的字符型数据,最大长度为8000
nvarchar 变长Unicode的字符型数据,最大长度为8000
ntext
变长Unicode的字符型数据,最大长度为2^31-1(2G)
binary 定长二进制数据,最大长度为8000
varbinary 变长二进制数据,最大长度为8000
image 变长二进制数据,最大长度为2^31-1(2G)
-------------------------------------
Bit
1位,值为0或1
Int
Integer
4字节,值为-2^31~2^31-1
Smallint
2字节,值为-2^15~2^15-1
Tinyint
1字节,值为0~255
Decimal (p,s)
数字数据,固定精度为P,宽度为S
Numeric
Money
8字节,存放货币类型,值为-2^63~2^63-1
Small money
4字节,存放货币类型,值为-214748.3648~+214748.3647近似数值数据类型
Float (n)
N在1~24之间,4字节,7位精度
N=1~7为real
N在25~53之间,8字节,15位精度
=8~15为float
Datetime
8字节,描述某天的日期和时刻,值的精确度为1/300秒
Smalldatetime
4字节,描述某天的日期和时刻,精度为分钟
Cursor
对游标的引用
Timestamp
8字节,存放在数据库内唯一的数据
Uniqueidentifier
16字节,存放全局唯一标识(GUID)
Char (n)
非unicode字符串的固定长度,n=1~8000
Character (n)
Varchar (n)
可变长度,非unicode字符串n=1~8000
Char varying(n)
Text
服务器代码页中可变长度非unicode数据。最大长度为2^31-1个字符
Nchar
固定长度unicode字符串n=1~4000
National character (n),
National char(n)
Nvarchar
固定长度unicode字符串n=1~4000
National
character varying(n)
Ntext
可变长度unicode数据,最大长度为2^30-1个字符
National text
Binary (n)
固定长度二进制数据,n在1~8000之间,存储空间为n+4字节
Varbinary (n)
可变长度二进制数据,n=1~8000
Binary varying (n)
Tmage
可变长度二进制数据,大小为0~2^31-1
注意:
1)
对于数值型数据类型,宽度(scale)是指存储在小数点后的数字位数,而精度(precision)是指能存储的包含小数点在内的所有数字位数。
2) money和small money的存储宽度为4。
3) 时间戳列值在每一行更新时系统自动更新,时间戳列不能是关键字或关键字的一部分。
4)
唯一标识数据类型不能使用算术操作符(如+、-等),这种数据类型只能使用相等比较操作。Unicode是所有字符集的一致存储数据的标准。它要使用两倍于非Unicode数据存储的存储空间。
㈦ sql数据库一行最多插入多大的问题
你好。
在SQL server2000中,一个数据库中最多可以创建20亿个表,每个表最多可以定义1024个列(字段),每行最多可以存储8060字节,表的行数及总大小仅受可用存储空间的限制。
SQL 2005中尽管突破了这一限制,但是劝你不要用。我有惨重的教训,2005版一般安装的是未注册版。它可以免费使用,但是库文件不能超过2048M,也就是2G大小。可以续加新库DATA文件,但是总的大小不允许超过2G。
到时就知道了。后悔都来不及。
㈧ SQL数据库文件的最大容量是多少
显然不是2G。太小了。看下面的。
--SQLSERVER2000技术规格
--------------系统技术规格---------------
--每个服务器最多可以允许16个SQLSERVER实例
--每个实例可拥有 2147483467 个锁
--------------数据库技术规格--------------
--SQLSERVER的数据库大小1048516TB
--每个数据库可拥有的文件组数32767
--每个数据库可拥有的文件组数256
--文件大小(数据文件)32TB ---够大了吧,呵呵!
--文件大小(日志文件)32TB ---够大了吧,呵呵!
--数据库中的对象数2 147 483 647
--标识符的长度128
--------------表技术规格-------------------
--每个数据库中可拥有的表数受限于数据库中的对象数
--每个表可拥有的行数受限于可用的存储容量
--每个表的主键约束数1
--每个表的外键约束数253
--每个表的引用数253
--每个表的触发器数受限于数据库中的对象数
--每个表的簇索引数1
--每个表的非簇索引数249
--每个表的唯一约束249非簇的,1成簇的
--------------列技术规格-------------------
--每个索引可包含的列数16
--每个主键可包含的列数16
--每个外键可包含的列数16
--每个表的列数1024
--索引键的大小900字节
--每个character或binary列的字节数8000
--每个text,ntext或image列的字节数2GB-2
--每行的字节数8060
--每个索引的字节数900
--每个主键的字节数900
--每个外键的字节数900
--------------SQL技术规格-------------------
--批处理大小65536乘以网络包大小
--每个SELECT语句可处理的表数256
--存储过程源文件的字节数小于批处理大小或250MB
--每个存储过程的参数数目1024
--嵌套的子查询数32
--嵌套的触发器层数32
--每个SELECT语句可处理的列数4096
--每个INSERT语句可处理的列数1024
㈨ sql 中int nvarchar char VARchar 有什么区别
1.int 类型:
从 -2^31 (-2,147,483,648) 到 2^31 - 1(2,147,483,647) 的整型数据(所有数字)。
存储大小为 4 个字节。int 的 SQL-92 同义字为 integer。
2. char类型:
对英文(ASCII)字符占用1个字节,对一个汉字占用2个字节,CHAR存储定长数据很方便,CHAR字段上的索引效率极高,比如定义char(10),那么不论你存储的数据是否达到了10个字节,都要占去10个字节的空间。因为是固定长度,所以速度效率高。比如定义char(10),那么不论你存储的数据是否达到了10个字节,都要占去10个字节的空间。因为是固定长度,所以速度效率高。
3. VARCHAR存储变长数据
如果一个字段可能的值是不固定长度的,我们只知道它不可能超过10个字符,把它定义为 VARCHAR(10)是最合算的。VARCHAR类型的实际长度是它的值的实际长度+1。为什么“+1”呢?这一个字节用于保存实际使用了多大的长度。
Varchar类型:Varchar 的类型不以空格填满,而Char则会填充满为止,如varchar(100),但它的值只是"qian",所以它在数据库中存的值就是"qian",而char 不一样,如char(100),它的值是"qian",而实际上它在数据库中是"qian "(qian后共有96个空格,就是把它填满为100个字节)。
注:由于char是以固定长度的,所以它的速度会比varchar快得多!但程序处理起来要麻烦一点,要用trim之类的函数把两边的空格去掉!
4. Nvarchar类型
为了与其他多种字符的转换,如中文,音标等,对每个英文(ASCII)字符都占用2个字节,对一个汉字也占用两个字节,所有的字符都占用2个字节。
varchar(n):变长型字符数据类型,存储最长长度为8,000 个字符
nvarchar(n):可变长度 Unicode 数据,其最大长度为 4,000 字符.字节的存储大小是所输入字符个数的两倍,就是说它是双字节来存储数据的。如果存储数据如果存在单字节时,它也是以双字节来占用存储空间的。
varchar一般适用于英文和数字,Nvarchar适用中文和其他字符,其中N表示Unicode常量,可以解决多语言字符集之间的转换问题。