数据库简单操作
1.创建数据库
create database database_name;
2.删除数据库
drop database database_name;
3.查看数据库
show databases;
4.查看数据库的创建信息
show create database database_name;
存储引擎简介
1.innoDB
innodb是mysql的一种存储引擎,inodb给mysql的表提供了事务日志,回滚、奔溃、修复能力和多版本并发控制的事务安全。Mysql从3.23.34a开始包含innoDB存储引擎
innodb是第一个提供外键约束的表引擎,而且对innoDB对事务处理的能力。也是其它引擎无法与之抗衡的
innodb支持自动增长列使用auto_increment,自动增长列不值不能为空
innodb存储引擎中支持外键Z(foreign key),外键所在的表为子表,外键所依赖的表为父母,父表中的被子表外检关联的字段必须是主键,当删除、更新父表的某条信息时,字表也必须有相应的改变
innodb存储引擎中,创建表的表结构存储在.frm文件中,数据和索引存储在innodb_data_home_dir和innodb_data_file_path定义的表空间.
数据文件:*.myd
索引文件:*.myi
表定义文件:*.frm
Inoodb存储引擎的
优势:在于提供了良好的事务管理、崩溃、修复能力和并发控制
缺点:是其读写效率稍差,占用的数据空间相对比较大
2.MyISAM
MyISAM存储表分为3个文件,文件与表名相同,扩展包括frm,MYD和MYI,
Frm 为扩展名的文件存储表的结构
MYD 为扩展名的文件存储数据
MYI为扩展名的文件存储索引
优点:占用空间小,。处理速度快
缺点:不支持事务日志的完整性和并发性
3.MEMORY
Mysql中的特殊引擎,所有的数据全部存放于内存当中,在企业生产环境当中。几乎
是用不到。因为数据存储在内存,如果内存出现异常。将影响数据的完整性。
优点:存储速度快
缺点:缺乏稳定性和完整性
查看mysql引擎
查看所有引擎
show engines; 或 show engines\G; //其中,后者显示结果更清晰
查看mysql支持的引擎
show variables like 'have%';
查看mysql默认引擎
show variables like 'storage_engine';
注:
如果想修改存储引擎,可以在 my.ini中进行修改
Default-storage-engine=引擎类型
存储引擎的选择
在企业生产环境中,选择一个款合适的存储引擎是一个很复杂的问题。每一种存储引擎都有各自的优势,不能笼统的说,谁比谁好。通常用的比较多的是innodb存储引擎
以下是存储引擎的对比:
特性 | innoDB | MyISAM | MEMORY | |
事物安全 | 支持 | 无 | 无 | |
存储限制 | 64TB | 有 | 有 | |
空间使用 | 高 | 低 | 低 | |
内存使用 | 高 | 低 | 高 | |
插入数据的速度 | 低 | 高 | 高 | |
对外键的支持 | 支持 | 无 | 无 |