SQL常见数据类型有哪一些?功能是什么?
Admin 2021-05-28 群英技术资讯 981 次浏览
学习SQL对于常用的数据类型是需要掌握的,为了让大家熟悉和掌握数据类型,下面给大家介绍一下常见的SQL数据类型,以下有描述和使用注意事项,大家可以看看。
数据类型 | 描述 |
---|---|
CHARACTER(n) | 字符/字符串。固定长度 n。 |
VARCHAR(n) 或 CHARACTER VARYING(n) | 字符/字符串。可变长度。最大长度 n。 |
BINARY(n) | 二进制串。固定长度 n。 |
BOOLEAN | 存储 TRUE 或 FALSE 值 |
VARBINARY(n) 或 BINARY VARYING(n) | 二进制串。可变长度。最大长度 n。 |
INTEGER(p) | 整数值(没有小数点)。精度 p。 |
SMALLINT | 整数值(没有小数点)。精度 5。 存储数据的范围是从-2的15次方(-32768)到2的15次方-1(32767),占用2个字节的储存空间。 |
INTEGER | 整数值(没有小数点)。精度 10。 存储数据的范围是-2的31次方到2的31次方-1,占用4个字节的储存空间。 |
BIGINT | 整数值(没有小数点)。精度 19。 |
DECIMAL(p,s) | 精确数值,精度 p,小数点后位数 s。例如:decimal(5,2) 是一个小数点前有 3 位数小数点后有 2 位数的数字。 |
NUMERIC(p,s) | 精确数值,精度 p,小数点后位数 s。(与 DECIMAL 相同) |
FLOAT(p) | 近似数值,尾数精度 p。一个采用以 10 为基数的指数计数法的浮点数。该类型的 size 参数由一个指定最小精度的单一数字组成。 |
REAL | 近似数值,尾数精度 7。 |
FLOAT | 近似数值,尾数精度 16。 |
DOUBLE PRECISION | 近似数值,尾数精度 16。 |
DATE | 存储年、月、日的值。 |
TIME | 存储小时、分、秒的值。 |
TIMESTAMP | 存储年、月、日、小时、分、秒的值。 |
INTERVAL | 由一些整数字段组成,代表一段时间,取决于区间的类型。 |
ARRAY | 元素的固定长度的有序集合 |
MULTISET | 元素的可变长度的无序集合 |
XML | 存储 XML 数据 |
其中标红的是在建表时常用的数据类型。
数据类型的名称在不同数据库平台中有一些区别,在SQL Server和MY SQL中(或者还有其他平台)数值型还有一个tinyint的类型(范围从0到255)。
应该注意根据实际情况选用不同的数据类型。
一、定义数据长度太长会造成存储空间的浪费。
例如:
对“姓名”字段:中国人姓名一般不会太长,可以定义为char (10)。char(10)可以存储5个中文字符。而在需要考虑少数民族或者其他名字很长(例如外国人?)的情况下,则需要改成char(20)或者更长。
二、选择类型不准确可能会造成对后续操作的影响。
例如:
对“年龄”字段:理论上“年龄”可以定义成char和tinyint。当不需要对年龄进行计算时,定义成char是没有问题的;但很多情况下,我们需要对年龄进行计算、排序和比较等操作,选用tinyint会方便一些。而且正常地球人寿命不超过150,smallint和int的范围太大,造成空间浪费。
对“电话号码”字段:建议用varchar类型。电话号码如果分固定电话和手机号码的话,长度不一。而varchar比char更灵活,长度可变,而且存储空间更小。
以上就是关于SQL数据类型的相关介绍,除了要掌握SQL数据类型,对于SQL数据类型的使用要注意的事项也要了解,希望大家阅读完这篇文章能有所收获。
文本转载自脚本之家
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
本文通过介绍默认使用索引、强制使用聚集索引、强制使用非聚集索引让我们知道对于检索所有列结果集使用主键的聚集索引是最佳选择。有兴趣的朋友可以看下
一般,我们建立数据库表时,表数据都存放在一个文件,而对表做分区之后,就可以把一个数据文件拆分到多个数据文件中,这样有利于数据操作和提高效率。对于大量数据的数据表,我们做分区是有必要的,为了提高SQL的执行效率,做SQL优化也很重要的。
IN和NOT IN是比较常用的关键字,为什么要尽量避免呢?这篇文章主要给大家介绍了关于T-SQL查询为何慎用 IN和NOT IN的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
sql中exists和in的区别区别是什么?有些新手对于exists和in的区别并不是很清楚,其实exists和in的区别是很小的,但是两者还是存在一些不同,下面我们一起来了解一下。
备份是指对SQL Server数据库或事务日志进行的复制,下面这篇文章主要给大家介绍了关于SQL Server备份数据库的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008