الفرق بين المراجعتين لصفحة: «SQL/replace»
< SQL
لا ملخص تعديل |
ط تعديل الأمثلة |
||
(1 مراجعات متوسطة بواسطة نفس المستخدم غير معروضة) | |||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE:استعلام الاستبدال REPLACE}}</noinclude> | <noinclude>{{DISPLAYTITLE:استعلام الاستبدال REPLACE}}</noinclude> | ||
هو استعلام يستخدم للقيام بنفس مهمة الاستعلام <code>[[SQL/insert|INSERT]]</code> (إضافة سجل جديد للجدول) ولكن لإدخال سجلٍ بنفس القيمة الموجودة مسبقًا في عمود المفتاح الأوليّ وذلك منعًا لحدوث التكرار، إذ يُحذف السجل المحتوي لهذه القيمة ليُضاف سجلٌ جديدٌ بدلًا منه، وتكون الصيغة العامة للاستعلام على النحو الآتي:<syntaxhighlight lang="sql"> | هو استعلام يستخدم للقيام بنفس مهمة الاستعلام <code>[[SQL/insert|INSERT]]</code> (إضافة سجل جديد للجدول) ولكن لإدخال سجلٍ بنفس القيمة الموجودة مسبقًا في عمود المفتاح الأوليّ وذلك منعًا لحدوث التكرار، إذ يُحذف السجل المحتوي لهذه القيمة ليُضاف سجلٌ جديدٌ بدلًا منه، وتكون الصيغة العامة للاستعلام على النحو الآتي:<syntaxhighlight lang="sql"> | ||
REPLACE INTO | REPLACE INTO tbl VALUES (col_name [, col_name] ...); | ||
</syntaxhighlight>إذ إن <code>table</code> هو اسم الجدول الذي سيُعدَّل فيه السجل، وتوضع القيم الجديدة ضمن القوسين. | </syntaxhighlight>إذ إن <code>table</code> هو اسم الجدول الذي سيُعدَّل فيه السجل، وتوضع القيم الجديدة ضمن القوسين. | ||
سطر 103: | سطر 103: | ||
* [https://dev.mysql.com/doc/refman/5.7/en/replace.html توثيق REPLACE في محرك MySQL] | * [https://dev.mysql.com/doc/refman/5.7/en/replace.html توثيق REPLACE في محرك MySQL] | ||
* [https://sqlite.org/lang_conflict.html توثيق REPLACE في محرك SQLite] | * [https://sqlite.org/lang_conflict.html توثيق REPLACE في محرك SQLite] | ||
[[تصنيف:SQL]] | [[تصنيف:SQL|{{SUBPAGENAME}}]] | ||
[[تصنيف:SQL Tables]] | [[تصنيف:SQL Tables|{{SUBPAGENAME}}]] |
المراجعة الحالية بتاريخ 12:20، 30 يناير 2018
هو استعلام يستخدم للقيام بنفس مهمة الاستعلام INSERT
(إضافة سجل جديد للجدول) ولكن لإدخال سجلٍ بنفس القيمة الموجودة مسبقًا في عمود المفتاح الأوليّ وذلك منعًا لحدوث التكرار، إذ يُحذف السجل المحتوي لهذه القيمة ليُضاف سجلٌ جديدٌ بدلًا منه، وتكون الصيغة العامة للاستعلام على النحو الآتي:
REPLACE INTO tbl VALUES (col_name [, col_name] ...);
إذ إن table
هو اسم الجدول الذي سيُعدَّل فيه السجل، وتوضع القيم الجديدة ضمن القوسين.
مثال
إن كان الجدول الآتي students
موجودًا في قاعدة البيانات:
GPA | Age | Name | StudentID |
---|---|---|---|
3.68 | 25 | Mona | 1024 |
3.57 | 24 | Radi | 1081 |
2.50 | 25 | Leen | 1012 |
4.00 | 26 | Sarah | 1085 |
1.96 | 22 | Amin | 1066 |
2.87 | 23 | Yusuf | 1056 |
فلاستبدال السجل ذو الرقم الفريد 1066 (وهو رقم لا يمكن تكراره لأن هذا الحقل يعدّ مفتاحًا أوليًا للجدول) ببياناتٍ متعلقة بطالب آخر يُنفذ الاستعلام الآتي:
REPLACE INTO students VALUES (1066, 'Ahmad', 21, 3.15);
ليصبح الجدول بعد الاستبدال بالشكل الآتي:
GPA | Age | Name | StudentID |
---|---|---|---|
3.68 | 25 | Mona | 1024 |
3.57 | 24 | Radi | 1081 |
2.50 | 25 | Leen | 1012 |
4.00 | 26 | Sarah | 1085 |
3.15 | 21 | Ahmad | 1066 |
2.87 | 23 | Yusuf | 1056 |
التوافقية
SQLServer | SQLite | Oracle | PostgreSQL | MySQL |
---|---|---|---|---|
لا | نعم | لا | لا | نعم |
قد يُستفاد من استعلام UPDATE
في المحركات التي لا تدعم استعلام الاستبدال REPLACE
.