mysql存储引擎和数据类型(二)

存储引擎:
1. 查看支持的存储引擎: 
     show engines \G;
      show variables like ‘have%';
2. 查看默认存储引擎: 
     show variables like ‘storage_engine%';
3. 修改默认的存储引擎: 
① 安装版可以通过向导的方式:
    ”开始”—> “程序” —> “MySQL” —> “MySQL Server 5.5” —> “MySQL Server Instance Configuration Wizard”,进入图形化实例配置向导的欢迎页面。在图形化实例配置向导中,选择单击”next”按钮,进入”MySQL选择用途类型”,在该页面中如果选择”Multifunctional Database”单选按钮,则默认存储引擎为InnoDB。如果选择”Non-Transaction Database Only”单选按钮,则默认为存储引擎为MyISAM。 
② 安装版或者免装版另一种修改默认引擎的方式:
    打开my.ini配置文件,关于[mysqld]组的内容中添加配置 default-storage-engine=INNODB

数据类型:
数据库管理系统提供了 整数类型、浮点数类型和定点数类型和位类型、日期和时间类型、字符串类型。

1、整数类型:
tinyint(1字节) smallint(2字节) mediumint(3字节) int和integer(4字节) bigint(8字节)
如果无法区分各个整数的表示范围,可以通过查看mysql的系统帮助查看相关信息。
 •mysql> help contents;
• mysql> help Data Types;
•mysql> help int;

2、浮点数类型、定点数类型、位类型:
 •浮点数类型:float(4字节) double(8字节) 如果需要精确到小数点后十位以上,就需要选择double
•定点数类型:dec(M,D)(M+2字节) decimal(M,D)(M+2字节)
要求小数精确度非常高时选择,通常表示金额等优先选择decimal
 •位类型:bit(1-8字节)
说明:decimal(18,4)总长18位,包括1位小数点和4位小数,也就是说18-1-4=13整数位只有13位 M:总长度 D:小数的位数

3、日期和时间类型:
•data(4字节)
 •datatime(8字节)
 •timestamp(4字节)
 •time(3字节)
 •year(1字节)
每种日期和时间数据类型都有一个取值范围,如果插入的值超过了该类型的取值范围,则会插入默认值。
 •如果要表示年月日,一般会使用date
 •如果要表示年月日时分秒,一般会使用datetime
 •如果需要经常插入或者更新日期为当前系统时间,一般会使用timestamp类型
 •如果要表示时分秒,一般会使用time
 •如果要表示年份,一般会使用year,因为该类型比date占用更少的空间

4、字符串类型:
char系列字符串:
 •char(M) M字节 M为0—255之间的整数
•varchar(M) M字节 M为0-65535之间的整数 长度是可变的
备注:UTF-8:一个汉字 = 3个字节,英文是一个字节;GBK: 一个汉字 = 2个字节,英文是一个字节

text系列字符串类型:
 •tinytext (0-255字节)
 •text(0-65535字节)
 •mediumtext(0-167772150字节)
 •longtext(0-4294967295字节)

binary系列字符串类型:
 •binary(M) M为字节 允许长度为0-M
•varbinary(M) M为字节 允许长度为0-M

备注:这两个和前面的char 和 varchar类型,区别是char这组存储字符数据,binary可以存储二进制数据(图片、音乐、视频)
blob系列字符串类型:
•tinyblob 0-255字节
 •blob 0-2的16次方
 •mediumblob 0-2的24次方
