精华内容
下载资源
问答
  • MySQL定义数据字段的类型对你数据库的优化是非常重要的。MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。推荐教程:MySQL入门视频教程一、数值类型MySQL支持所有标准SQL数值数据类型。...

    5268f80b9b1e01f982625ef6fac83ca1.png

    0b23fb1dda9c26655b13def2f8c19128.png

    MySQL中定义数据字段的类型对你数据库的优化是非常重要的。

    MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。

    推荐教程:MySQL入门视频教程

    一、数值类型

    MySQL支持所有标准SQL数值数据类型。

    这些类型包括严格数值数据类型(INTEGER、SMALLINT、DECIMAL和NUMERIC),以及近似数值数据类型(FLOAT、REAL和DOUBLE  PRECISION)。

    关键字INT是INTEGER的同义词,关键字DEC是DECIMAL的同义词。

    BIT数据类型保存位字段值,并且支持MyISAM、MEMORY、InnoDB和BDB表。

    作为SQL标准的扩展,MySQL也支持整数类型TINYINT、MEDIUMINT和BIGINT。下面的表显示了需要的每个整数类型的存储和范围。类型大小范围(有符号)范围(无符号)用途

    TINYINT1 字节(-128,127)(0,255)小整数值

    SMALLINT2 字节(-32 768,32 767)(0,65 535)大整数值

    MEDIUMINT3 字节(-8 388 608,8 388 607)(0,16 777 215)大整数值

    INT或INTEGER4 字节(-2 147 483 648,2 147 483 647)(0,4 294 967 295)大整数值

    BIGINT8 字节(-9,223,372,036,854,775,808,9 223 372 036 854 775 807)(0,18 446 744 073 709 551 615)极大整数值

    FLOAT4 字节(-3.402 823 466 E+38,-1.175 494 351 E-38),0,(1.175 494 351 E-38,3.402 823 466 351 E+38)0,(1.175 494 351 E-38,3.402 823 466 E+38)单精度

    浮点数值

    DOUBLE8 字节(-1.797 693 134 862 315 7 E+308,-2.225 073 858 507 201 4 E-308),0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308)0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308)双精度

    浮点数值

    DECIMAL对DECIMAL(M,D) ,如果M>D,为M+2否则为D+2依赖于M和D的值依赖于M和D的值小数值

    二、日期和时间类型

    表示时间值的日期和时间类型为DATETIME、DATE、TIMESTAMP、TIME和YEAR。

    每个时间类型有一个有效值范围和一个"零"值,当指定不合法的MySQL不能表示的值时使用"零"值。

    TIMESTAMP类型有专有的自动更新特性,将在后面描述。类型大小

    (字节)范围格式用途

    DATE31000-01-01/9999-12-31YYYY-MM-DD日期值

    TIME3'-838:59:59'/'838:59:59'HH:MM:SS时间值或持续时间

    YEAR11901/2155YYYY年份值

    DATETIME81000-01-01 00:00:00/9999-12-31 23:59:59YYYY-MM-DD HH:MM:SS混合日期和时间值

    TIMESTAMP41970-01-01 00:00:00/2038

    结束时间是第 2147483647 秒,北京时间 2038-1-19 11:14:07,格林尼治时间 2038年1月19日 凌晨 03:14:07YYYYMMDD HHMMSS混合日期和时间值,时间戳

    三、字符串类型

    字符串类型指CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM和SET。该节描述了这些类型如何工作以及如何在查询中使用这些类型。类型大小用途

    CHAR0-255字节定长字符串

    VARCHAR0-65535 字节变长字符串

    TINYBLOB0-255字节不超过 255 个字符的二进制字符串

    TINYTEXT0-255字节短文本字符串

    BLOB0-65 535字节二进制形式的长文本数据

    TEXT0-65 535字节长文本数据

    MEDIUMBLOB0-16 777 215字节二进制形式的中等长度文本数据

    MEDIUMTEXT0-16 777 215字节中等长度文本数据

    LONGBLOB0-4 294 967 295字节二进制形式的极大文本数据

    LONGTEXT0-4 294 967 295字节极大文本数据

    CHAR 和 VARCHAR 类型类似,但它们保存和检索的方式不同。它们的最大长度和是否尾部空格被保留等方面也不同。在存储或检索过程中不进行大小写转换。

    BINARY 和 VARBINARY 类似于 CHAR 和 VARCHAR,不同的是它们包含二进制字符串而不要非二进制字符串。也就是说,它们包含字节字符串而不是字符字符串。这说明它们没有字符集,并且排序和比较基于列值字节的数值值。

    BLOB 是一个二进制大对象,可以容纳可变数量的数据。有 4 种 BLOB 类型:TINYBLOB、BLOB、MEDIUMBLOB 和 LONGBLOB。它们区别在于可容纳存储范围不同。

    有 4 种 TEXT 类型:TINYTEXT、TEXT、MEDIUMTEXT 和 LONGTEXT。对应的这 4 种 BLOB 类型,可存储的最大长度不同,可根据实际情况选择。

    展开全文
  • mongo shell提供各式各样的返回日期类型的方法,例如字符串类型或者Date对象类型: Date() 返回当前的日期字符串; new Date() 返回使用ISODate()包装的Date对象类型; ISODate() 返回使用ISODat

    • http://blog.csdn.net/user_longling/article/details/52398277
    • Date
    mongo shell中提供各式各样的返回日期类型的方法,例如字符串类型或者Date对象类型:
    Date() 返回当前的日期字符串;
    new Date() 返回使用ISODate()包装的Date对象类型;
    ISODate() 返回使用ISODate()包装的Date对象类型;
    内部Date对象存储的是64位整形数据(从1970年1月1日到现在时差毫秒数)。
    1. var myDateString = Date();  //返回日期字符串  
    2. myDateString            //在shell中输入变量名打印变量值  
    3. typeof myDateString     //使用typeof操作符检查类型  
    4.   
    5. //使用 Date()和ISODate() 构造方法返回Date类型  
    6. var myDate = new Date();  
    7. var myDateInitUsingISODateWrapper = ISODate();  
    8. //使用 instanceof操作符合检查类型  
    9. myDate instanceof Date              //操作结果true  
    10. myDateInitUsingISODateWrapper instanceof Date   //操作结果true  

    • ObjectId
    mongo shell提供ObjectId()包装类包装ObjectId数据对象。
    1. new ObjectId        //生成一个新的ObjectId数据  

    • NumberLong
    通常情况下mongo shell将所有的数据当作浮点值对待。
    mongo shell提供NumberLong()包装类处理64位整形数据。
    1. NumberLong("2090845886852")     //NumberLong() 接受一个long类型的字符串  
    2. db.collection.insert( { _id: 10, calc: NumberLong("2090845886852") } )  

    • NumberInt
    mongo shell中提供NumberInt()构造方法表示32位整形数据。
    展开全文
  • 对于boolen类型,在mysql数据库中,认为用int类型代替较好,对bit操作不是很方便,具有web页面开发的项目中,表示0/1,对应java类型的Integer较好。   decimal列的声明语法是decimal(m,d)。 参数的取值范围:...

     

    A、常规 映射

     

    integer 或者 int

    int 或者 java.lang.Integer

    INTEGER

    4 字节

    long

    long Long

    BIGINT

    8 字节

    short

    short Short

    SMALLINT

    2 字节

    byte

    byte Byte

    TINYINT

    1 字节

    float

    float Float

    FLOAT

    4 字节

    double

    double Double

    DOUBLE

    8 字节

    big_decimal

    java.math.BigDecimal

    NUMERIC

    NUMERIC(8,2)8 位

    character

    char Character String

    CHAR(1)

    定长字符

    string

    String

    VARCHAR

    变长字符串

    boolean

    boolean Boolean

    BIT

    布尔类型

    yes_no

    boolean Boolean

    CHAR(1) (Y-N)

    布尔类型

    true_false

    boolean Boolean

    CHAR(1) (T-F)

    布尔类型

     

    B 、 Java 时间和日期类型

     

    映射类型

    Java 类型

    标准 SQL 类型

    描述

    date

    util.Date 或者 sql.Date

    DATE

    YYYY-MM-DD

    time

    Date Time

    TIME

    HH:MM:SS

    timestamp

    Date Timestamp

    TIMESTAMP

    YYYYMMDDHHMMSS

    calendar

    calendar

    TIMESTAMP

    YYYYMMDDHHMMSS

    calendar_date

    calendar

    DATE

    YYYY-MM-DD

     

    C、 Java 大对象类型

     

    映射类型

    Java 类型

    标准 SQL 类型

    MySQL 类型

    binary

    byte[]

    VARBINARY( 或 BLOB)

    BLOB

    text

    String

    CLOB

    TEXT

    serializable

    Serializable 接口任意实现类

    VARBINARY( 或 BLOB)

    BLOB

    clob

    java.sql.Clob

    CLOB

    TEXT

    blob

    java.sql.Blob

    BLOB

    BLOB

    对于bolb,一般用于对图片的数据库存储,原理是把图片打成二进制,然后进行的一种存储方式,在java中对应byte[]数组。

    对于boolen类型,在mysql数据库中,认为用int类型代替较好,对bit操作不是很方便,具有web页面开发的项目中,表示0/1,对应java类型的Integer较好。

     
    decimal列的声明语法是decimal(m,d)。
    参数的取值范围: 
    1、M是数字的最大数(精度)。其范围为1~65(在较旧的MySQL版本中,允许的范围是1~254)。 
    2、D是小数点右侧数字的数目(标度)。其范围是0~30,但不得超过M。 
    说明:float占4个字节,double占8个字节,decimail(M,D)占M+2个字节。 
    如DECIMAL(5, 2) 的最大值为9 9 9 9 . 9 9,因为有7 个字节可用。

     

    转载于:https://www.cnblogs.com/TangGe520/p/8950447.html

    展开全文
  • 索引类型: B-TREE索引,哈希索引•B-TREE索引加速了数据访问,因为存储引擎不会扫描整个表得到需要的数据。相反,它从根节点开始。根节点保存了指向子节点的指针,并且存储引擎会根据指针寻找数据。它通过查找节点页...

    索引类型: B-TREE索引,哈希索引
    •B-TREE索引加速了数据访问,因为存储引擎不会扫描整个表得到需要的数据。相反,它从根节点开始。根节点保存了指向子节点的指针,并且存储引擎会根据指针寻找数据。它通过查找节点页中的值找到正确的指针,节点页包含子节点的指针,并且存储引擎会根据指针寻找数据。它通过查找节点页中的值找到正确的指针,节点页包含子节点中值的上界和下界。最后,存储引擎可能无法找到需要的数据,也可能成功地找到包含数据的叶子页面。
    •例:B-TREE索引 对于以下类型查询有用。匹配全名、匹配最左前缀、匹配列前缀、匹配范围值、精确匹配一部分并且匹配某个范围中的另一部分;
    B-TREE索引的局限:如果查找没有从索引列的最左边开始,它就没什么用处。不能跳过索引中的列,存储引擎不能优先访问任何在第一个范围条件右边的列。例:如果查询是where last_name=’Smith’ AND first_name LIKE ‘J%’ AND dob=’1976-12-23’;访问就只能使用索引的头两列,因为LIKE是范围条件。
    •哈希索引建立在哈希表的基础上,它只对使用了索引中的每一列的精确查找有用。对于每一行,存储引擎计算出了被索引列的哈希码,它是一个较小的值,并且有可能和其他行的哈希码不同。它把哈希码保存在索引中,并且保存了一个指向哈希表中每一行的指针。

    •因为索引只包含了哈希码和行指针,而不是值自身,MYSQL不能使用索引中的值来避免读取行。
    •MYSQL不能使用哈希索引进行排序,因为它们不会按序保存行。
    •哈希索引不支持部分键匹配,因为它们是由被索引的全部值计算出来的。也就是说,如果在(A,B)两列上有索引,并且WHERE子句中只使用了A,那么索引就不会起作用。
    •哈希索引只支持使用了= IN()和的相等比较。它们不能加快范围查询。例如WHERE  price > 100;
    •访问哈希索引中的数据非常快,除非碰撞率很高。当发生碰撞的时候,存储引擎必须访问链表中的每一个行指针,然后逐行进行数据比较,以确定正确的数据。如果有很多碰撞,一些索引维护操作就有可能会变慢。

    展开全文
  • 可以从数据库中的系统表 sysobjects 得到想要的数据表信息,具体SQL语句如下: select name from sysobjects where type = 'U'; 由于系统表sysobjects保存的都是数据库对象,其中type表示各种对象的类型,...
  • 今天为大家分享一下关键数据库里面的数据类型和约束。我们都知道国家要讲法律,干什么事情都要遵守法律,比如小的时候你上学的...好了,废话我们不多说,接下来我们看看数据库中的常用的一些数据类型和约束有哪些...
  • 数据存储和操作是以业务连续性为目标,包括存储数据的设计、实现和支持活动,以及在整个数据生命周期,从计划到销毁的各种操作活动。 在互联网时代背景下,传统单一的数据库的时代已经过去,对于数据库的新需求在...
  • 索引的几种类型分别是普通索引、唯一索引、聚集索引、主键索引、全文索引几种。...在我们建立数据库的时候,需要花费的时间去建立和维护索引,而且随着数据量的增加,需要维护它的时间也会增加。 在创建索引的...
  • 在Sql Server 2005中有哪些常用的数据类型呢?我想这些常用的数据类型应该是:char、nchar、varchar、nvarchar、text、ntext、int、float、money、bit、datetime、smalldatetime、image、binary、varbinary,还有些...
  • 数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件数据进行新增、查询、更新、删除等操作。 所谓“数据库”是以一定方式储存在一起、能予多个用户共享、具有尽可能小的冗余度、与...
  • 以下只是我针对数据库查询慢这个问题想到的可能的原因和一些解决办法的简单罗列,每一个问题和解决办法都可以详细描述很多,后面的再针对每一个点进行谈论 ... 数据库中的单表的数据量达到了多少?1000万?500.
  • 有时候我们想要获取到数据库的基本信息,当前程序连接的那个数据库,数据库的版本信息,数据库中有哪些表,表中都有什么字段,字段都是什么类型。等等一些信息,我们称之为数据库的元数据信息。实际开发中hibernate...
  • 1.2以上这些有哪些缺点1.3数据库1.5mysql二、sql语言2.2数据库中类型 一、数据库安装 1.两种方式: 压缩包版 安装程序版 官方版,文档里面路径,默认C盘(数据库,jdk) mysql -uroot -p(如果密码突然,my....
  • 1.第一范式:第一范式(normal Formate ,1NF)的目标是确保每列的原子性,如果每列(或者每个属性值)都是不可再分的最小数据单元(也是最小的原子单位),则满足第一范式,例如: 客人住宿信息表(姓名,客人编号,...
  • SQL 优化: 尽量避免使用 SELECT *; 只查询一条记录时使用 limit 1; ...使用连接查询代替子查询;...尽量使用数字类型字段,提高比对效率;...长度不变且对查询速度要求高的数据可以考虑使用 char,否则...表中数据量...
  • 用户可以在 SequoiaDB 巨杉数据库中创建多种类型的数据库实例,以满足上层不同应用程序各自的需求。 SequoiaDB 巨杉数据库支持 MySQL、PostgreSQL、SparkSQL 和 MariaDB 四种关系型数据库实例、类 MongoDB 的 JSON ...
  • 常见的数据库有哪些

    千次阅读 2018-02-25 17:06:57
    Redis是一种高性能的key-value数据库,它支持存储的value类型比Memcached更多,包括string(字符串)、list(链表)、set(集合)、zset(有序集合)、hash(哈希类型),可以将存储在内存的键值对数据...
  • 在创建数据表的过程设置列的属性并实施数据完整性 SQL Server提供了以下四...2.数据类型 3.是否允许为空 4.主键 5.必要的默认值 6.标识列 7.检查约束 8.主外键关系建立后在操作数据时的注意事项 数...
  • 数据库性能优化有哪些方式?

    千次阅读 2019-07-04 22:00:51
    SQL 优化: 尽量避免使用 SELECT *; 只查询一条记录时使用 limit 1; 使用连接查询代替子查询; 尽量使用一些能通过索引查询的关键字。 ...尽量使用数字类型字段,提高比对...表中数据量过大可以适当的进行水平分割...
  • 实际上在很多数据库的设计优化文档中都关于通过优化数据类型的优化说明内容,在 MySQL ,我们同样也可以通过数据类型的优化达到优化整个 Schema 设计的目的。 优化数据类型提高性能的主要原理在于以下几个方面:...
  • Hive支持关系型数据库中的大多数基本数据类型,同时支持关系型数据库中很少出现的3种集合数据类型,下面我们将简短地介绍一下这样做的原因。    其中一个需要考虑的因素就是这些数据类型是如何在文本文件中进行...
  • 导读:数据库通常用来存储结构化数据,这些数据有明确定义的格式。在过去的几年中,已经发布了许多数据库,可供我们选择的数据库每年都在增长。这些数据库中有许多是为特定类型数据模型和工作任务设...
  • [故障类别] (一)故障类型数据库表记录删除 (二)典型特征: 1. 数据无任何数据或只有部...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,067
精华内容 426
关键字:

数据库中数据类型有哪些