在数据库中,通过什么属性,可以控制字段空间大小

在数据库中,通过什么属性,可以控制字段空间大小,第1张

要控制字段空间大小,我们可以通过字段属性里的data type属性。不同的数据类型占据不同的空间大小。详细信息,请参考以下官方文档:>

哈哈,我找到并在ACCESS里测试通过了:

在ACCESS里,备注类型用Memo表示,所以改变字段的数据类型为备注的SQL为:

ALTER TABLE user ALTER COLUMN userinfo Memo

对了,如果user表有外键,而且你要修改的字段就是外键的话,你就不能修改啦!

下面给出修改为其它类型的SQL(表为tb,字段为aa):

ALTER TABLE tb ALTER COLUMN aa Byte 数字[字节]

ALTER TABLE tb ALTER COLUMN aa Long 数字[长整型]

ALTER TABLE tb ALTER COLUMN aa Short 数字[整型]

ALTER TABLE tb ALTER COLUMN aa Single 数字[单精度

ALTER TABLE tb ALTER COLUMN aa Double 数字[双精度]

ALTER TABLE tb ALTER COLUMN aa Currency 货币

ALTER TABLE tb ALTER COLUMN aa Char 文本

ALTER TABLE tb ALTER COLUMN aa Text(n) 文本,其中n表示字段大小

ALTER TABLE tb ALTER COLUMN aa Binary 二进制

ALTER TABLE tb ALTER COLUMN aa Counter 自动编号

ALTER TABLE tb ALTER COLUMN aa Memo 备注

ALTER TABLE tb ALTER COLUMN aa Time 日期/时间

ACCESS里的所有数据类型都在这里啦,呵呵!

这些都是俺一个一个的查出来并测试通过的啦,辛苦啊!就为了拿分冲刺经理位置啊,把俺的选为最佳答案吧,谢谢合作啊!……

Access数据库为字段提供了10种数据类型,具体如下:

1.文本型(Text):用于输入文本或文本与数字相结合的数据,最长为255个字符(字节),默认值是50。在Access中,每一个汉字和所有特殊字符(包括中文标点符号)都算作一个字符。

2.货币型(Currency):用来存储货币值,占8个字节,在计算中禁止四舍五入。

3.数字型(Number):用于可以进行数值计算的数据,但货币除外。数字型字段按字段大小分字节、整型、长整型、单精度型、双精度型、同步复制ID和小数7种情形,分别占1、2、4、4、8、16和12个字节。

4.日期/时间型(Date/Time):用于存储日期和(或)时间值,占8个字节。

5、自动编号型(AutoNumber):用于在添加记录时自动插入的序号(每次递增1或随机数),默认是长整型,也可以改为同步复制ID。自动编号不能更新。

6、是/否型(Yes/No):用于表示逻辑值(是/否,真/假),占1个字节。

7、备注型(Memo):用于长文本或长文本与数字(大于255个字符)的结合,最长为65535个字符。

8、OLE对象型(OLE Object):用于使用OLE协议在其它程序中创建的OLE对象(如Word文档、Excel电子表格、、声音等),最多存储1GB(受磁盘空间限制)。

9、超级链接型(Hyper Link):用于存放超级链接地址,最多存储64000个字符。

10、查阅向导型(Lockup Wizard):让用户通过组合框或列表框选择来自其它表或值列表的值,实际的字段类型和长度取决于数据的来源。

参考资料来源:百度百科-Microsoft Office Access

参考资料来源:百度百科-数据类型

即使web2含有memo数据类型字段,使用union后数据库引擎也会自动将该字段处理为文本数据类型,超出范围的数据会被截断(例如ACCESS数据库文本类型字段最多可存储255个字符)。你可以尝试一下web1自己跟自己联合一下,同样会被截断。

要解决这个问题,需要绕一下弯子:

假设web1和web2有一个双方都有的字段 item,先联合 item字段(memo数据类型字段不参与),然后用联合表再与web1基于item字段左联接取回web1的Picture_download的字段值,这样memo数据就不会被截断了。

select t, web1Picture_download from

(select item from web1 union select item from web2) t

left join web1 ON titem=web1item;

注意上面代码,如果要保留web1 和web2 item的重复记录则要使用ALL关键字。

哦!对了,如果直接在联合里配合ALL关键字,则两表直接联合是不会截断memo数据类型字段的,但是这样做出现重复记录的问题,应予以留意。

(因为无须比较重复记录,memo数据类型字段没必要予以截断。如果需要比较的话由于memo数据类型的记录值可能会很大,两个字符数很多的的memo数据值实施比较所带来的系统开销会变得非常之大导致SQL语句运行耗时过长。因此数据库引擎的设计者采取了折中方案,只截取最开头的内容进行比较以节省开销)。

例如你提问的SQL联合语句增加一个关键字all后就不会出现截断现象。

Select Picture_download

from web1

Union all

Select "" as Picture_download

from web2

请留意上面代码使用ALL关键字所带来的重复记录问题,如果不考虑滤除重复记录时使用UNION ALL处理起来其效率比较高和简单。

是否用备注类型取决于存储的数据。一般备注类型属于文本,但access中有文本类型。

1、使用“文本”数据类型存储如名称、地址和任何不需计算的数字,如电话号码、部件编号或者邮政编码。“文本”字段能存储最多 255 个字符,但默认字段大小是 50 个字符。“字段大小”属性控制可以输入“文本”字段的最大字符个数。

2、如果需要存储超过 255 个字符,应使用“备注”数据类型。“备注”最多可以存储 65,536 个字符。如果要存储带格式文本或长文档,可以创建 OLE 对象字段代替“备注”字段。

3、“文本”和“备注”数据类型存储输入到一个字段中的值;不存储字段中没用的部分的空白字符。

4、可以对“文本”或者“备注”字段进行分组和排序,但 Access 只使用“备注”字段的前 255 个字符进行分组和排序。

以上就是关于在数据库中,通过什么属性,可以控制字段空间大小全部的内容,包括:在数据库中,通过什么属性,可以控制字段空间大小、access数据库的问题、如何修改Access数据库表的数据类型等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9374165.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存