mysql知识体系庞大,很多知识可能刚学过就忘了,我希望可以在这篇文章记下一些有用的知识点,方便以后查找使用

SQL语句相关

表相关

改表

在修改表操作之前,最好先创建一份表的副本,然后在它的基础上修改。

在test数据库创建表的副本:

CREATE TABLE test.student_new LIKE student;

上面的语句只是复制了表结构,新表还没有数据。要复制表数据,可用INSERT加SELECT。

UES test #切好到test数据库

INSERT INTO test.student_new SELECT * FROM school.student;

现在就可以改表了。

存储引擎

存储引擎:一种数据存取和处理方式。

MySQL 数据库自带了多种存储引擎,每种存储引擎都有独特的特性。当创建MySQL数据库表对象时,可以根据实际需求,为不同访问特点的表对象指定不同的存储引擎,以获取更高的性能和数据处理的灵活性。如果业务的存取需求是确定的,那么可以在系统启动时设置好默认存储引擎,这样在创建表对象时,不必指定,它就会使用默认的存储引擎。

MySQL的存储引擎是一种“插件式存储引擎”(Pluggable Storage Engines)机制。下图是MySQL数据库的体系结构图,图片里红框中的部分是MySQL服务的存储引擎。红框中每个立方体一样的小图标代表着一种存储引擎,大家注意看图标的右下角,还有一个像插头一样的图例,表示存储引擎是可以插拔的。

大家注意到最右侧的“+”好图标了,这代表什么呢,说明这是个可扩展的系统。用户设置可以根据需要,开发出自己的引擎插件。

mysql数据库实训心得体会 mysql实训心得300字_数据库

要查看当前MySQL数据库都支持什么引擎,可以通过SHOW ENGINES命令获取相应信息,具体如下:

mysql> SHOW ENGINES\G
*************************** 1. row ***************************
Engine: FEDERATED
Support: NO
Comment: Federated MySQL storage engine
Transactions: NULL
XA: NULL
Savepoints: NULL
*************************** 2. row ***************************
Engine: MRG_MYISAM
Support: YES
Comment: Collection of identical MyISAM tables
Transactions: NO
XA: NO
Savepoints: NO
*************************** 3. row ***************************
Engine: MyISAM
Support: DEFAULT
Comment: MyISAM storage engine
Transactions: NO
XA: NO
Savepoints: NO
*************************** 4. row ***************************
Engine: BLACKHOLE
Support: YES
Comment: /dev/null storage engine (anything you write to it disappears)
Transactions: NO
XA: NO
Savepoints: NO
*************************** 5. row ***************************
Engine: CSV
Support: YES
Comment: CSV storage engine
Transactions: NO
XA: NO
Savepoints: NO
*************************** 6. row ***************************
Engine: MEMORY
Support: YES
Comment: Hash based, stored in memory, useful for temporary tables
Transactions: NO
XA: NO
Savepoints: NO
*************************** 7. row ***************************
Engine: ARCHIVE
Support: YES
Comment: Archive storage engine
Transactions: NO
XA: NO
Savepoints: NO
*************************** 8. row ***************************
Engine: InnoDB
Support: YES
Comment: Supports transactions, row-level locking, and foreign keys
Transactions: YES
XA: YES
Savepoints: YES
*************************** 9. row ***************************
Engine: PERFORMANCE_SCHEMA
Support: YES
Comment: Performance Schema
Transactions: NO
XA: NO
Savepoints: NO
9 rows in set (0.00 sec)

SHOW ENGINES根据使用的MySQL版本和其他因素 ,输出可能会有所不同。

Engine

存储引擎的名称。

Support

服务器对存储引擎的支持级别,如下表所示。

含义

YES

引擎受支持且处于活动状态

DEFAULT

引擎受支持且为默认存储引擎

NO

不支持该引擎

DISABLED

支持引擎但已被禁用

值NO表示服务器在编译时不支持引擎,因此无法在运行时启用。

所有MySQL服务器都支持MyISAM表。无法禁用MyISAM。

Comment

存储引擎的简要说明。

Transactions

存储引擎是否支持事务。

XA

存储引擎是否支持分布式事务。

Savepoints

存储引擎是否支持保存点。

该INFORMATION_SCHEMA ENGINES表中还提供了存储引擎信息 。请参见MySQL官方文档 第25.12节“ INFORMATION_SCHEMA ENGINES 表。

MyISAM存储引擎

在MySQL 5.5版本之前,MyISAM是MySQL数据库表对象的默认存储引擎,就是说创建表对象时,如果没有明确指定存储引擎,那么创建的表对象就会保存为MyISAM引擎表。

MyISAM的一种读法:My-eys-sam。