mysql用现有表的数据建表或填充表

本文详细介绍了SQL中利用INSERT INTO与CREATE TABLE语句进行数据插入与表创建的方法及注意事项,包括列数匹配、类型兼容性、NULL值处理等关键细节。

这种方式注意

INSERT INTO表名(列名1,列名2…

SELECT表名(列名1,列名2…

插入与选取的列数要相同,且类型兼容,选取的列分别依次按顺序填入要插入的表的列

这种方法注意:

      CREATETABLE 表名1(列1类型1,列2类型2… AS

      SELECT1,列2… FROM表名2

取数据的表2选取的列与要填入数据的表1指定的列数可以不等,填入数据的表1intnull列不给值值就为0,填入表1varcharnull列不给值值就为什么也没有(空白),同名的列自动对应填入,如果不指定表1的列,则创建的表1将会有与表2选取的列相同的列名和数据类型,如果表2选取的列名,表1没有,表1就创建没有的列,这些列与表2有相同的列名和数据类型,总结为没有的就创建,有的就对号入座。

### 如何在 MySQL Workbench 中进行的详细操作 #### 使用图形界面创 通过 MySQL Workbench 的图形化用户界面 (GUI),可以轻松完成新建操作。以下是具体方法: 打开 MySQL Workbench 后,连接到目标数据库实例[^1]。导航至左侧的对象浏览器区域,右键点击 `Tables` 文件夹并选择 `Create Table...` 选项。这将弹出一个新的窗口,在其中可以定义新的各项属性,包括字段名称、数据类型、约束条件以及索引设置等。 对于每一个字段,都需要指定其名字和相应的数据类型(例如 INT, VARCHAR(255), DATE 等)。如果某些列不允许为空,则勾选 NOT NULL 复选框;还可以为主键设定自动增长功能 AUTO_INCREMENT 和其他高级特性如默认值 DEFAULT[^3]。 ```sql CREATE TABLE example_table ( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(100) NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); ``` #### 反向工程现有结构 当需要了解已存在的数据库对象是如何构的时候,“反向工程”是一个非常有用的工具。可以通过依次展开菜单栏上的 **Database -> Reverse Engineer** 来启动该流程。此过程中会引导用户选取合适的服务器链接,并最终生成一份详细的 ER 图(E-R Diagram),同时也能导出对应的 SQL 脚本用于重相同的架构。 #### 导入外部数据格 除了手动编写 DDL(Data Definition Language)命令外,也可以利用 CSV JSON 格式的文件来快速初始化一张新的关系型存储单元。然而需要注意的是,默认情况下 MysqlWorkbench 支持直接解析这两种格式的数据集作为初始填充物[^5]。而对于纯文本类型的文档(.txt),则议先转换成兼容模式再执行上传动作。 #### 查阅先前声明过的 Schema 定义 假如曾经在一个项目里边精心设计过若干张关联紧密的关系模型却忘记了确切语法述怎么办呢? 不必担心! 在软件界面上找到对应实体节点之后双击即可预览完整的 CREATE STATEMENT 文字串[^4]。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值