mysql5.6怎么查看引擎_MySQL 5.6学习笔记(数据库基本操作,查看和修改表的存储引擎)...

1. 数据库基本操作

1.1  查看数据库

查看数据库列表:

mysql>show databases;+--------------------+

| Database |

+--------------------+

| information_schema |

| mysql |

| performance_schema |

| sakila |

| test |

| world |

+--------------------+

6 rows in set (0.08 sec)

查看数据库创建语句:

mysql> show create databasetestG*************************** 1. row ***************************

Database: testCreate Database: CREATE DATABASE `test` /*!40100 DEFAULT CHARACTER SET utf8*/

1 row in set (0.05 sec)

用“G“取代”;“,可以使得显示结果更加直观,便于查看。

1.2 创建数据库

mysql> create databasetest_db;

Query OK,1 row affected (0.00sec)

mysql>show databases;+--------------------+

| Database |

+--------------------+

| information_schema |

| mysql |

| performance_schema |

| sakila |

| test |

| test_db |

| world |

+--------------------+

7 rows in set (0.00 sec)

1.3 选择数据库

mysql> usetest_db;Database changed

1.4 删除数据库

mysql> drop databasetest_db;

Query OK,0 rows affected (0.13 sec)

2. 存储引擎

数据库存储引擎是数据库底层软件组件,数据库管理系统(DBMS)使用数据库存储引擎进行创建、查询、更新和删除数据操作。不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能。

Oracle数据库中只有一种存储引擎,所有数据存储管理机制都是一样的。而MySQL数据库提供了多种存储引擎。用户可以根据不同的需求为数据表选择不同的存储引擎。

2.1 InnoDB存储引擎

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

2.2 MyISAM存储引擎

MyISAM基于ISAM存储引擎,并对其进行扩展。它是在Web、数据仓储和其他应用环境下最常使用的存储引擎之一。MyISAM拥有较高的插入、查询速度,但不支持事务。在MySQL5.5.5之前版本中,MyISAM是默认存储引擎。

2.3 Memory存储引擎

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

2.4 Archive存储引擎

Archive存储引擎只支持select 和 insert语句,而且不支持索引。常应用于日志记录和聚合分析方面。

2.5 存储引擎的选择

表2.5 存储引擎的比较

功能MyISAMMemoryInnoDBArchive

存储限制

256TB

RAM

64TB

None

支持事务

No

No

Yes

No

支持全文索引

Yes

No

No

No

支持数索引

Yes

Yes

Yes

No

支持哈希索引

No

Yes

No

No

支持数据缓存

No

N/A

Yes

No

支持外键

No

No

Yes

No

3. MySQL中关于存储引擎的操作

3.1 查看数据库可以支持的存储引擎

mysql>show engines;+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+

| Engine | Support | Comment | Transactions | XA | Savepoints |

+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+

| FEDERATED | NO | Federated MySQL storage engine | NULL | NULL | NULL |

| MRG_MYISAM | YES | Collection of identical MyISAM tables | NO | NO | NO |

| MyISAM | YES | MyISAM storage engine | NO | NO | NO |

| BLACKHOLE | YES | /dev/null storage engine (anything you write to it disappears) | NO | NO | NO |

| CSV | YES | CSV storage engine | NO | NO | NO |

| MEMORY | YES | Hash based, stored in memory, useful for temporary tables | NO | NO | NO |

| ARCHIVE | YES | Archive storage engine | NO | NO | NO |

| InnoDB | DEFAULT | Supports transactions, row-level locking, and foreign keys | YES | YES | YES |

| PERFORMANCE_SCHEMA | YES | Performance Schema | NO | NO | NO |

+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+

9 rows in set (0.00 sec)

3.2 查看表使用的存储引擎

方法一:

mysql> show create tablemytable;+---------+------------------------------------------------------------------------------------------+

| Table | Create Table |

+---------+------------------------------------------------------------------------------------------+

| mytable | CREATE TABLE`mytable` (

`i`int(11) DEFAULT NULL) ENGINE=InnoDB DEFAULT CHARSET=utf8 |

+---------+------------------------------------------------------------------------------------------+

1 row in set (0.00 sec)

方法二:

mysql> show table status from test_db where name='mytable'G*************************** 1. row ***************************Name: mytable

Engine: InnoDB

Version:10Row_format: Compact

Rows:0Avg_row_length:0Data_length:16384Max_data_length:0Index_length:0Data_free:0Auto_increment:NULLCreate_time:2013-11-11 16:21:13Update_time:NULLCheck_time:NULLCollation: utf8_general_ci

Checksum:NULLCreate_options:

Comment:1 row in set (0.00 sec)

3.3 修改表存储引擎

mysql> alter table mytable engine=myisam;

Query OK,0 rows affected (0.01sec)

Records:0 Duplicates: 0 Warnings: 0

3.4 创建表时指定存储引擎

create tabletablename(

columnName(列名1) type(数据类型) attri(属性设置),

columnName(列名2) type(数据类型) attri(属性设置),

……..) engine= engineName

示范:

mysql> create table mytable2(i int) engine=myisam;

Query OK,0 rows affected (0.02sec)

mysql> show create tablemytable2G*************************** 1. row ***************************

Table: mytable2Create Table: CREATE TABLE`mytable2` (

`i`int(11) DEFAULT NULL) ENGINE=MyISAM DEFAULT CHARSET=utf81 row in set (0.00 sec)

3.5 修改数据库默认存储引擎

打开DOS窗口,关闭mysql服务(每种MySQL版本服务名可能不一致): net stop mysql56

打开mysql数据目录下的my.ini文件(如:C:ProgramDataMySQLMySQL Server 5.6)

在my.ini文件中将default-storage-engine=INNODB替换为default-storage-engine=MYISAM

在DOS窗口中重新启动mysql服务:net start mysql56

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值