在MySQL中,我們經(jīng)常需要將已有的數(shù)據(jù)添加到新的表格中。這可以通過使用INSERT INTO和SELECT語句來完成。
INSERT INTO new_table_name (column1, column2, column3, ...) SELECT column1, column2, column3, ... FROM old_table_name WHERE condition;
該語句首先指定新表格的名稱和要插入的列。然后使用SELECT語句指定要從舊表格中插入哪些數(shù)據(jù),以及任何必要的篩選條件。例如,如果您只需要插入舊表格中特定條件下的行,則可以在SELECT語句中包含WHERE子句。
INSERT INTO users_backup (id, name, email, date_added) SELECT id, name, email, NOW() FROM users WHERE last_login< '2021-01-01';
在這個例子中,我們將從users表格中選擇滿足一定條件的id、name和email列(即last_login在2021年1月1日之前的用戶),并將它們插入到新的users_backup表格中。在INSERT INTO子句中,我們指定了要插入的列以及當(dāng)前日期(使用MySQL內(nèi)置函數(shù)NOW())。
請注意,新表格必須在使用INSERT INTO語句之前創(chuàng)建。您可以使用CREATE TABLE語句來創(chuàng)建一個新表格,并確保它包含與SELECT語句中列的數(shù)量和類型相同的列。
CREATE TABLE users_backup ( id INT PRIMARY KEY, name VARCHAR(255), email VARCHAR(255), date_added DATETIME );
一旦新表格創(chuàng)建完成并執(zhí)行了INSERT INTO語句,您就可以像任何其他表格一樣使用它。