SELECT INTO

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: 【11月更文挑战第08天】

SELECT INTO 语句在某些数据库管理系统中(如 SQL Server 和 Access)用于从一个表复制数据到一个新表。这个新表将包含与原始表相同的数据和列结构。然而,正如你所提到的,MySQL 不支持 SELECT ... INTO 语句,而是使用 INSERT INTO ... SELECT 来复制数据,同时使用 CREATE TABLE ... SELECT 来复制表结构和数据。

SQL SELECT INTO 语法(对于支持的数据库)

SELECT *
INTO 新表名
FROM 旧表名
WHERE 条件;
  • 新表名 是你想要创建的新表的名称。
  • 旧表名 是包含数据的原始表的名称。
  • WHERE 条件 是用来指定复制哪些数据的条件(可选)。

代码示例(对于支持 SELECT INTO 的数据库)

假设我们有一个名为 employees 的表,我们想要创建一个新的表 new_employees 来存储所有员工的数据。

SELECT *
INTO new_employees
FROM employees;

这条语句将创建一个名为 new_employees 的新表,并将 employees 表中的所有数据复制到这个新表中。

MySQL 中的替代方案

由于 MySQL 不支持 SELECT INTO,我们可以使用以下两种方法:

1. 使用 INSERT INTO ... SELECT 复制数据

INSERT INTO 新表名
SELECT * FROM 旧表名;

这条语句将数据从 旧表名 复制到 新表名,但不会复制表结构。

2. 使用 CREATE TABLE ... SELECT 复制表结构及数据

CREATE TABLE 新表名 AS
SELECT * FROM 旧表名;

这条语句将创建一个新表,并复制 旧表名 的结构和数据到 新表名

代码示例(MySQL)

假设我们有一个名为 employees 的表,我们想要在 MySQL 中创建一个新的表 new_employees 来存储所有员工的数据。

CREATE TABLE new_employees AS
SELECT * FROM employees;

这条语句将创建一个名为 new_employees 的新表,并复制 employees 表中的所有数据和结构到这个新表中。这样,new_employees 将具有与 employees 相同的列和数据。

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
索引
不推荐SELECT * FROM table原因
根据非索引查询 :B+树的叶子节点放数据表行数据,叶子节点存放主键,如果想获得行数据信息,则需要再跑到主键索引去拿数据,这叫回表,速度慢。但不管是主键还是非主键索引,他们的叶子结点数据都是有序的。比如在主键索引中,这些数据是根据主键id的大小,从小到大,进行排序的。**1.**根据索引查询 :B+树的父节点放索引数据,速度快,叶子(父)节点会存放完整的行数据西信息。
378 0
|
2月前
|
SQL 数据库
INTO SELECT
【11月更文挑战第10天】
30 3
|
3月前
|
前端开发 容器
select
【10月更文挑战第20天】
46 5
|
2月前
|
SQL
SELECT DISTINCT
【11月更文挑战第02天】
47 1
|
5月前
|
存储 关系型数据库 数据库
在 Postgres 中使用 Insert Into Select
【8月更文挑战第11天】
159 0
在 Postgres 中使用 Insert Into Select
|
SQL 数据库
INSERT DESC UPDATE SELECT
INSERT DESC UPDATE SELECT
110 0
|
数据库 OceanBase
INSERT INTO table_name SELECT * FROM table_name
INSERT INTO table_name SELECT * FROM table_name
79 1
|
数据库 索引
SELECT
SELECT
74 0
|
存储 前端开发 JavaScript
select2 使用详解
select2 使用详解
|
关系型数据库 MySQL 开发者
explain 之 select-type 和 table 介绍|学习笔记
快速学习 explain 之 select-type 和 table 介绍
827 0