如何在MySQL中创建表
创建表可能是数据库开发中最流行的任务。在本文中,我们将回顾创建MySQL表的方法。
在MySQL数据库中创建表的主要方式有两种:
- 执行包含CREATE TABLE语句的查询
- 使用MySQL相关工具和IDE的相应功能
当您需要通过脚本专门创建表时,第一种方法很有用。例如,您想在非常特定的时间创建一个表,但由于此时不在,您无法手动创建。因此,您可以使用Windows Scheduler调度创建 表过程–这是表创建查询的有益之处。
第二种方法非常适合现场创建表格。在许多情况下,它也可以更加方便,因为它非常直观。有许多工具提供了这种功能,我们将看一看其中的一个——dbForge Studio for MySQL。
让我们详细了解这两种方法。
内容
- 创建MySQL表的语法示例
- 连接MySQL服务器
- 创建 MySQL 数据库
- 创建MySQL表
- 有哪些数据类型可用?
- 复制表
- 创建临时表
- 从CSV创建MySQL表
- 结论
使用语法示例在MySQL中创建表
连接到MySQL
要连接到MySQL服务器,请打开dbForge Studio for MySQL,然后继续执行以下步骤:
- 要打开“数据库连接属性”对话框,请导航到Database > New Connection:
或者,您可以单击New Connection:
- 在对话框中配置连接属性:
- Type:选择连接类型(TCP/IP、命名管道)
- Host:输入主机名
- Port:如果已从Type下拉菜单中选择TCP/IP,请输入要连接到的主机的端口
- User和Password:输入您要连接到的主机的凭据
- Database:默认情况下可以保留此字段
- Connection Name:输入主机名后自动生成此字段的值。但是,如果需要,可以手动更改
- 环Environment Category:可以选择环境类别(开发、生产、沙盒和测试)
- 设置连接属性后,单击Connect。
您应该会在数据库资源管理器中看到一个新连接:
创建MySQL数据库
要在MySQL中创建数据库,可以使用以下命令:
CREATE DATABASE <database_name>;
有多种方法 在MySQL中创建数据库 但在本例中,我们将使用dbForge Studio for MySQL创建car_sale数据库:
CREATE DATABASE car_sale;
要在数据库资源管理器中查看创建的数据库,请单击Refresh Object:
此外,还可以使用以下命令检查数据库是否已成功创建:
SHOW DATABASES;
创建MySQL表
现在,我们已经创建了数据库,是时候在其中创建第一个表了。我们将使用主键 创建一个名为Managers的小表,主键是数据完整性所需的:
MANAGER_ID | FIRST_NAME | LAST_NAME | LAST_UPDATE |
---|---|---|---|
08276 | Brad | Craven | 11/29/1976 |
19222 | Kraig | Boucher | 10/10/1990 |
23003 | Enrique | Sizemore | 5/26/1990 |
80460 | Letha | Wahl | 3/9/1971 |
86849 | Harlan | Ludwig | 1/11/1997 |
在dbForge Studio for MySQL中,可以通过两种方式实现:
- 使用
CREATE TABLE
语句 - 使用New Database Object选项
方法1–使用CREATE TABLE语句
运行此MySQL语句并单击执行:
CREATE TABLE MANAGERS (
MANAGER_ID varchar(45) NOT NULL,
FIRST_NAME varchar(45) NOT NULL,
LAST_NAME varchar(45) NOT NULL,
LAST_UPDATE date NOT NULL,
PRIMARY KEY (MANAGER_ID)
);
然后单击Refresh Object:
让我们用数据填充表格:
INSERT INTO MANAGERS(MANAGER_ID,FIRST_NAME, LAST_NAME, LAST_UPDATE)
VALUES
(08276,'Brad','Craven',11/29/1976),
(19222,'Kraig','Boucher',10/10/1990),
(23003,'Enrique','Sizemore',5/26/1990),
(80460,'Letha','Wahl',3/9/1971),
(86849,'Harlan','Ludwig',1/11/1997);
要检查数据是否已添加,请执行以下语句:
SELECT * FROM MANAGERS;
方法2–使用新数据库对象选项
- 导航到Database > New Database Object:
-
选择要在其中创建新表的数据库,在右侧的对象类型列表中选择Table,然后单击Create。
-
dbForge 将打开一个选项卡,允许您设计和配置要创建的表。从本质上讲,该功能可以实现与
CREATE TABLE
查询相同的结果,但在视觉上更全面、更方便:
- 调整完所有必要的列和设置后,单击 Apply Changes 即可,表将在指定的数据库中创建。如果需要更新表的某些设置,只需更改相应的选项,然后单击Refresh Object:
有哪些数据类型可用?
在MySQL中创建新表时,必须为每列指定一种数据类型。SQL需要确定如何与存储的数据协。
MySQL支持如下几类数据类型:
- 字符串
- 数字
- 日期和时间
- 空间
- JSON格式
我们在主题MySQL中的数据类型:教程和带数据格式示例的完整列表 中描述了MySQL数据类型。请自由阅读以获取更多详细信息。
复制表
使用dbForge Studio for MySQL,您可以快速轻松地复制表:
- 右键单击所需的表,然后单击Duplicate Object:
- 从Destination database下拉菜单中选择要在其中创建表副本的数据库。
- 输入表副本的名称,或默认情况下将其保留在New object name字段中。
- 如果要同时复制表结构和数据,请选择Copy data。
- 最后,单击OK。不要忘记单击Refresh Object。dbForge将在指定的数据库中创建重复的表:
创建临时表
在某些情况下,数据库开发人员可能需要创建一个临时表,例如,用于存储临时数据。这将允许在MySQL存储过程中多次使用这些数据。
创建临时表之前,请学习以下规则:
- 用户必须被授予 “create temporary table” 权限
- 如果使用InnoDB数据库引擎,则无法创建临时表
- 可以使用与MySQL正常表相同的方式命名临时表
- 临时表与数据库模式有单独的关系。因此,如果删除数据库,该数据库中的临时表不一定删除
-CREATE TEMPORARY TABLE
语句不调用隐式提交
让我们创建一个临时表Car_model:
CREATE TEMPORARY TABLE CAR_MODEL
(CAR_ID varchar(45) NOT NULL,
LAST_UPDATE DATE NOT NULL,
PRIMARY KEY(CAR_ID)
);
并向创建的表中添加一些数据。在此语句中,我们使用STR_TO_DATE
函数转换数据类型:
INSERT INTO CAR_MODEL(CAR_ID,LAST_UPDATE) VALUES
(08266,STR_TO_DATE('11/29/1976','%m/%d/%Y')),
(19622,STR_TO_DATE('10/10/1990','%m/%d/%Y')),
(23003,STR_TO_DATE('5/26/1990','%m/%d/%Y')),
(80568,STR_TO_DATE('3/9/1971','%m/%d/%Y')),
(76849,STR_TO_DATE('1/11/1997','%m/%d/%Y'));
请注意,包含数据的表将在关闭会话后删除。要检查是否已创建表并添加数据,请执行以下查询:
SELECT *
FROM CAR_MODEL;
从CSV创建MySQL表
在dbForge Studio for MySQL中还有另一种创建表的方法–从CSV文件导入:
- 导航至*Database > Import Data:
- 单击CSV,然后单击File name字段旁边的三个点,以选择所需文件。
- 单击Next,然后从Database下拉菜单中选择要导入表的数据库。
- 选择New table,然后输入要导入数据的表的名称。
- 要自定义其他选项,请单击Next。要立即导入,请单击Import。
- 单击Refresh Object。您可以在指定的数据库中检查导入的表:
结论
我们研究了在MySQL数据库中创建表的两种不同方法:使用CREATE table语句和通过IDE。在本演练中,我们使用了dbForge Studio for MySQL。 第二种方法实际上允许您获得与第一种方法相同的结果,但在许多情况下,这种方法更方便、更直观。