如何在 MySql 中创建表?

Posted

技术标签:

【中文标题】如何在 MySql 中创建表?【英文标题】:How can I create a table in MySql? 【发布时间】:2021-07-28 18:08:38 【问题描述】:

我有这个 JSON 文件,我正在尝试创建一个包含这些信息的表。


    "name": "John Smith",
    "sku": "20223",
    "shipTo": 
        "name": "Jane Smith",
        "address": "123 Maple Street",
        "city": "Pretendville",
        "state": "NY",
        "zip": "12345"
    ,
    "billTo": 
        "name": "John Smith",
        "address": "123 Maple Street",
        "city": "Pretendville",
        "state": "NY",
        "zip": "12345"
    

我在 mysql 数据库中尝试做的事情

CREATE TABLE t1(
        name VARCHAR(200),
        sku VARCHAR(200),
        shipTo // what type should I use to get shipTo data ie name, address, city ...?
        billTo // same thing here.
        );

【问题讨论】:

显示的 JSON 是否是完整的模式,并且在另一个 JSON 中可能不会出现其他属性?根、shipTo 和 billTo 中的name 是否始终相同? shipTo 和 billTo 中的地址数据是否始终相同?您至少需要 2 个表才能以标准化形式存储此数据(最佳 - 最多可能 6 个表)。当然,您可以将这个 JSON 原样存储在 JSON 类型的一列中。但在这种情况下,任何数据处理都会出现问题。 【参考方案1】:

您可以使用 MySQL JSON 数据类型。请前往this link 获取详细解释的示例。

CREATE TABLE table_name (
    ...
    json_column_name JSON,
    ... 
);

希望我没听错。

【讨论】:

以上是关于如何在 MySql 中创建表?的主要内容,如果未能解决你的问题,请参考以下文章

如何在数据库中创建表

如何在 MySQL 中创建表别名

mysql怎么建库建表

MYSQL数据库建表出错!!!

MYSQL数据库建表出错

在mysql中创建表时使用变量作为表名