二表之间的数据复制 mysql

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二表之间的数据复制 mysql相关的知识,希望对你有一定的参考价值。

有二个表
t1:
id (int auto primarykey) pro(varchar 32)
t2:
s(varchar 32) p(varchar 32)

现在我要把表t2里的p字段的值复制到t1中(t1目前是空的) 而且让t1的id 自动增加.

高手请赐条sql语句
请给全一点 我尝试过这种办法 提示我向主键赋值的错误

参考技术A INSERT INTO .. SELECT ... 参考技术B INSERT INTO t1 (pro) SELECT p FROM t2本回答被提问者采纳

mysql三:表操作

一 存储引擎介绍

存储引擎即表类型,mysql根据不同的表类型会有不同的处理机制

详见:http://www.cnblogs.com/llhtjwq/p/8306708.html

二 表介绍

表相当于文件,表中的一条记录就相当于文件的一行内容,不同的是,表中的一条记录有对应的标题,称为表的字段

id,name,qq,age称为字段,其余的,一行内容称为一条记录

三 创建表

复制代码
#语法:
create table 表名(
字段名1 类型[(宽度) 约束条件],
字段名2 类型[(宽度) 约束条件],
字段名3 类型[(宽度) 约束条件]
);

#注意:
1. 在同一张表中,字段名是不能相同
2. 宽度和约束条件可选
3. 字段名和类型是必须的
复制代码
View Code
往表中插入数据

注意注意注意:表中的最后一个字段不要加逗号 

四 查看表结构

复制代码
MariaDB [db1]> describe t1; #查看表结构,可简写为desc 表名
+-------+-----------------------+------+-----+---------+-------+
| Field | Type                  | Null | Key | Default | Extra |
+-------+-----------------------+------+-----+---------+-------+
| id    | int(11)               | YES  |     | NULL    |       |
| name  | varchar(50)           | YES  |     | NULL    |       |
| sex   | enum(\'male\',\'female\') | YES  |     | NULL    |       |
| age   | int(3)                | YES  |     | NULL    |       |
+-------+-----------------------+------+-----+---------+-------+


MariaDB [db1]> show create table t1\\G; #查看表详细结构,可加\\G
复制代码

五 数据类型

http://www.cnblogs.com/llhtjwq/p/8306716.html

六 表完整性约束

http://www.cnblogs.com/llhtjwq/p/8306721.html

七 修改表ALTER TABLE

复制代码
语法:
1. 修改表名
      ALTER TABLE 表名 
                          RENAME 新表名;

2. 增加字段
      ALTER TABLE 表名
                          ADD 字段名  数据类型 [完整性约束条件…],
                          ADD 字段名  数据类型 [完整性约束条件…];
      ALTER TABLE 表名
                          ADD 字段名  数据类型 [完整性约束条件…]  FIRST;
      ALTER TABLE 表名
                          ADD 字段名  数据类型 [完整性约束条件…]  AFTER 字段名;
                            
3. 删除字段
      ALTER TABLE 表名 
                          DROP 字段名;

4. 修改字段
      ALTER TABLE 表名 
                          MODIFY  字段名 数据类型 [完整性约束条件…];
      ALTER TABLE 表名 
                          CHANGE 旧字段名 新字段名 旧数据类型 [完整性约束条件…];
      ALTER TABLE 表名 
                          CHANGE 旧字段名 新字段名 新数据类型 [完整性约束条件…];
复制代码
示例

 

八 复制表

复制代码
复制表结构+记录 (key不会复制: 主键、外键和索引)
mysql> create table new_service select * from service;

只复制表结构
mysql> select * from service where 1=2;        //条件为假,查不到任何记录
Empty set (0.00 sec)
mysql> create table new1_service select * from service where 1=2;  
Query OK, 0 rows affected (0.00 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> create table t4 like employees;
复制代码

九 删除表

DROP TABLE 表名;

 

 

以上是关于二表之间的数据复制 mysql的主要内容,如果未能解决你的问题,请参考以下文章

表相关操作

Mysql中具有相同列名的表之间的数据复制

2020Python修炼记MySQL之 表相关操作

安全最重要!MySQL配置主从复制,主主复制

MySQL主从复制延迟解决方案

Mysql主从复制