数据库的引擎
数据库的存储引擎存储引擎:决定如何将数据通过特定的存储机制 索引技术和锁定水平将数据文件存储到物理硬件的基石是数据库存储数据的底层逻辑解决如何存储数据的问题存储引荐分类innoDB 5.5版本之后的默认存储引擎支持事物 行级锁 和外键约束 具有崩溃恢复能力myISAM 5.5版本之前的默认存储引擎不支持事物和外键约束 表级锁 高并发写入表现不佳优点是大量数据读写速度快效率高Memory 内存引擎 将数据存储在内容 提供高度读写性能NDB Ciuster 簇式数据引擎 转为高性能查询和高可用设计的 分布式存储引擎CSV 文本文件引擎 存储CSV格式文件 不支持事物和外键约束数据库简单命令Show databsesUse 数据库名字Show tablesShow engines ; // 查看数据库支持的所有存储引擎Show crete table 表名 //查看指定表的存储引擎alter table 表名 engineMyLSAM //修改指定表的存储引擎Desc 表名 //查看指定的表结构表结构字段名 类型 约束条件 索引类型 额外信息字段名 指定存放的具体数据类型 制动存放的数据类型约定条件 用于约束数据 保证数据的唯一性和完整性索引 用特定的方式单独存放的一列或几列 用于加快表数据的查寻数据类型数值型整数型:tinyint smallint int bigint浮点型float double devimal字符串char10 varchar10 text enum“男”“女”枚举日期型time date datetime二进制bit varbinary blob longbiob表的约束条件 对记录到表中字段数据的一种限制条件约束条件分类主键约束 唯一和非空非空约束 数据不能为空唯一约束 数据只能一份 独立性和唯一性自定义约束 用户自定义的约束 check age18外键约束 foreign key 多表之间建立的约束条件 保证表的数据完整性索引类似于书籍的目录就是一张表的目录是数据库中用于加快数据检索的数据结构具体原理通过建立特定的值于其所在的行位置与映射关系 快速定位数据而不用扫描整张表索引分类普通索引 normal 任何字段都可以做索引 没有限制条件唯一索引 nuique 字段不能重复 但可与为空主键索引primary 字段不能重复也不能为空组合索引多个列子合起来创建的索引前缀索引对字符类型字段的前几个字符建立的索引优点大幅提高查询速度 加速表连接缺点占用额外的储存空间 降低 插入 更新删除操作的速度存储引擎 基本命令 表结构数据类型 约束条件 索引更改索引相关命令Cerate index 索引名 on 表名字段名 //创建普通索引Create unique index 索引名 on 表名字段名 //创建唯一索引Alert table 表名 add primary key(字段名) //创建主键索引Crete index 索引名 on 表名字段名1字段名2 //创建联合索引Alter table 表名 rename index 旧名 to 新名 //修改索引Drop index 索引名 on 表名 //删除指定索引数据库和表的导入和导出MySQLdump -u 用户名 -p 数据库名 表名 文件名.Sql //导出到指定表Mysqldump -u root -p --databases 数据库名 xxx.sql //导出整个数据库MySQL -u root -p 数据库名 文件名.Sql //将表导入到指定数据库MySQL -u root -p xxx.sql //直接导入数据库