با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن . و کاربرانی که دوره آموزش کامل SQL را دنبال می کنند. یکی از اعمال رایج، مخصوصا که وقتی از جداول متعددی در بانک اطلاعاتی استفاده می کنید، کپی داده های یک جدول در جدول جدیدی است. برای مواقعی که می خواهید از داده های بسیار مهم یک جدول نسخه های مختلفی در بانک اطلاعاتی داشته باشید و یا اینکه به هر دلیلی بخواهید داده های یک جدول را بصورت موقت در جدول دیگری قرار دهید. می توانید از دستور SELECT INTO برای این منظور استفاده کنید. برای آشنایی با دستور SELECT INTO در SQL و ساختار آن، در ادامه این بخش، با ما همراه باشید.
دستور SELECT INTO داده های یک جدول را در جدول جدیدی کپی می کند.
ساختار دستور SELECT INTO :
1 2 3 4 | SELECT * INTO newtable [IN externaldb] FROM oldtable WHERE condition; |
ساختار SELECT INTO برای کپی داده های تعدادی از فیلدها:
1 2 3 4 | SELECT column1, column2, column3, ... INTO newtable [IN externaldb] FROM oldtable WHERE condition; |
جدول جدید، نام ستون ها و نوع آنها را مانند جدول قبلی ایجاد می کند.
شما می توانید با استفاده از عملگر AS ، نام جدیدی را برای ستون ها، تعریف کنید.
مثال زیر، یک نسخه ی کپی به عنوان پشتیبان از جدول Customers، ایجاد می کند:
1 2 | SELECT * INTO CustomersBackup2017 FROM Customers; |
در مثال زیر داده های موجود در یک جدول به جدول جدیدی در بانک اطلاعاتی دیگری به نام “Backup.mdb”، کپی می شود:
1 2 | SELECT * INTO CustomersBackup2017 IN 'Backup.mdb' FROM Customers; |
مثال زیر، فقط تعدادی از فیلدهای یک جدول را به جدول دیگری کپی می کند:
1 2 | SELECT CustomerName, ContactName INTO CustomersBackup2017 FROM Customers; |
مثال زیر فقط رکوردهایی که مقدار فیلد Country آنها با Germany برابر است، را در جدول جدید کپی می کند:
1 2 3 | SELECT * INTO CustomersGermany FROM Customers WHERE Country = 'Germany'; |
مثال زیر فیلدهایی را از دو جدول انتخاب و دادههای آنها را در جدول جدیدی کپی می کند:
1 2 3 4 | SELECT Customers.CustomerName, Orders.OrderID INTO CustomersOrderBackup2017 FROM Customers LEFT JOIN Orders ON Customers.CustomerID = Orders.CustomerID; |
نکته: از دستور SELECT INTO، همچنین برای ایجاد جدول جدیدی که از ساختار جدول دیگری استفاده می کند، استفاده می شود:
1 2 3 | SELECT * INTO newtable FROM oldtable WHERE 1 = 0; |
بطور خلاصه در این بخش، حالت های مختلف کپی داده ها از یک جدول به جدول جدید را بررسی کردیم. همچنین شما را با ساختار و کاربردهای دستور SELECT INTO ، آشنا کردیم. امیدواریم که از مباحث آشنایی با دستور SELECT INTO در SQL ،بخوبی استفاده کرده باشید.