دستور select into در SQL
دستور SELECT INTO می تواند برای backup گیری از جداول استفاده شود.
دستور SELECT INTO
دستور SELECT INTO داده ها را از یک جدول بر می دارد و در جدولی دیگر وارد می کند.
دستور SELECT INTO اغلب برای backup گیری از جداول مورد استفاده قرار می گیرد.
فرم دستور SELECT INTO:
می توانیم تمام ستون ها را به یک جدول جدید وارد کنیم:
INTO new_table_name [IN externaldatabase]
FROM old_tablename
یا می توانیم تنها ستون های خاصی را به جدول جدیدی وارد کنیم:
INTO new_table_name [IN externaldatabase]
FROM old_tablename
مثال:
Backup گیری: می خواهیم یک کپی از داده های جدول Persons بگیریم (گرفتن نسخه پشتیبان از یک جدول در پایگاه داده موجود)
از دستور زیر استفاده می کنیم:
INTO Persons_Backup
FROM Persons
همچنین می توانیم از عبارت IN برای کپی کردن جدول به پایگاه داده دیگر استفاده کنیم (گرفتن نسخه پشتیبان از یک جدول در پایگاه داده دیگر):
INTO Persons_Backup IN 'Backup.mdb'
FROM Persons
همچنین می توانیم از فیلدهای خاصی از یک جدول به جدول جدید دیگر کپی بگیریم (گرفتن نسخه پشتیبان ازفیلدهای خاصی از یک جدول در پایگاه موجود.)
INTO Persons_Backup
FROM Persons
SELECT INTO به همراه عبارت WHERE
همچنین می توانیم عبارت WHERE را در دستور اضافه کنیم:
دستور زیر جدول Persons_Backup را حاوی افرادی برمی گرداند که در شهر Sandnes زندگی می کنند.
INTO Persons_Backup
FROM Persons
WHERE City='Sandnes'
SELECT INTO در ترکیب با دستورات Join
انتخاب داده ها از بیش از یک جدول نیز امکان پذیر است.
مثال:
مثال زیر جدول Persons_Order_Backup را که حاوی داده های از دو جدول Persons و Orders می باشد را بر می گرداند.
INTO Persons_Order_Backup
FROM Persons
INNER JOIN Orders
ON Persons.P_Id=Orders.P_Id
برای مشاهده فیلم های آموزشی مقدماتی تا پیشرفته پایگاه داده SQLServer کلیک کنید.
- نوشته شده توسط امیر پهلوان صادق
- بازدید: 37647
دیدگاهها
سلام خسته نباشید
من وقتی محتوای جدول persons رو تو یک جدول تو همون دیتابیس کپی میکنم مشکلی نیست و درست انجام میشه اما وقتی میخوام تو یک دیتابیس دیگه وارد کنم ارور خطای سینتاکس میگیره این کد من:
select * into persons_backup in 'mydb2' from persons;
اینم اروری که میده
Incorrect syntax near the keyword 'in'.
ظاهرا از کلمه ی in خطا میگیره و فکر کنم سینتکسها متفاوته
از sql server 2012 استفاده میکنم
برای اجرا باید اینو زد
SELECT * INTO database2.dbo.t able_name2 FROM database1.dbo.t able_name1
سلام خسته نباشید.
برای اینکه یک جدول را به جدول دیگه ای در همان پایگاه داده اضافه کنیم ابتدا باید بک آپ بگیریم؟
اگر نه، میشه مثال بزنید برای ادغام دو تا جدول.
با تشکر از زحماتتون
با سلام و تشکر
برای اتصال یا همان JOIN دو جدول نیاز به یک فیلد مشترک در هر دو جدول داریم که معمولاً این فیلد در یکی از این جداول به عنوان کلید اصلی و در جدول دیگه به عنوان کلید خارجی تعریف میشه. البته این لزومی و اجباری نیست.
فرض کنید یه جدول پست با فیلدهای post_id, post_title, post_comment داریم.
یک جدول هم به نام کامنت داریم با فیلدهای comment_id, comment, post_id.
معمولا برای پست میشه چندین کامنت گذاشت. مثل همین پست که شما و باقی دوستان سؤالاتشون رو مطرح میکنن.
حالا ما میخوایم این دو جدول رو به وصل کنیم. از دستور زیر استفاده میکنیم:
SELECT * FROM post LEFT JOIN comment ON comment.post_id = post.post_id
کد بالا یه نمونه مثال ساده از اتصال دوجدول به همدیگر هست. اگر دقت کنید اتصال از سمت چپ هست، به این معنی که جدولی سمت چپ (اولی) مبنا قرار میگیره. فیلدهای جدول دوم بر اساس فیلد این جدول، join میشه.
انواع اتصال دیگری هم وجود داره،که توصیه میکنیم با کمی مطالعه و کسب تجربه اقدام به یادگیری این موارد فرمایید.
بسیا بسیار بسیار سپاس بابت کمک هاتون :)
سلام
نتیجه ی دستور SELECT *
INTO Persons_Backup
FROM Persons
این ارور بود:MySQL said: Documentation
#1327 - Undeclared variable: Persons_Backup
چرا؟؟؟
من بعد سرچ توی سایت ها تونستم با این دستور به نتیجه ی مطلوب برسم:CREATE TABLE persons_backup LIKE persons;
INSERT INTO persons_backup;
SELECT * FROM persons;