MySQL安装完成后,将会在其data目录下自动创建几个必须的数据库(可以使用 show databases;语句查看当前所有存在的数据库),其中mysql是必需的,它描述用户访问权限,用户经常利用test数据库做测试的工作

一. MySQL 创建数据库的基本SQL语法格式为:create database database_name;

      "database_name"为要创建的数据库的名字,该名称不能与已经存在的数据库重名。

  1. 创建测试数据库test_db:create database test_db;                                                                                                                             
  2. 查看创建好的数据库test_db的定义 ,输入语句:show create database test_db\G(这里\G是为了让结果更好地展示)


    可以看到,如果数据库创建成功,将显示数据库的创建信息,否则执行结果给出一个错误信息" ..Unknown database 'test_db' "

     

二.MySQL删除数据库的基本语法格式为: drop database database_name;

 "database_name"为要删除的数据库的名字,如果指定的数据库不存在,则删除出错

注意:使用drop database命令时要非常谨慎,在执行时,不会给出任何提醒确认信息,drop database 声明删除数据库后,数据库中存储的所有数据表和数据也将一同被删除,而且不能回复。

三.MySQL 存储引擎简介:

     使用show engiens\g可以查看系统所支持的引擎类型;

   InnoDB事务型数据库的首选引擎,支持事务安全表(ACID),支持行锁定和外键。MySQL5.5.5之后,InnoDB作为默认存储引擎;

   MyISAM拥有较高的插入。查询速度,但不支持事务

   MEMORY存储引擎将表中的数据存储到内存中,为查询和引用其它表数据提供快速访问

如何选择?

    如果要提供提交,回滚和崩溃恢复能力的事务安全(ACID兼容)能力 ,并要求实现并发控制,InnoDB是个很好的选择;如果数据表主要用来插入和查询记录,则MyISAM引擎能提供较高的处理效率;如果只是临时存放数据,数据量不大,并且不需要较高的数据安全性,可以选择Memory引擎,MySQL中使用该引擎作为临时表,存放查询的中间结果;如果只有insert和select操作,可以选择Archive引擎,Archive存储引擎支持高并发的插入操作,但是本身并不是事务安全的。Archive存储引擎非常适合存储归档数据,如记录日志信息可以使用Archive引擎。

使用哪一种引擎要根据需要灵活选择,一个数据库中多个表可以使用不同引擎以满足各种性能和实际需求。使用合适的存储引擎,将会提高整个数据库的性能。

 

查看默认存储引擎:

使用show engines语句查看系统中所有的存储引擎,其中包括默认的存储引擎,还可以使用一种更直接的方法查看默认存储引擎  输入语句:show variables like 'storage_engine';

关于如何在创建表的时候指定所需的存储引擎,参考创建数据表的语法格式。

另外:并不是每个表都可以任意选择存储引擎。外键约束不能跨引擎使用。在MySQL中只有InnoDB类型的表,才支持外键。

Logo

更多推荐