如何在 MySQL (创造 MySQL 表格)
⚡ 智能摘要
在中创建数据库 MySQL 遵循两条已验证的路径:执行 CREATE DATABASE 语句,或通过 ER 模型生成物理模式。 MySQL 工作台正向工程。两种方法都能生成完全相同的、可用于生产的工作台。

创建数据库的步骤 MySQL
数据库中 MySQL 是一个用于存放表、视图及相关对象的命名容器。您可以通过两种方式创建它:
1)通过执行简单的 SQL 查询
2)通过使用正向工程 MySQL 工作台
As SQL 初学者,我们先来了解一下查询方法。
如何在 MySQL
以下是在 MySQL:
CREATE DATABASE 是用于在 MySQL.
假设你需要创建一个名为“movies”的数据库。你可以在以下情况下创建数据库: MySQL 通过执行以下 SQL 命令。
CREATE DATABASE movies;
注意:您也可以使用 CREATE SCHEMA 命令代替 CREATE DATABASE 命令。
这条语句只能执行一次。再次运行会报错,所以我们需要添加更多参数来改进查询。
如果不存在
一个单一的 MySQL 服务器可以托管多个数据库。当多人共享同一台服务器时,您可能会尝试创建一个与现有数据库同名的数据库。
如果不存在 指示 MySQL 服务器会在创建数据库之前检查是否存在同名数据库。只有当数据库名称未被占用时才会创建该数据库;如果没有此子句, MySQL 引发错误。
CREATE DATABASE IF NOT EXISTS movies;
数据库名称确定安全后,下一步该如何决定呢? MySQL 应该存储并比较其中的文本。
排序规则和字符集
A 字符集 决定列可以存储哪些字符,而 整理 是 比较中使用的规则 以及排序。两者都可以从四个层面进行定义:服务器、数据库、表和列。
你选择的排序规则取决于字符集。例如,latin1 字符集使用…… latin1_swedish_ci 排序规则,即瑞典式不区分大小写的排序规则。
CREATE DATABASE IF NOT EXISTS movies CHARACTER SET latin1 COLLATE latin1_swedish_ci;
对于阿拉伯语或中文等本地语言,请选择 Unicode 编码。 utf8mb4 字符集,其中存储了所有Unicode字符,包括表情符号。 MySQL utf8mb4 是默认字符集, utf8mb4_0900_ai_ci 默认排序规则。
CREATE DATABASE IF NOT EXISTS movies CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
您可以找到所有排序规则和字符集的列表 开始.
运行以下 SQL 命令即可查看现有数据库列表。
SHOW DATABASES;
数据库就绪后,现在可以添加实际用于保存记录的表了。
如何在 MySQL
CREATE TABLE 命令用于在数据库中创建表。
如图所示,每个表都属于一个数据库。表是用以下方式创建的: 创建表 语句,其语法如下。
CREATE TABLE [IF NOT EXISTS] `TableName` (`fieldname` dataType [optional parameters]) ENGINE = storage Engine;
点击这里
- “CREATE TABLE”命令负责在数据库中创建表。
- “[IF NOT EXISTS]”是可选的,仅当找不到匹配的表名时才创建表。
- “`fieldName`”是字段的名称,“data Type”定义了存储在其中的数据的性质。
- “[可选参数]”是关于字段的额外信息,例如“AUTO_INCREMENT”或“NOT NULL”。
- “存储引擎”管理表,通常是 InnoDB,它支持事务和外键。
MySQL 创建表示例
下面是一个 MySQL 在数据库中创建表的示例:
CREATE TABLE IF NOT EXISTS `MyFlixDB`.`Members` ( `membership_number` INT AUTO_INCREMENT , `full_names` VARCHAR(150) NOT NULL , `gender` VARCHAR(6) , `date_of_birth` DATE , `physical_address` VARCHAR(255) , `postal_address` VARCHAR(255) , `contact_number` VARCHAR(75) , `email` VARCHAR(255) , PRIMARY KEY (`membership_number`) ) ENGINE = InnoDB;
注意: 正确的 MySQL 关键字是 AUTO_INCREMENT 带下划线。 AUTOINCREMENT 属于 SQLite 并引发语法错误 MySQL.
每一列都包含一个数据类型,因此请谨慎选择:既不要低估也不要高估您预期的数据范围。
MySQL 数据类型
数据类型定义了可以存储在表的特定列中的数据的性质。
MySQL 具有 3 主要数据类型类别,即:
- 数字
- 文本
- 约会时间
数值数据类型
数值数据类型用于存储数值。务必确保数据范围在所选数值数据类型的下限和上限之间。
| TINYINT( ) | -128 至 127 正常 0 至 255 无符号。 |
| SMALLINT( ) | -32768 至 32767 正常 0 至 65535 无符号。 |
| 中整数( ) | -8388608 至 8388607 正常 0 至 16777215 无符号。 |
| INT( ) | -2147483648 至 2147483647 正常 0 至 4294967295 无符号。 |
| BIGINT( ) | -9223372036854775808 至 9223372036854775807 正常 0 至 18446744073709551615 无符号。 |
| FLOAT | 带有浮动小数点的小近似数。 |
| 双倍的( , ) | 具有浮动小数点的大数。 |
| DECIMAL( , ) | 将 DOUBLE 类型存储为字符串,允许使用固定的小数点。是存储货币值的理想选择。 |
文本数据类型
顾名思义,这种数据类型用于存储文本值。请务必确保文本数据的长度不超过该列的最大长度限制。
| CHAR( ) | 长度为 0 至 255 个字符的固定部分。 |
| VARCHAR( ) | 长度从 0 到 255 个字符的可变部分。 |
| 小文本 | 最大长度为 255 个字符的字符串。 |
| 文字 | 最大长度为 65535 个字符的字符串。 |
| BLOB | 最大长度为 65535 个字符的字符串。 |
| 中文本 | 最大长度为 16777215 个字符的字符串。 |
| 中等斑点 | 最大长度为 16777215 个字符的字符串。 |
| 长文 | 最大长度为 4294967295 个字符的字符串。 |
| 长斑 | 最大长度为 4294967295 个字符的字符串。 |
日期和时间数据类型
日期和时间数据类型以固定格式存储日历和时钟值,从而保证排序和比较的可靠性。
| 日期 | YYYY-MM-DD |
| 日期时间 | YYYY-MM-DD HH:MM:SS |
| TIMESTAMP | YYYYMMDDHHMMSS |
| 时间 | 时:分:秒 |
其他数据类型
除了上述数据类型之外,还有一些其他数据类型。 MySQL.
| 枚举 | 存储从预定义文本值列表中选择的文本值 |
| 设置 | 这也用于存储从预定义文本值列表中选择的文本值。它可以有多个值。 |
| BOOL | TINYINT(1) 的同义词,用于存储布尔值 |
| BINARY | 与 CHAR 类似;区别在于文本以二进制格式存储。 |
| 变量 | 与 VARCHAR 类似;区别在于文本以二进制格式存储。 |
现在我们来看一个创建表的查询语句,该语句使用了所有数据类型。请仔细研究并找出以下 CREATE TABLE 语句中每种数据类型的定义方式。 MySQL 例。
CREATE TABLE `all_data_types` ( `varchar` VARCHAR( 20 ) , `tinyint` TINYINT , `text` TEXT , `date` DATE , `smallint` SMALLINT , `mediumint` MEDIUMINT , `int` INT , `bigint` BIGINT , `float` FLOAT( 10, 2 ) , `double` DOUBLE , `decimal` DECIMAL( 10, 2 ) , `datetime` DATETIME , `timestamp` TIMESTAMP , `time` TIME , `year` YEAR , `char` CHAR( 10 ) , `tinyblob` TINYBLOB , `tinytext` TINYTEXT , `blob` BLOB , `mediumblob` MEDIUMBLOB , `mediumtext` MEDIUMTEXT , `longblob` LONGBLOB , `longtext` LONGTEXT , `enum` ENUM( '1', '2', '3' ) , `set` SET( '1', '2', '3' ) , `bool` BOOL , `binary` BINARY( 20 ) , `varbinary` VARBINARY( 20 ) ) ENGINE = MYISAM;
创建 MySQL 数据库
遵循一些约定俗成的规则可以使你的脚本更易读:
- SQL关键字请使用大写字母,例如“DROP SCHEMA IF EXISTS `MyFlixDB`;”
- 所有 SQL 命令都应以分号结尾。
- 避免在模式、表和字段名称中使用空格。请使用下划线来分隔模式、表或字段名称。
- 对于新建表,建议优先选择 InnoDB 而不是 MyISAM,因为 InnoDB 支持事务、行级锁定和外键。
查询方法已完成。第二条路径通过可视化模型而非手写 SQL 代码访问同一个数据库。
如何创建 MySQL 工作台ER图正向工程
MySQL 工作台 具有支持正向工程的实用程序。 正向工程 是描述该过程的技术术语 自动将逻辑模型转换为物理实现。.
我们创建了一个 ER 图 的内容,请阅读我们的 ER 建模 本课。现在我们将使用该ER模型生成创建数据库的SQL脚本。
从 MyFlix ER 模型创建 MyFlix 数据库
步骤 1)打开 MyFlix 数据库的 ER 模型 你之前创建的。
步骤2)选择正向工程
点击数据库菜单,然后选择“正向工程”。
步骤 3)连接选项
下一个窗口允许您连接到实例 MySQL 服务器。单击已存储连接下拉列表,然后选择本地主机。单击“执行”。
步骤 4)选择以下选项
在出现的向导中选择以下选项。单击“下一步”。
步骤 5)保持默认选择,然后单击“下一步”。
下一个屏幕显示了 EER 图中对象的摘要。我们的 MyFlix 数据库包含 5 个表。保持默认选择,然后单击“下一步”。
步骤6) Rev查看 SQL 脚本
下面的窗口预览了用于创建数据库的 SQL 脚本。将脚本保存到 *.sql 文件或复制到剪贴板,然后单击“下一步”。
步骤 7)提交进度
在选定的数据库上创建数据库后,将显示以下窗口。 MySQL 服务器实例。ER模型中的表现在已实际存在于服务器上。
数据库及示例数据已附上。我们将在后续课程中使用此数据库。只需将其导入即可。 MySQL 开始工作台。







.png)