SQL中的五种数据类型:[新手初学篇]
简要描述一下sql中的五种数据类型:字符型,文本型,数值型,逻辑型和日期型字符型
varchar vs char
varchar型和char型数据的这个差别是细微的,但是非常重要。他们都是用来储存字符串长度小于255的字符。
假如你向一个长度为四十个字符的varchar型字段中输入数据bill gates。当你以后从这个字段中取出此数据时,你取出的数据其长度为十个字符——字符串bill gates的长度。现在假如你把字符串输入一个长度为四十个字符的char型字段中,那么当你取出数据时,所取出的数据长度将是四十个字符。字符串的后面会被附加多余的空格。
当你建立自己的站点时,你会发现使用varchar型字段要比char型字段方便的多。使用varchar型字段时,你不需要为剪掉你数据中多余的空格而操心。
varchar型字段的另一个突出的好处是它可以比char型字段占用更少的内存和硬盘空间。当你的数据库很大时,这种内存和磁盘空间的节省会变得非常重要
文本型
text
使用文本型数据,你可以存放超过二十亿个字符的字符串。当你需要存储大串的字符时,应该使用文本型数据。
注意文本型数据没有长度,而上一节中所讲的字符型数据是有长度的。一个文本型字段中的数据通常要么为空,要么很大。
当你从html form的多行文本编辑框(textarea)中收集数据时,你应该把收集的信息存储于文本型字段中。但是,无论何时,只要你能避免使用文本型字段,你就应该不适用它。文本型字段既大且慢,滥用文本型字段会使服务器速度变慢。文本型字段还会吃掉大量的磁盘空间。
一旦你向文本型字段中输入了任何数据(甚至是空值),就会有2k的空间被自动分配给该数据。除非删除该记录,否则你无法收回这部分存储空间。
数值型
sql支持许多种不同的数值型数据。你可以存储整数 int 、小数 numeric、和钱数 money。
int vs smallint vs tinyint
他们的区别只是字符长度:
int型数据的表数范围是从-2,147,483,647到2,147,483,647的整数
smallint 型数据可以存储从-32768到32768的整数
tinyint 型的字段只能存储从0到255的整数,不能用来储存负数
通常,为了节省空间,应该尽可能的使用最小的整型数据。一个tinyint型数据只占用一个字节;一个int型数据占用四个字节。这看起来似乎差别不大,但是在比较大的表中,字节数的增长是很快的。另一方面,一旦你已经创建了一个字段,要修改它是很困难的。因此,为安全起见,你应该预测以下,一个字段所需要存储的数值最大有可能是多大,然后选择适当的数据类型。
muneric
为了能对字段所存放的数据有更多的控制,你可以使用numeric型数据来同时表示一个数的整数部分和小数部分。numeric型数据使你能表示非常大的数——比int型数据要大得多。一个numeric型字段可以存储从-1038到1038范围内的数。numeric型数据还使你能表示有小数部分的数。例如,你可以在numeric型字段中存储小数3.14。
当定义一个numeric型字段时,你需要同时指定整数部分的大小和小数部分的大小。如:muneric(23,0)
一个 numeric型数据的整数部分最大只能有28位,小数部分的位数必须小于或等于整数部分的位数,小数部分可以是零。
money vs smallmoney
你可以使用 int型或numeric型数据来存储钱数。但是,专门有另外两种数据类型用于此目的。如果你希望你的网点能挣很多钱,你可以使用money型数据。如果你的野心不大,你可以使用smallmoney型数据。money型数据可以存储从-922,337,203,685,477.5808到922, 337,203,685,477.5807的钱数。如果你需要存储比这还大的金额,你可以使用numeric型数据。
smallmoney型数据只能存储从-214,748.3648到214,748.3647 的钱数。同样,如果可以的话,你应该用smallmoney型来代替money型数据,以节省空间。
逻辑型
bit
如果你使用复选框( checkbox)从网页中搜集信息,你可以把此信息存储在bit型字段中。bit型字段只能取两个值:0或1。
当心,在你创建好一个表之后,你不能向表中添加 bit型字段。如果你打算在一个表中包含bit型字段,你必须在创建表时完成。
日期型
datetime vs smalldatetime
一个 datetime型的字段可以存储的日期范围是从1753年1月1日第一毫秒到9999年12月31日最后一毫秒。
如果你不需要覆盖这么大范围的日期和时间,你可以使用smalldatetime型数据。它与datetime型数据同样使用,只不过它能表示的日期和时间范围比datetime型数据小,而且不如datetime型数据精确。一个smalldatetime型的字段能够存储从1900年1月1日到 2079年6月6日的日期,它只能精确到秒。
datetime型字段在你输入日期和时间之前并不包含实际的数据,认识这一点是重要的。
↓相关文章:
- · Windows系统安装免输序列号的方法总结
- · 一个好汉六个帮 打造极速Windows系统
- · 解析Cookie欺骗实现过程及具体应用
- · 打造WIN2000/XP/2003系统万能克隆
- · 河南网通宽带共享:破解河南网通宽带共享完全版
- · 变态传文件法(比tftp,ftp,iget.vbe都爽的)
- · 死杀毒软件 逼疯防火墙—新兴木马NameLess BackDoor复仇记
- · 实战体会Java的多线程编程
- · 防御DDoS的六大绝招
- · XP系统绕过正版验证的方法
- · 巧妙解决Windows XP系统网络访问难题
- · 高手详解Windows操作系统帐户权限设置
- · 打破常规:改良Windows XP的打开窗口
- · MSN 菜鸟入门
- · Windows XP使用28个超级技巧
- · 收集MD5破解网站[在线搜索]
- · SYN攻击原理以及防范技术
- · 高手支招:免费拥有QQ魔法表情
- · 免费得QQ秀,抓紧时间!截至日期10月25日
- · Windows系统使用的文件及打开方式
- · 把你的Gmail界面改成Mac风格
- · 关于MySQL嵌套查询的技巧
- · Google搜索技巧2005版(Google Search Tips 2005)
- · Linux 9系统下构建小型入侵检测系统
- · ASP+Access的安全隐患及对策
- · QQ注册向导的妙用
- · QQ业务跨站漏洞初步研究
- · 快速批量绑定MAC与IP地址
- · 高级网络管理技巧之“七招鲜”
- · 解决RH9.0自动升级出现的SSL连接错误
- · Win XP/2003系统服务备份与保护
- · WinXP系统丢失还原点解决办法
- · IP欺骗原理精解和防范手段综述
- · 视频播放新问题解析大全
- · 防止ASP木马在服务器上运行
- · Windows权限设置详解
- · SC介绍和教程
- · PHPWindBlog漏洞使用说明
- · netcat使用指南
- · 彻底找出web空间中的asp后门
- · 保护IIS服务器的15个技巧
- · Linux操作系统中的7件武器详解
- · 防火墙日志记录让蠕虫病毒无处可逃
- · 检测 Unix是否被入侵最快捷的方法
- · 精简系统盘及系统镜像制作经验谈
- · SQL恢复技术
- · 局域网中工作组和域的差别
- · 硬盘数据恢复的相关知识
- · Windows 2003中如何安全的释放内存
- · 教你几招本地电脑解除限制总动员
- · Google自定义搜索结果
- · 入侵动易2005
- · 跨站脚本执行漏洞详解
- · WinXP自动化高级应用
- · QQ2005 Beta3采用键盘加密的保护技术
- · 关键字排名查询工具
- · 网络技术常用术语汉语对照
- · 流媒体发展新趋势
- · 网络加速技术CDN
- · PHP注入某大型网站

