MySQL 如何检测数据库结构是否发生更改(而非内容)

MySQL 如何检测数据库结构是否发生更改(而非内容)

首先,让我们看一个例子并创建一个表 –

mysql> create table DemoTable
(
   StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   StudentName varchar(40),
   StudentAge int,
   StudentMarks int
);
Query OK, 0 rows affected (0.76 sec)

以下是查询数据库结构的语句 –

mysql> show create table DemoTable;

这将产生以下输出 –

+---------------+-------------------------------------------------------------------
| Table         | Create Table                                                                    
+---------------+-------------------------------------------------------------------
| DemoTable     | CREATE TABLE `DemoTable` (`StudentId` int(11) NOT NULL AUTO_INCREMENT,
|               | `StudentName` archar(40) COLLATE utf8_unicode_ci DEFAULT NULL,
|               | `StudentAge` int(11) DEFAULT NULL,
|               | `StudentMarks` int(11) DEFAULT NULL,
|               | PRIMARY KEY (`StudentId`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 
|               | COLLATE=utf8_unicode_ci                                             |
+---------------+-------------------------------------------------------------------
1 row in set (0.06 sec)

现在,让我们更改数据库结构 –

mysql> alter table DemoTable add column StudentCountryName varchar(20);
Query OK, 0 rows affected (0.65 sec)
Records : 0 Duplicates : 0 Warnings : 0

现在,我们将再次检查数据库结构 –

mysql> show create table DemoTable;

这将产生以下输出。我们现在可以匹配结构中的更改 –

+---------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table         | Create Table                                                                                                                                                                                            |
+---------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| DemoTable     | CREATE TABLE `DemoTable` ( `StudentId` int(11) NOT NULL AUTO_INCREMENT, `StudentName` varchar(40) COLLATE utf8_unicode_ci DEFAULT NULL, `StudentAge` int(11) DEFAULT NULL, `StudentMarks` int(11) DEFAULT NULL, `StudentCountryName` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL, PRIMARY KEY (`StudentId`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci |
+---------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

阅读更多:MySQL 教程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程