العبارات التالية هي عبارات Mssql ولا يمكن استخدامها في الوصول.
تصنيف SQL:
DDL — لغة تعريف البيانات (إنشاء، تغيير، إسقاط، إعلان)
DML — لغة معالجة البيانات (SELECT، DELETE، UPDATE، INSERT)
DCL — لغة التحكم في البيانات (المنح، الإلغاء، الالتزام، التراجع)
أولاً: مقدمة مختصرة عن العبارات الأساسية:
1. التعليمات: إنشاء قاعدة بيانات
إنشاء اسم قاعدة بيانات قاعدة البيانات
2. الوصف: حذف قاعدة البيانات
إسقاط اسم قاعدة البيانات
3. الوصف: عمل نسخة احتياطية لخادم SQL
--- إنشاء جهاز للبيانات الاحتياطية
استخدم سيد
EXEC sp_addumpdevice 'القرص'، 'testBack'، 'c:mssql7backupMyNwind_1.dat'
--- بدء النسخ الاحتياطي
قاعدة بيانات النسخ الاحتياطي للاختبارالعودة
4. الوصف: إنشاء جدول جديد
إنشاء اسم علامة تبويب الجدول (col1 type1 [ليس فارغًا] [المفتاح الأساسي]،col2 type2 [ليس فارغًا]،..)
إنشاء جدول جديد استناداً إلى جدول موجود:
ج: قم بإنشاء جدول tab_new مثل tab_old (استخدم الجدول القديم لإنشاء جدول جديد)
ب: قم بإنشاء جدول tab_new كما حدد col1,col2... من تعريف tab_old فقط
5. الوصف:
إسقاط جدول جديد: إسقاط اسم علامة التبويب الجدول
6. الوصف:
إضافة عمود: تغيير اسم جدول الجدول، وإضافة نوع عمود العمود
ملاحظة: بمجرد إضافة عمود، لا يمكن حذفه. في DB2، لا يمكن تغيير نوع البيانات بعد إضافة العمود. الشيء الوحيد الذي يمكن تغييره هو زيادة طول نوع varchar.
7. الوصف:
إضافة مفتاح أساسي: تغيير اسم علامة تبويب الجدول وإضافة مفتاح أساسي (عمود)
يوضح:
حذف المفتاح الأساسي: تغيير مفتاح علامة تبويب الجدول وإسقاط المفتاح الأساسي (عمود)
8. الوصف:
إنشاء فهرس: قم بإنشاء اسم فهرس [فريد] على tabname(col....)
حذف الفهرس: قم بإسقاط الفهرس idxname
ملاحظة: لا يمكن تغيير الفهرس إذا كنت تريد تغييره، فيجب عليك حذفه وإعادة بنائه.
9. الوصف:
إنشاء طريقة عرض: إنشاء اسم عرض للعرض كبيان محدد
حذف طريقة عرض: إسقاط اسم عرض العرض
10. الوصف: العديد من تحديدات عبارات SQL الأساسية البسيطة: حدد * من الجدول 1 حيث يتم إدراج النطاق: أدخل في قيم الجدول 1 (الحقل 1، الحقل 2) (القيمة 1، القيمة 2)
حذف: حذف من الجدول 1 حيث تحديث النطاق: تحديث مجموعة الجدول 1 الحقل 1 = القيمة 1 حيث بحث النطاق: حدد * من الجدول 1 حيث الحقل 1 مثل '%value1%' --- بناء جملة الإعجاب معقد للغاية، تحقق من المعلومات!
الفرز: حدد * من الجدول 1 بترتيب الحقل 1 والحقل 2 [تنازلي]
العدد الإجمالي: حدد العدد * كإجمالي عدد من الجدول 1
المجموع: حدد المبلغ (الحقل 1) كقيمة إجمالية من الجدول 1
المتوسط: حدد avg(field1) كقيمة avgvalue من الجدول1
الحد الأقصى: حدد الحد الأقصى (الحقل 1) كقيمة قصوى من الجدول 1
الحد الأدنى: حدد الحد الأدنى (الحقل 1) كقيمة دنيا من الجدول 1
11. الوصف: العديد من عوامل تشغيل الاستعلام المتقدمة ج: مشغل UNION يقوم مشغل UNION باشتقاق جدول نتائج من خلال دمج جدولي نتائج آخرين (مثل TABLE1 وTABLE2) وإزالة أي صفوف مكررة في الجدول. عند استخدام ALL مع UNION (أي UNION ALL)، لا يتم حذف الصفوف المكررة. في كلتا الحالتين، يأتي كل صف في الجدول المشتق من TABLE1 أو TABLE2.
ب: عامل التشغيل EXCEPT يقوم عامل التشغيل EXCEPT باشتقاق جدول نتائج عن طريق تضمين جميع الصفوف الموجودة في TABLE1 ولكن ليس في TABLE2 وإزالة كافة الصفوف المكررة. عند استخدام الكل مع باستثناء (باستثناء الكل)، لا يتم حذف الصفوف المكررة.
C: عامل التشغيل INTERSECT يستمد عامل التشغيل INTERSECT جدول نتائج من خلال تضمين الصفوف الموجودة في كل من TABLE1 وTABLE2 فقط وإزالة أي صفوف مكررة. عند استخدام ALL مع INTERSECT (INTERSECT ALL)، لا يتم التخلص من الصفوف المكررة.
ملاحظة: يجب أن تكون صفوف نتائج الاستعلام المتعددة التي تستخدم كلمات عامل التشغيل متسقة.
12. الوصف: استخدم الصلة الخارجية A، الصلة الخارجية اليسرى:
الصلة الخارجية اليسرى (الصلة اليسرى): تتضمن مجموعة النتائج صفوفًا متطابقة من الجدول المرتبط وجميع صفوف الجدول المرتبط الأيسر.
SQL: حدد aa، ab، ac، bc، bd، bf من LEFT OUT JOIN b ON aa = bc
ب: الصلة الخارجية اليمنى:
الصلة الخارجية اليمنى (الصلة اليمنى): تتضمن مجموعة النتائج كلاً من صفوف الصلة المتطابقة في جدول الصلة وجميع صفوف جدول الصلة اليمنى.
ج: الانضمام الخارجي الكامل:
الصلة الخارجية الكاملة: لا تتضمن فقط الصفوف المتطابقة في جدول الاتصال الرمزي، ولكن أيضًا جميع السجلات في الجدولين المرتبطين.
ثانيًا، دعونا نلقي نظرة على بعض عبارات SQL الجيدة 1. الوصف: انسخ الجدول (فقط انسخ البنية، اسم الجدول المصدر: أ، اسم الجدول الجديد: ب) (الوصول متاح)
الطريقة الأولى: حدد * في b من حيث 1<>1
الطريقة الثانية: حدد أعلى 0 * في b من a
2. الوصف: نسخ الجدول (نسخ البيانات، اسم الجدول المصدر: أ، اسم الجدول الهدف: ب) (الوصول متاح)
أدخل في b(a, b, c) حدد d,e,f من b;
3. الوصف: نسخ الجداول بين قواعد البيانات (استخدم المسارات المطلقة لبيانات محددة) (الوصول متاح)
أدخل في b(a, b, c) حدد d,e,f من b في "قاعدة بيانات محددة" حيث مثال الشرط: ..from b في '"&Server.MapPath(".")&"data.mdb" & "' أين..
4. الوصف: استعلام فرعي (اسم الجدول 1: اسم الجدول 2: ب)
حدد a,b,c من a حيث IN (اختر d من b ) أو: حدد a,b,c من a حيث IN (1,2,3)
5. الوصف: عرض المقالة والمرسل ووقت الرد الأخير
حدد a.title، a.username،b.adddate من الجدول أ، (اختر max(adddate) adddate من الجدول حيث table.title=a.title) ب
6. الوصف: استعلام الانضمام الخارجي (اسم الجدول 1: اسم الجدول 2: ب)
حدد aa، ab، ac، bc، bd، bf من a LEFT OUT JOIN b ON aa = bc
7. الوصف: استعلام العرض عبر الإنترنت (اسم الجدول 1: أ)
حدد * من (SELECT a,b,c FROM a) T حيث ta > 1;
8. الوصف: استخدام بين، بين حدود نطاق بيانات الاستعلام ويتضمن قيم الحدود، وليس بين لا يشمل
حدد * من الجدول 1 حيث الوقت بين الوقت 1 والوقت 2
حدد أ، ب، ج، من الجدول 1 حيث لا تقع بين القيمة 1 والقيمة 2
9. الوصف: كيفية الاستخدام في
حدد * من الجدول 1 حيث يوجد [ليس] في ('value1'،'value2'،'value4'،'value6')
10. الوصف: جدولان مرتبطان، احذف المعلومات الموجودة في الجدول الرئيسي غير الموجودة في الجدول الثانوي
احذف من الجدول 1 حيث لا يوجد ( حدد * من الجدول 2 حيث table1.field1=table2.field1 )
11. الوصف: مشكلة استعلام مشترك بأربعة جداول:
حدد * من الصلة الداخلية اليسرى b على aa=bb الصلة الداخلية اليمنى c على aa=cc الصلة الداخلية d على aa=dd حيث .....
12. الوصف: جدولة التذكير قبل خمس دقائق
SQL: حدد * من الجدول حيث datediff('دقيقة',f وقت البدء,getdate())>5
13. الوصف: عبارة SQL واحدة تكمل ترحيل قاعدة البيانات
حدد أعلى 10 ب.* من (حدد أعلى 20 حقل مفتاح أساسي، وفرز الحقل من ترتيب اسم الجدول حسب ترتيب الحقل) أ، اسم الجدول ب حيث ب. حقل المفتاح الأساسي = أ. ترتيب حقل المفتاح حسب أ الوصف: أول 10 سجلات
حدد أعلى 10 * جدول النموذج 1 حيث النطاق 15. الوصف: حدد جميع معلومات السجل مع أكبر a في كل مجموعة من البيانات بنفس قيمة b (يمكن استخدام استخدام مماثل لتصنيفات المنتدى الشهرية، والمبيعات الشهرية الساخنة، وتحليل المنتج، الترتيب حسب أداء الموضوع، وما إلى ذلك)
حدد a,b,c من اسم الجدول ta حيث a=(اختر max(a) من اسم الجدول tb حيث tb.b=ta.b)
16. الوصف: قم بتضمين كافة الصفوف في TableA ولكن ليس في TableB وTableC وقم بإزالة كافة الصفوف المكررة لاشتقاق جدول نتائج
(اختر أ من الجدول أ) باستثناء (اختر أ من الجدول ب) باستثناء (اختر أ من الجدول ج)
17. الوصف: قم بإخراج 10 أجزاء من البيانات بشكل عشوائي
حدد أعلى 10 * من ترتيب اسم الجدول بواسطة newid()
18. الوصف: حدد السجلات بشكل عشوائي
حدد نيويد ()
19. الوصف: حذف السجلات المكررة
احذف من اسم الجدول حيث لا يوجد معرف (حدد الحد الأقصى (المعرف) من مجموعة اسم الجدول حسب col1،col2،...)
20. الوصف: سرد كافة أسماء الجداول في قاعدة البيانات
حدد الاسم من كائنات النظام حيث النوع = "U"
21. الوصف: قم بإدراج كافة العناصر الموجودة في الجدول
حدد اسمًا من syscolumns حيث id=object_id('TableName')
22. الوصف: قم بإدراج حقول النوع والبائع وأجهزة الكمبيوتر، مرتبة حسب حقل النوع، ويمكن للحالة تنفيذ تحديدات متعددة بسهولة، على غرار الحالة في التحديد.
حدد النوع، مجموع (بائع الحالة عند 'A' ثم قطع أخرى 0 نهاية)، مجموع (بائع الحالة عندما 'C' ثم قطع أخرى 0 نهاية)، مجموع (بائع الحالة عندما 'B' ثم قطع أخرى 0 نهاية) من مجموعة اسم الجدول حسب النوع
عرض النتائج:
اكتب أجهزة الكمبيوتر البائع
الكمبيوتر أ1
الكمبيوتر أ1
القرص ب 2
القرص أ2
الهاتف المحمول ب3
موبايل سي 3
23. الوصف: تهيئة الجدول table1
اقتطاع جدول الجدول1
24. التعليمات: حدد السجلات من 10 إلى 15
حدد أعلى 5 * من (اختر أعلى 15 * من ترتيب الجدول حسب المعرف تصاعديًا) ترتيب table_alias حسب المعرف desc
طريقة اختيار سجلات قاعدة البيانات بشكل عشوائي (باستخدام وظيفة Randomize، والتي يتم تنفيذها من خلال عبارات SQL)
بالنسبة للبيانات المخزنة في قاعدة بيانات، يمكن أن تعطي ميزات الأرقام العشوائية التأثير المذكور أعلاه، ولكنها قد تكون بطيئة جدًا. لا يمكنك أن تطلب من ASP "البحث عن رقم عشوائي" وطباعته. الحل الشائع هو في الواقع إنشاء حلقة مثل هذا:
عشوائية
RNumber = Int(Rnd*499) +1
بينما ليس objRec.EOF
إذا كان objRec("ID") = RNumber إذن
.. هنا هو البرنامج النصي للتنفيذ ...
نهاية إذا
objRec.MoveNext
ويند
من السهل أن نفهم. أولاً، تقوم بإخراج رقم عشوائي يتراوح من 1 إلى 500 (بافتراض أن 500 هو إجمالي عدد السجلات في قاعدة البيانات). بعد ذلك، يمكنك التكرار خلال كل سجل لاختبار قيمة المعرف لمعرفة ما إذا كان يطابق رقم RNumber. إذا تم استيفاء الشرط، فسيتم تنفيذ كتلة التعليمات البرمجية التي تبدأ بالكلمة الأساسية THEN. إذا كان رقم RNumber الخاص بك يساوي 495، فسيستغرق التنقل عبر قاعدة البيانات وقتًا طويلاً. على الرغم من أن 500 قد يبدو رقمًا كبيرًا، إلا أنه لا يزال قاعدة بيانات صغيرة مقارنة بحلول المؤسسات الأكثر قوة، والتي غالبًا ما تحتوي على آلاف السجلات ضمن قاعدة بيانات واحدة. أليس ميتا الآن؟
باستخدام SQL، يمكنك العثور بسرعة على السجل الدقيق وفتح مجموعة سجلات تحتوي على هذا السجل فقط، كما يلي:
عشوائية
رقم RN = كثافة العمليات (Rnd*499) + 1
SQL = "حدد * من العملاء حيث المعرف =" & RNumber
تعيين objRec = ObjConn.Execute(SQL)
Response.WriteRNumber & " = " & objRec("ID") & " " & objRec("c_email")
بدلاً من كتابة رقم RNumber والمعرف، ما عليك سوى التحقق من التطابق. طالما أنك راضٍ عن عمل الكود أعلاه، يمكنك التعامل مع السجلات "العشوائية" حسب الحاجة. لا تحتوي مجموعة السجلات على أي محتوى آخر، لذا يمكنك العثور بسرعة على السجلات التي تحتاجها، مما يقلل وقت المعالجة بشكل كبير.
لنتحدث عن الأرقام العشوائية مرة أخرى، والآن بعد أن قررت استخراج آخر قطرة زيت من الدالة العشوائية، يمكنك إخراج عدة سجلات عشوائية مرة واحدة أو ترغب في استخدام السجلات ضمن نطاق عشوائي معين. بتوسيع المثال العشوائي القياسي أعلاه، يمكنك استخدام SQL للتعامل مع الحالتين المذكورتين أعلاه.
لاسترداد العديد من السجلات المحددة عشوائيًا وتخزينها في نفس مجموعة السجلات، يمكنك تخزين ثلاثة أرقام عشوائية ثم الاستعلام في قاعدة البيانات عن السجلات المطابقة لهذه الأرقام:
SQL = "حدد * من العملاء حيث المعرف = " & RNumber & " أو المعرف = " & RNumber2 & " أو المعرف = " & RNumber3
إذا كنت تريد تحديد 10 سجلات (ربما قائمة مكونة من 10 روابط في كل مرة يتم فيها تحميل الصفحة)، فيمكنك استخدام BETWEEN أو معادلة رياضية لتحديد السجل الأول والعدد المناسب من السجلات المتزايدة. يمكن إجراء هذه العملية بعدة طرق، لكن عبارة SELECT تظهر احتمالًا واحدًا فقط (المعرف هنا هو رقم يتم إنشاؤه تلقائيًا):
SQL = "حدد * من العملاء حيث المعرف بين " & RNumber & " و " & RNumber & "+ 9"
ملحوظة: الغرض من تنفيذ الكود أعلاه ليس التحقق مما إذا كان هناك 9 سجلات متزامنة في قاعدة البيانات.
قراءة العديد من السجلات بشكل عشوائي واختبارها
بناء جملة الوصول: حدد أعلى 10 * من اسم الجدول ORDER BY Rnd(id)
خادم Sql: حدد أعلى n * من ترتيب اسم الجدول بواسطة newid ()
حدد MySQL * من اسم الجدول ترتيب حسب rand () الحد n
بناء جملة الصلة اليسرى للوصول (يتطلب التطوير الأخير استخدام الصلات اليسرى. لا يوجد شيء في تعليمات Access. لا يوجد وصف SQL لـ Access على الإنترنت. يمكنني فقط اختباره بنفسي. سأكتبه الآن للرجوع إليه في المستقبل .)
حدد بناء الجملة table1.fd1,table1,fd2,table2.fd2 من الجدول 1 غادر انضم إلى table2 على table1.fd1,table2.fd1 حيث ...
استخدم عبارات SQL لاستبدال بناء جملة عرض السلسلة الطويلة جدًا بـ...:
قاعدة بيانات SQL: حدد الحالة عندما ينتهي الحقل len(field)>10 ثم left(field,10)+'...' كـ news_name،news_id من اسم الجدول
الوصول إلى قاعدة البيانات: SELECT iif(len(field)>2,left(field,2)+'...',field) FROM tablename;
Conn.Execute الوصف طريقة التنفيذ يتم استخدام هذه الطريقة لتنفيذ عبارات SQL. اعتمادًا على ما إذا تم إرجاع مجموعة السجلات بعد تنفيذ عبارة SQL، ينقسم تنسيق استخدام هذه الطريقة إلى النوعين التاليين:
1. عند تنفيذ عبارة استعلام SQL، سيتم إرجاع مجموعة السجلات التي حصل عليها الاستعلام. الاستخدام هو:
تعيين اسم متغير الكائن = كائن الاتصال. تنفيذ ("لغة استعلام SQL")
بعد استدعاء طريقة التنفيذ، سيتم إنشاء كائن مجموعة السجلات تلقائيًا وسيتم تخزين نتائج الاستعلام في كائن السجل. من خلال طريقة Set، سيتم تعيين مجموعة السجلات إلى الكائن المحدد للتخزين في المستقبل يمثل كائن مجموعة السجلات.
2. عند تنفيذ اللغة التشغيلية لـ SQL، لا يتم إرجاع أي مجموعة سجلات. الاستخدام في هذا الوقت هو:
كائن الاتصال. تنفيذ "بيان تشغيل SQL" [، RecordAffected] [، خيار]
·RecordAffected اختياري، ويمكن وضع متغير هنا بعد تنفيذ عبارة SQL، وسيتم حفظ عدد السجلات الفعالة تلقائيًا في المتغير. من خلال الوصول إلى هذا المتغير، يمكنك معرفة عدد السجلات التي تم تشغيل عبارة SQL عليها.
·الخيار اختياري، قيمة هذه المعلمة هي عادةً adCMDText، والتي تُستخدم لإخبار ADO بأن الحرف الأول بعد أسلوب التنفيذ يجب أن يتم تفسيره على أنه نص أمر. ومن خلال تحديد هذه المعلمة، يمكنك جعل التنفيذ أكثر كفاءة.
·الطرق الثلاث BeginTrans وRollbackTrans وCommitTrans هي أساليب يوفرها كائن الاتصال لمعالجة المعاملات. يتم استخدام BeginTrans لبدء المعاملة؛ ويتم استخدام RollbackTrans لاسترجاع المعاملة؛ ويتم استخدام CommitTrans لإرسال جميع نتائج معالجة المعاملة، أي لتأكيد معالجة المعاملة.
يمكن أن تعالج معالجة المعاملات مجموعة من العمليات ككل، ولن تعتبر معالجة المعاملات ناجحة إلا عندما يتم تنفيذ جميع العبارات بنجاح؛ وإذا فشل تنفيذ عبارة واحدة، فستفشل المعالجة بأكملها وتعود إلى الحالة السابقة.
يتم استخدام BeginTrans وCommitTrans لوضع علامة على بداية ونهاية المعاملة، ويتم استخدام العبارات الموجودة بينهما كبيانات معالجة المعاملات. يمكن تحديد ما إذا كانت معالجة المعاملة ناجحة عن طريق توصيل مجموعة الأخطاء الخاصة بالكائن. إذا لم يكن عدد أعضاء مجموعة الأخطاء 0، فهذا يعني حدوث خطأ وفشلت معالجة المعاملة. يمثل كل كائن خطأ في مجموعة الأخطاء رسالة خطأ.
أساسيات موسوعة بيان SQL
2006/10/26 13:46
حذف البيان
عبارة DELETE: تستخدم لإنشاء استعلام حذف يمكنه حذف السجلات من جدول واحد أو أكثر مدرج في جملة FROM، وتفي العبارة بالشروط الواردة في جملة WHERE. يمكنك استخدام DELETE لحذف سجلات متعددة.
بناء الجملة: حذف [جدول.*] من الجدول حيث المعايير
بناء الجملة: حذف * من الجدول حيث المعايير = "كلمات الاستعلام"
الوصف: يتم استخدام معلمة الجدول لتحديد اسم الجدول الذي سيتم حذف السجلات منه.
معلمة المعايير هي تعبير يستخدم لتحديد السجلات التي يجب حذفها.
يمكنك استخدام أسلوب التنفيذ مع عبارة DROP لإسقاط جدول كامل من قاعدة البيانات. ومع ذلك، إذا قمت بحذف الجدول بهذه الطريقة، فسوف تفقد بنية الجدول. الفرق هو أنه عند استخدام DELETE، سيتم حذف البيانات فقط؛ وسيتم الاحتفاظ بجميع سمات الجدول، مثل سمات الحقل والفهارس.
تحديث
بخصوص التحديث، عاجل! ! ! ! ! ! ! ! ! ! !
الجدول أ (المعرف والاسم الأول والاسم الأخير) في قاعدة بيانات ORACLE
الجدول ب(المعرف،الاسم الأخير)
اكتملت البيانات الموجودة في حقول المعرف الأصلي والاسم الأول في الجدول A. اكتملت البيانات الموجودة في حقول المعرف الأصلي واسم العائلة في الجدول B. نحتاج الآن إلى ملء البيانات المقابلة لحقل LASTNAME في الجدول B في LASTNAME الجدول أ. الموقع المقابل. ترتبط حقول المعرفات في الجدولين ببعضها البعض.
شكرا مقدما!!!!
تحديث مجموعة a.lastname=(اختر b.lastname من b حيث a.id=b.id)
إتقان عبارات تشغيل البيانات الأربعة الأساسية في SQL: الإدراج والتحديد والتحديث والحذف.
يعد ممارسة SQL أحد الأصول القيمة لمستخدمي قاعدة البيانات. في هذه المقالة، سنرشدك إلى إتقان عبارات معالجة البيانات الأربعة الأساسية - الوظائف الأساسية لـ SQL - لتقديم عوامل المقارنة، وتأكيدات الاختيار، والمنطق ثلاثي القيم بالتسلسل. عند الانتهاء من هذه الدراسات، فمن الواضح أنك قد بدأت في إتقان لغة SQL.
قبل أن نبدأ، استخدم عبارة CREATE TABLE لإنشاء جدول (كما هو موضح في الشكل 1). تحدد عبارات DDL كائنات قاعدة البيانات مثل الجداول والأعمدة وطرق العرض. ولا يقومون بمعالجة الصفوف في الجدول لأن عبارات DDL لا تعالج البيانات الفعلية في قاعدة البيانات. يتم التعامل مع هذه المهام من خلال نوع آخر من عبارات SQL — عبارات لغة معالجة البيانات (DML).
هناك أربع عمليات DML أساسية في SQL: INSERT وSELECT وUPDATE وDELETE. وبما أن هذه تستخدم بشكل شائع من قبل معظم مستخدمي SQL، فمن الضروري أن نشرحها واحدًا تلو الآخر هنا. في الشكل 1 نعطي جدول اسمه الموظفين. يتوافق كل صف مع سجل موظف محدد. من فضلك تعرف على هذا الجدول وسنستخدمه في الأمثلة التالية