mysql --复制表子查询(复制表、复制数据)

复制表子查询

复制表
  • 拷贝表结构
CREATE TABLE newadmin LIKE admin;
  • 拷贝表结构和数据(但约束与索引除外)
CREATE TABLE newadmin AS ( SELECT *  FROM admin )  
  • 拷贝表结构+数据
CREATE TABLE newadmin LIKE admin;   
INSERT INTO newadmin SELECT * FROM admin;
  • 跨数据库拷贝表
CREATE TABLE newadmin LIKE shop.admin;   
CREATE TABLE newshop.newadmin LIKE shop.admin; 
  • 拷贝一个表中其中的一些字段(指定新名),其中一些数据
CREATE TABLE newadmin AS 
( SELECT id, username AS uname, PASSWORD AS pass FROM admin WHERE id < 10 );
  • 在创建表的同时定义表中的字段信息。
CREATE TABLE tt ( eid INT PRIMARY KEY auto_increment ) 
AS ( SELECT employee_id AS eid, first_name, last_name, email FROM employees );
复制数据
-- 在 INSERT 语句中加入子查询。
-- 不必书写 VALUES 子句。 
-- 子查询中的值列表应与 INSERT 子句中的列名对应。
INSERT INTO emp2 
SELECT * FROM employees WHERE department_id = 90;
-- 或
INSERT INTO sales_reps(id, name, salary, commission_pct)
SELECT employee_id, last_name, salary, commission_pct
FROM   employees
WHERE  job_id LIKE '%REP%';

猜你喜欢

转载自blog.csdn.net/qq_42363032/article/details/108509656