假设需要把旧表test1表的数据,插入到新表test2里
1. 创建 test1
表并插入数据
创建 test1
表
CREATE TABLE test1 (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(10),
age INT,
email VARCHAR(30),
born_year YEAR,
reg_time DATETIME
);
解释:
id
:主键,自动递增。name
:名字,最大长度10个字符。age
:年龄,整数类型。email
:电子邮件,最大长度30个字符。born_year
:出生年份,YEAR类型。reg_time
:注册时间,DATETIME类型。
向 test1
表插入数据
INSERT INTO test1 (name, age, email, born_year, reg_time) VALUES
('egon1', 18, '123123@qq.com', 1999, NOW()),
('egon2', 28, '123123@163.com', 1999, NOW()),
('egon3', 38, '123123@xx.com', 1999, NOW()),
('egon4', 48, '123123@aa.com', 1999, NOW()),
('egon5', 58, '123123@zz.com', 1999, NOW());
解释:
- 向
test1
表中插入5条记录。 NOW()
函数用于获取当前时间。
2. 创建 db3
数据库并创建 test2
表
创建数据库 db3
CREATE DATABASE db3;
解释:
- 创建一个新的数据库
db3
。
使用数据库 db3
USE db3;
解释:
- 切换到数据库
db3
,后续操作都在db3
数据库中执行。
创建 test2
表
CREATE TABLE test2 (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(15),
email VARCHAR(30),
reg_time DATETIME
);
解释:
id
:主键,自动递增。name
:名字,最大长度15个字符。email
:电子邮件,最大长度30个字符。reg_time
:注册时间,DATETIME类型。
3. 从 db2.test1
表插入数据到 db3.test2
表
插入数据
INSERT INTO db3.test2 (id, name, email, reg_time)
SELECT id, name, email, reg_time FROM db2.test1;
解释:
- 将
db2.test1
表中的数据插入到db3.test2
表中。 - 使用
SELECT
语句从db2.test1
表中获取数据。
总结
以下是完整的操作流程:
- 创建
test1
表并插入数据
CREATE TABLE test1 (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(10),
age INT,
email VARCHAR(30),
born_year YEAR,
reg_time DATETIME
);
INSERT INTO test1 (name, age, email, born_year, reg_time) VALUES
('egon1', 18, '123123@qq.com', 1999, NOW()),
('egon2', 28, '123123@163.com', 1999, NOW()),
('egon3', 38, '123123@xx.com', 1999, NOW()),
('egon4', 48, '123123@aa.com', 1999, NOW()),
('egon5', 58, '123123@zz.com', 1999, NOW());
- 创建
db3
数据库并创建test2
表
CREATE DATABASE db3;
USE db3;
CREATE TABLE test2 (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(15),
email VARCHAR(30),
reg_time DATETIME
);
- 从
db2.test1
表插入数据到db3.test2
表
INSERT INTO db3.test2 (id, name, email, reg_time)
SELECT id, name, email, reg_time FROM db2.test1;
通过这些操作,可以成功创建和操作两个数据库中的表,并实现从一个表向另一个表的数据插入。