1.常规创建
create table <tableB>(
# <字段> <类型>
id int(10),
name varchar(20)
);
2.复制表格
# create table 目标表 like 源表
create table <tableB> like <tableA>
3.将tableA的部分数据拿来创建tableB
create table <tableB>(
id int(10),
name varchar(20)
);
select id, name
from tableA
- desc tableB:
| filed | type | … |
|---|---|---|
| id | int(10) | … |
| name | varchar(20) | … |
Q:若 tableA 中的目标数据在 tableB 中没有同名字段会怎么样?
create table <tableB>(
user_id int(10),
user_name varchar(20)
);
select id, name
from tableA
- desc tableB:
| filed | type | … |
|---|---|---|
| user_id | int(10) | … |
| user_name | varchar(20) | … |
| id | int(10) | … |
| name | varchar(20) | … |
A: 从tableA中拿过来的数据字段为id和name,但是此方法创建tableB时定义的字段为user_id和user_name。成功创表后查看记录,发现这四个字段都存在于新表中。经实验,类型不同没有大影响,以tableB定义的字段类型为主。
本文介绍了在MySQL中创建数据表的三种方式:常规创建、复制表格以及利用部分数据创建新表。通过示例操作,解释了如何在已有的tableA基础上创建新的tableB,并探讨了当源表与目标表字段名称不一致时的情况,实验结果显示,即使字段类型不同,新表仍能成功创建,字段类型以新表定义为准。

36万+

被折叠的 条评论
为什么被折叠?