•longblob 0-2的32次方
备注:这组和text类型,区别是这组可以存储二进制数据(图片、音乐、视频),text的一组只能存储字符数据

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • MySQL存储引擎总结

    前言 在数据库中存的就是一张张有着千丝万缕关系的表,所以表设计的好坏,将直接影响着整个数据库.而在设计表的时候,我们都会关注一个问题,使用什么存储引擎.等一下,存储引擎?什么是存储引擎? 什么是存储引擎? 关系数据库表是用于存储和组织信息的数据结构,可以将表理解为由行和列组成的表格,类似于Excel的电子表格的形式.有的表简单,有的表复杂,有的表根本不用来存储任何长期的数据,有的表读取时非常快,但是插入数据时去很差:而我们在实际开发过程中,就可能需要各种各样的表,不同的表,就意味着存储不同类型的

  • MySQL数据类型和常用字段属性总结

    前言 好比C++中,定义int类型需要多少字节,定义double类型需要多少字节一样,MySQL对表每个列中的数据也会实行严格控制,这是数据驱动应用程序成功的关键.M前言 好比C++中,定义int类型需要多少字节,定义double类型需要多少字节一样,MySQL对表每个列中的数据也会实行严格控制,这是数据驱动应用程序成功的关键.MySQL提供了一组可以赋给表中各个列的数据类型,每个类型都强制数据满足为该数据类型预先确定的一组规则,例如大小.类型及格式. 这里先总结数据类型.MySQL中的数据类型

  • MySQL日期数据类型、时间类型使用总结

    MySQL 日期类型:日期格式.所占存储空间.日期范围 比较. 日期类型        存储空间       日期格式                 日期范围 ------------ ---------   --------------------- ----------------------------------------- datetime       8 bytes   YYYY-MM-DD HH:MM:SS   1000-01-01 00:00:00 ~ 9999-12-31

  • MySQL存储引擎 InnoDB与MyISAM的区别

    基本的差别:MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持.MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快,但是不提供事务支持,而InnoDB提供事务支持以及外部键等高级数据库功能.以下是一些细节和具体实现的差别:1.InnoDB不支持FULLTEXT类型的索引.2.InnoDB 中不保存表的具体行数,也就是说,执行select count(*) from table时,InnoDB要扫描一遍整个表来计算有多少行,但是MyISAM只要简单的读出保存好的行数即

  • MySQL 数据类型 详解

    1.整型 MySQL数据类型 含义(有符号) tinyint(m) 1个字节 范围(-128~127) smallint(m) 2个字节 范围(-32768~32767) mediumint(m) 3个字节 范围(-8388608~8388607) int(m) 4个字节 范围(-2147483648~2147483647) bigint(m) 8个字节 范围(+-9.22*10的18次方) 取值范围如果加了unsigned,则最大值翻倍,如tinyint unsigned的取值范围为(0~25

  • Mysql5.5 InnoDB存储引擎配置和优化

    环境为CentOS系统,1G内存,Mysql5.5.30.在/etc/my.cnf内添加: 复制代码 代码如下: skip-external-lockingskip-name-resolvemax_connections = 1024query_cache_size = 16Msort_buffer_size = 1Mtable_cache = 256innodb_buffer_pool_size = 128Minnodb_additional_mem_pool_size = 4Minnodb_

  • MySQL数据类型varchar详解

    1.varchar(N)的逻辑意义从MySQL4.1开始,varchar (N)中的N指的是该字段最多能存储多少个字符(characters),不是字节数.不管是一个中英文字符或者数字.或者一个汉字,都当做一个字符.在4.1之前,N表示的是最大存储的字节数(bytes).2.varchar(N)到底能存多长的数据在mysql reference manual上,varchar最多能存储65535个字节的数据.varchar 的最大长度受限于最大行长度(max row size,65535byte

  • 浅谈MySQL存储引擎选择 InnoDB与MyISAM的优缺点分析

    下面先让我们回答一些问题: ◆你的数据库有外键吗? ◆你需要事务支持吗? ◆你需要全文索引吗? ◆你经常使用什么样的查询模式? ◆你的数据有多大? 思考上面这些问题可以让你找到合适的方向,但那并不是绝对的.如果你需要事务处理或是外键,那么InnoDB 可能是比较好的方式.如果你需要全文索引,那么通常来说 MyISAM是好的选择,因为这是系统内建的,然而,我们其实并不会经常地去测试两百万行记录.所以,就算是慢一点,我们可以通过使用Sphinx从InnoDB中获得全文索引. 数据的大小,是一个影响你

  • MySQL存储引擎中的MyISAM和InnoDB区别详解

    在使用MySQL的过程中对MyISAM和InnoDB这两个概念存在了些疑问,到底两者引擎有何分别一直是存在我心中的疑问.为了解开这个谜题,搜寻了网络,找到了如下信息: MyISAM是MySQL的默认数据库引擎(5.5版之前),由早期的ISAM(Indexed Sequential Access Method:有索引的顺序访问方法)所改良.虽然性能极佳,但却有一个缺点:不支持事务处理(transaction).不过,在这几年的发展下,MySQL也导入了InnoDB(另一种数据库引擎),以强化参考完

  • MySQL Memory 存储引擎浅析

    后来看到博客园在用NorthScale Memcached Server(官方站点:http://www.couchbase.com/products-and-services/memcached),貌似共享收费,又犹豫了.其实项目里的需求很简单,也想自己用.Net Cache来实现,但稳定性难以评估,开发维护成本又似乎太大,没办法,My SQL Memory Storage成了唯一选择,因为几乎不怎么需要编写代码. 先看官方手册,然后写了个简单的性能测试.因为官方最新的文档都是英文版的,所以译

随机推荐