engine=InnoDB AUTO_INCREMENT=1 default charset=utf8

create table `payment`(
     `id` bigint(20) not null auto_increment COMMENT 'ID',
     `serial` varchar(200) default '',
      primary key (`id`)
)engine=InnoDB AUTO_INCREMENT=1 default charset=utf8

Engine

engine=InnoDB指定引擎为InnoDB,默认也为InnoDB。

MyIsam:适合只读的数据库

  • 不支持事务,外键,行级锁(只能锁全表) 查询速度很快,
  • 增加和修改的速度很慢,因为需要锁全表
  • 存储了表的行数
  • AUTO_INCREMENT类型的字段,可以和其他字段一起建立联合索引
  • ISAM索引方法,按顺序的静态索结构,但不支持事务和容错,可以采用实时备份来容错。

InnoDB: 数据库默认的存储引擎,设计为处理大容量数据 。

  • 提供事务,实现sql标准四种隔离级别
  • 有行级锁,锁的颗粒度更小,并发情况下效率更高,但是当不能确定扫描范围的时候,依旧会锁全表
  • 支持外键
  • AUTO_INCREMENT类型的字段,InnoDB中必须包含只有该字段的索引
  • DELETE FROM table时,InnoDB不会重新建立表,而是一行一行的删除 会在内存中缓冲数据和索引,但是不支持fulltext的索引
  • 没有保存表的行数,获取全表行数的时候需要扫描全表
  • 单表最大存储取决于操作系统的单文件大小和表结构的复杂程度

MEMORY存储引擎:试用于不断变化的临时表

  • 使用内存在存表,每个表对应一个磁盘文件,内存访问,速度极快
  • 服务关闭,没有及时保存的数据会丢失
  • 支持hash和B树索引,默认hash索引
  • 数据太多可能会造成内存溢出,可调节max_heap_table_size来控制表的大小。
  • 要及时删除表,否则内存中一直有表暂居空间
  • 只能存储数据长度固定的数据(blob,text类型数据不支持)

Blackhole:所有写入的数据都会被丢弃,但是会保留操作日志

  • 只记录下表的操作日志,不会存储任何表数据
  • 用来验证binlog功能的所需要的额外负载 (需要继续探究)
  • 充当日志服务器
  • 验证dump file语法的正确性

Mrg_Myisam:水平分表的一种方式

  • 内部没有真正的数据,是多个引擎中的多个表的聚合,可以直接查询,删除,更新操作。

Fenerated:是其中一个专门针对远程数据库的实现。

  • 在保证两边数据库表结构一致的情况下,用于简单的数据同步。
  • 两边可以是不同的表名
  • 仅支持mysql
  • 不支持事务
  • 不支持表结构的修改
  • CREATE TABLE (…) ENGINE =FEDERATED
    CONNECTION=‘mysql://[name]:[pass]@[location]:[port]/[db-name]/[table-name]’

auto_increment = 1; 表示主键从1开始自增长

DEFAULT CHARSET=utf8 数据库默认编码为utf-8

这个虽然在my.ini设置过了,但设置的是mysql的的语言编码,而这里创建的时候不设置,就会出现乱码问题,二者的作用域是不一样的,在创建表单的时候,这个charset会作用到这个表上,他代表mysql简历数据库数据表时设定字符集为utf-8

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值