title: What does ENGINE means in MySQL?
body: <p>I have a simple 'people' table:</p>
  
  <pre><code>mysql&gt; desc people;
  +-------+--------------+------+-----+---------+-------+
  | Field | Type         | Null | Key | Default | Extra |
  +-------+--------------+------+-----+---------+-------+
  | id    | int          | NO   | PRI | NULL    |       |
  | name  | varchar(255) | YES  |     | NULL    |       |
  +-------+--------------+------+-----+---------+-------+
  2 rows in set (0.01 sec)
  </code></pre>
  
  <p>When I do <code>show create table people;</code> command, it shows me whole command that created my table:</p>
  
  <pre><code>mysql&gt; show create table people;
  +--------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  | Table  | Create Table                                                                                                                                                             |
  +--------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  | people | CREATE TABLE `people` (
    `id` int NOT NULL,
    `name` varchar(255) DEFAULT NULL,
    PRIMARY KEY (`id`)
  ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci |
  +--------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  1 row in set (0.00 sec)  
  </code></pre>
  
  <p>In this command, I see a sentence <code>ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci</code>.</p>
  
  <p>Question is: What does it mean? Especially, what does <code>ENGINE=InnoDB</code> mean?</p>