sql >> Database >  >> RDS >> Mysql

Kopieer gegevens naar een nieuwe tabel in MySQL

U kunt eenvoudig gegevens naar een nieuwe tabel in MySQL kopiëren met SELECT INTO. Dit helpt je om snel tijdelijke tabellen te maken.

De instructie SELECT INTO kopieert gegevens uit de ene tabel en voegt deze in een nieuwe tabel in. De instructie SELECT INTO selecteert gegevens uit een tabel en voegt deze in een nieuwe tabel in.

SQL SELECT INTO-syntaxis

Kopieer alle kolommen naar een nieuwe tabel in dezelfde database:

SELECT *
INTO new_table
FROM table_name;

Kopieer alle kolommen naar een nieuwe tabel in een andere database:

SELECT *
INTO new_table IN database_name
FROM table_name;

Kopieer alleen de kolommen die we willen naar de nieuwe tabel in dezelfde database:

SELECT column_name1,column_name2,..
INTO new_table
FROM table_name;
SELECT column_name1,column_name2,..
INTO new_table IN database_name
FROM table_name;

Opmerking

De nieuwe tabel wordt gemaakt met de kolomnamen en typen zoals gedefinieerd in de SELECT-instructie. U kunt nieuwe namen toepassen met behulp van de AS-clausule.

SQL SELECT INTO-voorbeelden
Maak een reservekopie van Klanten:

SELECT *
INTO Users_Backup
FROM Users;

Gebruik de IN-component om de tabel naar een andere database te kopiëren:

SELECT *
INTO Users_Backup IN 'Backup_database'
FROM Users;

Kopieer slechts een paar kolommen naar de nieuwe tabel:

SELECT User_Name, User_Contact
INTO Users_Backup
FROM Users;

Kopieer alleen de Amerikaanse klanten naar de nieuwe tabel:

SELECT *
INTO Users_Backup
FROM Users
WHERE Country='USA';

Kopieer gegevens van meer dan één tabel naar de nieuwe tabel:

SELECT Users.User_Name, Orders.Order_ID
INTO Users_Order_Backup
FROM Users
LEFT JOIN Orders
ON Users.User_ID=Orders.User_ID;

Tip :De SELECT INTO-instructie kan ook worden gebruikt om een ​​nieuwe, lege tabel te maken met behulp van het schema van een andere. Voeg gewoon een WHERE-clausule toe die ervoor zorgt dat de query geen gegevens retourneert:

  1. Kolomnamen opnemen in SQLite-queryresultaten

  2. UUID-string formatteren zonder REGEXP_REPLACE en PL/SQL

  3. Wat gebeurt er met de primaire sleutel-ID als deze de limiet overschrijdt?

  4. Hoe u onbedoelde gegevensverwijdering in MySQL en MariaDB kunt voorkomen