MySQL数据库的基本操作及存储引擎

来源:互联网 发布:ug线切割编程教程 编辑:程序博客网 时间:2024/06/05 16:43

1.创建数据库CREATE DATABASE db_name;
(1)db_name是数据库的名称,该名称不能与库中已经存在的名称相同。
例如:创建一个名为book的数据库,并且查询所有的数据库显示出来
这里写图片描述
2.查询所有数据库:show databases;
3.查看数据库定义:show create database 数据库名称;
这里写图片描述
4.删除数据库:drop database db_name;
(1)删除数据库是将已经存在的数据库从磁盘空间上清除,清除之后,数据库中的所有数据也将一同被删除。
(2)db_name是数据库的名称,如果指定数据库不存在,则会出错。
(3)使用删除数据库命令时需要小心,在执行该命令的时候,mysql不会给出提醒确认信息,删除数据库命令删除数据库后,数据库中存储的所有数据表和数据也将一并被删除,而且不能恢复。
这里写图片描述
5.MySQL的存储引擎
(1)MySQL5.6支持的存储引擎有:show engines\G
这里写图片描述
这里写图片描述
以上为mysql的引擎,其中support等于yes的说明支持,等于no的说明不支持,等于default的说明是默认的。
(2)从上面的图中可以知道mysql的默认引擎就是InnoDB,它支持事务的安全,支持行锁定和外键
(3)InnoDB的主要特性:
- InnoDB给MYSQL提供了具有提交,回滚和奔溃恢复能力的事务安全存储索引,它还支持行锁定机制。
- InnoDB是为处理巨大数据量的最大性能设计的。
- InnoDB存储引擎完全和mysql服务器整合,InnoDB存储引擎为在内存中缓存数据和索引而维持它自己的缓冲池。InnoDB将它的表和索引在一个逻辑空间中,表空间可以包含数个文件,这个与MyISAM表不同,InnoDB表示可以是任何尺寸的,即是在文件尺寸大小被限制为2GB的操作系统上。
- 支持外键完整性约束。存储表中的数据时,每张表的存储都按主键顺序存放,如果没有显示在表定义时指定主键,InnoDB会为每一行生成一个6个字节的ROWID,并以此为主键。
- InnoDB被用在众多需要高性能的大型数据库站点上。
(4)MyISAM存储引擎:
基于ISAM存储引擎,并对其进行扩展,它是在WEB、数据仓库和其他应用环境中最常使用的存储引擎之一。MyISAM拥有较高的插入,查询速度,但不支持事务。
- 大文件在支持大文件的文件系统和操作系统上被支持。
- 当把删除和更新及插入操作混合使用的时候,动态尺寸的行产生更少碎片,这需要通过合并相邻被删除的块,以及若下一个块被删除,就扩展到下一块来自动完成。
- MyISAM表最大索引数是64,这可以通过重新编译来改变。每个索引最大的列数是16个。
- 最大的键长度是1000,这可以通过编译来改变,对于键长度超过250字节的情况,一个超过1024字节的键将被用上。
- BLOB和TEXT列可以被索引。
- NULL值被允许在索引的列中,这个值占每个键的0-1个字节。
- 所有数字键值以高字节优先被存储以允许一个更高的索引压缩。
- MyISAM类型表的AUTO_INCRETEMENT列更新比InnoDB类型的AUTO_INCREMENT更快。
- 可以把数据文件和索引文件放在不同的目录中
- 每个字符列可以有不同的字符集。
- 有VARCHAR的表可以固定或动态记录长度。
- VARCHAR和CHAR列可以多达64KB
- 使用MyISAM引擎创建数据库的话会产生三个文件,文件的名字以表的名字开头,扩展名指出文件类型:frm文件存储表定义,数据文件的扩展名为.MYD(MYData),索引文件的扩展名是.MYI(MYIndex)。
(5)MEMORY存储引擎

  • 将表中的数据存储到内存中去,为查询和引用其他表数据提供快速访问。
  • 表的每个表可以有多达32个索引,每个索引16列,以及500字节的最大键长度。
  • 该存储引擎执行HASH和BTREE索引
  • 可以在一个MEMORY表中有非唯一的键
  • 该表可以使用一个固定的记录长度格式
  • 不支持BLOB和TEXT列
  • 支持AUTO_INCREMENT列和对可包含NULL值的列的索引
  • 该表在所有客户端之间共享。
  • 该表内容被存在内存中,内存是MEMORY表和服务器在查询处理时的空闲中,创建的内部表共享。
  • 当不需要创建MEMORY表的内容时,要释放被MEMORY表所使用的内存,应该执行DELETE FROM或者TRUNCATE TABLE,或者删除整个表(使用DROP TABLE)
    (6)各种存储引擎的特点
    这里写图片描述
    注意:
    1》CVS存储引擎不支持索引
    2》BlackHole:黑洞引擎,写入的数据都会消失,一般用于数据复制中的中继。
    3》MyISAM:适用于事务的处理不多的情况
    4》InnoDB:适用于事务处理比较多,需要有外键支持的情况
    (7)修改存储引擎的方法
    (1)通过修改MYSQL配置文件实现:-default-storage-engine=engine;
    (2)通过创建数据表命令实现
Create table table_name(   ……)ENGINE=engine;

(3)修改数据表命令实现:ALTER TABLE table_name ENGINE [=]engine_name;

0 0
原创粉丝点击