数据库二进制类型
1. 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 个存储字节。
2. sql数据库中常用的数据类型有什么
一、整数数据类型:整数数据类型是最常用的数据类型之一。
1、INT(INTEGER)
INT (或INTEGER)数据类型存储从-2的31次方 (-2 ,147 ,483 ,648) 到2的31次方-1 (2 ,147 ,483,647) 之间的所有正负整数。每个INT 类型的数据按4 个字节存储,其中1 位表示整数值的正负号,其它31 位表示整数值的长度和大小。
2、SMALLINT
SMALLINT 数据类型存储从-2的15次方( -32, 768) 到2的15次方-1( 32 ,767 )之间的所有正负整数。每个SMALLINT 类型的数据占用2 个字节的存储空间,其中1 位表示整数值的正负号,其它15 位表示整数值的长度和大小。
二、浮点数据类型:浮点数据类型用于存储十进制小数。浮点数值的数据在SQL Server 中采用上舍入(Round up 或称为只入不舍)方式进行存储。
1、REAL数据类型
REAL数据类型可精确到第7 位小数,其范围为从-3.40E -38 到3.40E +38。 每个REAL类型的数据占用4 个字节的存储空间。
2、FLOAT
FLOAT数据类型可精确到第15 位小数,其范围为从-1.79E -308 到1.79E +308。 每个FLOAT 类型的数据占用8 个字节的存储空间。 FLOAT数据类型可写为FLOAT[ n ]的形式。n 指定FLOAT 数据的精度。n 为1到15 之间的整数值。
当n 取1 到7 时,实际上是定义了一个REAL 类型的数据,系统用4 个字节存储它;当n 取8 到15 时,系统认为其是FLOAT 类型,用8 个字节存储它。
三、二进制数据类型
1、BINARY
BINARY 数据类型用于存储二进制数据。其定义形式为BINARY( n), n 表示数据的长度,取值为1 到8000 。在使用时必须指定BINARY 类型数据的大小,至少应为1 个字节。BINARY 类型数据占用n+4 个字节的存储空间。
在输入数据时必须在数据前加上字符“0X” 作为二进制标识,如:要输入“abc ”则应输入“0xabc ”。若输入的数据过长将会截掉其超出部分。若输入的数据位数为奇数,则会在起始符号“0X ”后添加一个0,如上述的“0xabc ”会被系统自动变为“0x0abc”。
2、VARBINARY
VARBINARY数据类型的定义形式为VARBINARY(n)。 它与BINARY 类型相似,n 的取值也为1 到8000, 若输入的数据过长,将会截掉其超出部分。
不同的是VARBINARY数据类型具有变动长度的特性,因为VARBINARY数据类型的存储长度为实际数值长度+4个字节。当BINARY数据类型允许NULL 值时,将被视为VARBINARY数据类型。
四、逻辑数据类型
1、BIT:BIT数据类型占用1 个字节的存储空间,其值为0 或1 。如果输入0 或1 以外的值,将被视为1。 BIT 类型不能定义为NULL 值(所谓NULL 值是指空值或无意义的值)。
五、字符数据类型:字符数据类型是使用最多的数据类型。它可以用来存储各种字母、数字符号、特殊符号。一般情况下,使用字符类型数据时须在其前后加上单引号’或双引号” 。
1、CHAR
CHAR 数据类型的定义形式为CHAR[ (n) ]。 以CHAR 类型存储的每个字符和符号占一个字节的存储空间。n 表示所有字符所占的存储空间,n 的取值为1 到8000, 即可容纳8000 个ANSI 字符。
若不指定n 值,则系统默认值为1。 若输入数据的字符数小于n,则系统自动在其后添加空格来填满设定好的空间。若输入的数据过长,将会截掉其超出部分。
(2)数据库二进制类型扩展阅读:
SQL包括了所有对数据库的操作,主要是由4个部分组成:
1、数据定义:这一部分又称为“SQL DDL”,定义数据库的逻辑结构,包括定义数据库、基本表、视图和索引4部分。
2、数据操纵:这一部分又称为“SQL DML”,其中包括数据查询和数据更新两大类操作,其中数据更新又包括插入、删除和更新三种操作。
3、数据控制:对用户访问数据的控制有基本表和视图的授权、完整性规则的描述,事务控制语句等。
4、嵌入式SQL语言的使用规定:规定SQL语句在宿主语言的程序中使用的规则。
3. java 往数据库插入二进制数据
插入二进制的数据,数据库得是blob或clob类型的,然后使用byte[]就可以插入进去
4. 现有一个sql数据库表如何读取二进制内容
二进制数据由十六进制数表示,可以使用binary、varbinary和image数据类型存储。
binary固定长度(最多为8K)的二进制数据类型。
binary[ ( n) ] 固定长度的 n个字节二进制数据。N必须从 1 到 8,000。存储空间大小为 n+4 字节。
varbinary可变长度(最多为8K)的二进制数据类型。
varbinary[ ( n) ]n个
字节变长二进制数据。n必须从 1 到 8,000。存储空间大小为实际输入数据长度 +4个字节,而不是
n个字节。输入的数据长度可能为 0 字节。在 SQL-92 中varbinary的同义词为binary
varying。image用来存储长度超过 8 KB 的可变长度的二进制数据。
除非数据长度超过 8KB,否则一般宜用 varbinary 类型来存储二进制数据。一般用来存放
Microsoft Word 文档、Microsoft Excel 电子表格、包含位图的图像、图形交换格式 (GIF) 文件和联合图像专家组 (JPEG)
文件。在 Image 数据类型中存储的数据是以位字符串存储的,不是由 SQL Server
解释的,必须由应用程序来解释。例如,应用程序可以使用BMP、TIEF、GIF 和 JPEG 格式把数据存储在 Image 数据类型中。参考下列C# 代码:
privatevoidPage_Load(objectsender,System.EventArgse)
{
//gettheimageidfromtheurl
stringImageId=Request.QueryString["img"];
//buildourquerystatement
stringsqlText="SELECTimg_data,img_contenttypeFROMImageWHEREimg_pk="+ImageId;
SqlConnectionconnection=newSqlConnection(ConfigurationSettings.AppSettings["DSN"].ToString());
SqlCommandcommand=newSqlCommand(sqlText,connection);
//
connection.Open();
SqlDataReaderdr=command.ExecuteReader();
if(dr.Read())//yupwefoundourimage
{
Response.ContentType=dr["img_contenttype"].ToString();
Response.BinaryWrite((byte[])dr["img_data"]);
}
connection.Close();
}
}
5. 数据库写入磁盘的数据文件为什么用二进制文件而不用文本文件
1.
这个和计算机的存储有关系吧
2.
比如数字,在计算机的表示中,是以二进制表示的。二进制存储节省
空间和时间
。
3.
数据库本身有二进制类型的数据类型,这个以无法以文本存储。
6. MYSQL数据库类型分为四大主要类别: ( )日 期型()和二进制型
(数值型 )日 期型(字符型)和二进制型?
数值型主要是保存数字的,又分为严格数值数据类型(INTEGER、SMALLINT、DECIMAL和NUMERIC),以及近似数值数据类型(FLOAT、REAL和DOUBLE PRECISION)。
日期型为DATETIME、DATE、TIMESTAMP、TIME和YEAR。
字符型,也称为字符串类型,主要为CHAR、VARCHAR,TEXT等
二进制这主要为BLOB
7. 数据库中二进制数据主要是用来存储什么数据的麻烦举例说说
很多数据库将存储二进制的字段都定义为BLOB类型,实际上它可以存储任何数据类型,比如数字型或者是字符型,当然了,数据库中已经有数字型和字符型自己的定义,所以我们一般也不会将这些数据存储在BLOB中,在BLOB中最常存储的数据是文件数据,原因是因为BLOB有个特点,那就是存入的数据长度不受什么限制,明白了吧?如果你想保存一张图片在数据库中,那么BLOB类型的字段是你唯一的选择。
8. 数据库中001属于什么类型
001是阿拉伯数字,在机器码中,可以为二进制数据类型。
二进制数据类型(Binary Data Types)。
二进制数据类型用于表达二进制形式的数据。
因为字符型数据被看成了只有8比特的最短整型。这样整型数就有了8位的整型char、16位的整型short或short int、32的整型long或int、64位的整型long long等四类。前面我们已经介绍了整型是按照补码存放的,目的是为了把减法运算变成加法运算。
正数的补码与原码一样。所谓原码就是整数直接转换成的二进制,反码就是对原码除了符号位以外的每个二进制位进行取反运算——0变1或1变0,反码加1得到补码。
如短整型65的原码、反码和补码都是二进制0000000001000001,但是短整型-65的原码是1000000001000001,反码为1111111110111110,补码为1111111110111111。从右至左开始数,每四个二进制对应一个十六进制位,因此-65对应的16进制补码为0xffbf,其中0x表示16进制的前缀。
9. ORACLE 存二进制用什么数据类型
可以用blob或bfile类型来存储该类二进制数据。具体说明如下: ★ blob:用来存储可变长度的二进制数据,blob数据在数据库之间或在客户机与服务器进程之间传递,yVSkyV
10. 数据库中存储二进制文件的查询效率问题
你所谓的二进制数据文件针对的应该是大对象,一般而言,不会使用到这种存储方式。不过说查询效率,在对大对象进行查询时,像ORACLE,就是给数据文件增加了一个头,用以查询时的定位。而对于大数据的文本文件,比如CLOB,它提供了其他的方式让你来进行数据查询。而你所说的存在其他的字段,那么,如果你存储的是文本文件而非音频视频的话,建议你采用CLOB而非BLOB……另外,就查询效率而言,没有什么固定的方式是最好的,只有针对你的应用,采用最合适的数据库架构才是最优的。在查询效率这点上,建议你看看数据库的簇集,索引,分区/多文件组(oracle是分区,sql server就是多文件组了),这些如果使用恰当的话,可以提高查询效率……