《MySQL入门很简单》学习笔记(5)之第5章操作数据库(关键词:数据库/创建数据库/删除数据库/存储引擎)
2017-08-31 23:46
543 查看
第5章 操作数据库
数据库是指长期存储在计算机内、有组织的、可共享的数据集合。数据库就是一个存储数据的地方。
5.1 创建数据库
创建数据库是指在数据库系统中划分一块空间,用来存储相应的数据。 这是进行表操作的基础,也是进行数据库管理的基础。 在MySQL中,创建数据库须通过SQL语句CREATE DATABASE实现的。 语法: CREATE DATABASE 数据库名; 说明: “数据库名”参数表示所要创建的数据库的名称。 注意: 最后的【;】必须加上 例如: CREATE DATABASE example; 补充: 【SHOW DATABASES;】可以用来显示现在已经存在的数据库
5.2 删除数据库
语法形式: DROP DATABASE 数据库名; 例如: DROP DATABASE example; 注意: 删除数据库要慎重。删除数据库会删除数据库中所有的表和表中所有的数据。 如果确定要删除某一个数据库,可以先将该数据库备份,然后再删除。
5.3 数据库存储引擎
存储引擎就是表的类型。数据库的存储引擎决定了表在计算机中的存储方式。
5.3.1 MySQL存储引擎简介
存储引擎的概念是MySQL的特点,而且是一种插入式的存储引擎概念。这决定了MySQL数据库中的表可以用不同的方式存储。 用户可以选择不同的存储方式、是否进行事务处理等。 查看MySQL数据库支持的存储引擎类型: SHOW ENGINES; 或: SHOW ENGINES \g 或: SHOW ENGINES \G(可以让结果显示更美观) 说明: Engine参数指存储引擎名称; Support参数说明MySQL是否支持该类引擎,YES表示支持; Comment参数指对该引擎的评论; Transaction参数表示是否支持事务处理,YES表示支持; XA参数表示是否分布式交易处理的XA规范,YES表示支持; Savepoints参数表示是否支持保存点,以便事物回滚到保存点,YES表示支持。 从查询结果可以看出,MySQL支持的存储引擎包括MyISAM、MEMORY、InnoDB、ARCHIVE、MRG_MYISAM等。InnoDB是默认(DEFAULT)存储引擎。 另一个SHOW语句也可以显示支持的存储引擎的信息: SHOW VARIABLES LIKE 'have%';(亲测无效) 使用SHOW语句查询默认存储引擎: SHOW VARIABLES LIKE '%storage_engine%'; 修改默认的存储引擎,可以在my.ini中进行修改。将“default-storage-engine=INNODB”更改为“default-storage-engine=MyISAM”,然后重启服务,修改生效。 5.3.2 InnoDB存储引擎 InnoDB是MySQL数据库的一种存储引擎。InnoDB给MySQL的表提供了事务、回滚、崩溃修复能力、多版本并发控制的事务安全。 InnoDB是MySQL上第一个提供外键约束的表引擎。 特点: InnoDB存储引擎中,支持自动增长列AUTO_INCREMENT。自动增长列的值不能为空,且值必须唯一。MySQL中规定自动增长列必须为主键。 在插入值时: 如果自动增长列不输入值,则插入的值为自动增长后的值; 如果输入的值为0或空(NULL),则插入的值也为自动增长后的值; 如果插入某个确定的值,且该值在前面没有出现过,则可以直接插入。 InnoDB存储引擎中,支持外键(FOREIGN KEY)。外键所在的表为子表,外键所依赖的表为父表。父表中被子表外键关联的字段必须为主键。当删除、更新父表的某条信息时,子表也必须有相应的改变。 InnoDB存储引擎中,创建的表的表结构存储在.frm文件中。数据和索引存储在innodb_data_home_dir和inno_data_file_path定义的表空间中。 优势: 提供了良好的事务管理、崩溃修复能力、并发控制。 缺点: 读写效率较差,占用的数据空间相对比较大。
5.3.3 MyISAM存储引擎
MyISAM存储引擎的表存储成3个文件。文件的名字与表名相同。扩展名包括frm、MYD、MYI。 frm为扩展名的文件存储:表的结构; MYD为扩展名的文件存储:数据,是MYData的缩写; MYI为扩展名的文件存储:索引,是MYIndex的缩写。 基于MyISAM存储引擎的表支持3种不同的存储格式。包括: 静态型,为MyISAM存储引擎的默认存储格式,其字段是固定长度的; 动态型,包含变长字段,记录的长度不是固定的; 压缩型,需要使用myisampack工具创建,占用的磁盘空间较小。 优点: 占用空间小,处理速度快; 缺点: 不支持事务的完整性和并发性。
5.3.4 MEMORY存储引擎
MEMORY存储引擎,使用存储在内存中的内容来创建表,而且所有数据也放在内存中。 文件存储形式、索引类型、存储周期、优缺点: 每个基于MEMORY存储引擎的表实际对应一个磁盘文件。该文件名与表名相同,类型为frm类型。该文件中只存储表的结构。而其数据文件,都是存储在内存中。这样有利于对数据的快速处理,提高整个表的处理效率。 MEMORY存储引擎默认使用哈希(HASH)索引。 MEMORY表的大小是受到限制的。表的大小主要取决于两个参数,分别是max_rows和max_heap_table_size。
5.3.5 存储索引的选择
InnoDB、MyISAM、MEMORY这3种存储引擎,不同的特性,选择存储引擎的建议,详见书上。
5.6 常见问题及解答
1.如何修改默认存储引擎? MySQL的安装目录下的my.ini配置文件,文件中的mysqld部分存在“default-storage-engine=INNODB”语句,将该语句改为需要的存储引擎。 注意: 该配置文件只有重启服务后才会生效。 执行SHOW VARIABLES LIKE '%storage_engine%'查看默认存储引擎是否修改成功。 2.如何选择存储引擎?
参考文献:
1.《MySQL入门很简单》。
相关文章推荐
- 《MySQL入门很简单》学习笔记(7)之第7章索引(关键词:数据库/MySQL/索引/设计索引/创建索引/删除索引)
- 《MySQL入门很简单》学习笔记(6)之第6章创建、修改和删除表(关键词:数据库/MySQL/创建表/修改表/删除表)
- 《MySQL入门很简单》学习笔记(8)之第8章视图(关键词:数据库/MySQL/创建视图/修改视图/查看视图/删除视图)
- MySQL外键及级联删除 && 表的存储引擎与创建索引 && 删除数据库和表
- MSSQL监控数据库的DDL操作(创建,修改,删除存储过程,创建,修改,删除表等)
- MSSQL监控数据库的DDL操作(创建,修改,删除存储过程,创建,修改,删除表等)
- 《MySQL入门很简单》学习笔记(11)之第11章插入、更新与删除数据(关键词:数据库/MySQL/插入数据/更新数据/删除数据)
- 线性表的链式存储格式基本操作:创建链表、插入、删除、查找、求表长、打印链表
- oracle(PL/SQL)表操作:创建表时检查数据库是否存在该表,若存在删除再创建
- Mysql数据库学习 (四) 数据库操作(创建删除更新表)
- 《MySQL入门很简单》学习笔记(9)之第9章触发器(关键词:数据库/MySQL/触发器)
- 《MySQL入门很简单》学习笔记(22)之第22章驾校学员管理系统(关键词:数据库/MySQL)
- SQLserver学习day01 SQLserver简介 数据库的相关概念 创建删除数据库操作
- SQL 2008 R2 数据库操作,不允许保存更改。您所做的更改要求删除并重新创建一下表。您对无法重新创建的表进行了更改或启用了“阻止保存要求重新创建表的更改”选项
- 《MySQL入门很简单》学习笔记(10)之第10章查询数据(关键词:数据库/MySQL/查询数据)
- MySQL基本操作:数据库的创建、查询、更新、插入、删除表格
- MySQL_1 关系型数据库的存储结构 数据库的添加,修改,删除,查询操作 数据库表的添加,修改,删除,查询操作 数据库表记录的添加,修改,删除,查询
- (三)数据库基本操作(创建、查询、修改、删除数据库)
- 《MySQL入门很简单》学习笔记(24)之自问自答(关键词:数据库/MySQL/外键/索引/联合查找/视图/触发器)
- MongoDB创建表步骤,Mongo常用的数据库操作命令,查询,添加,更新,删除_MongoDB 性能监测