مشاهده SQL جستجو برای تمام جداول. درخواست SQL ساده - کمک کوتاه و نمونه ها

بیایید با پرسش های ابتدایی شروع کنیم. در مورد آنها بدون آنها؟ شکل مختصر پرس و جو SQLو ترجمه به عنوان "من می خواهم تمام داده ها را از این جدول دریافت کنم." نتیجه پرس و جو بعدی همه سوابق با تمام فیلدها از جدول D_Staff است.

را انتخاب کنید * از D_Staff

پرس و جو SQL را در برنامه آموزشی وارد کنید.

[SQL] را در اکسپلورر در سمت چپ انتخاب کنید، دکمه [SQL را فشار دهید] بالای لیست در سمت راست، درخواست را وارد کنید و دوباره دکمه [SQL را فشار دهید] را فشار دهید. پس از تایید اعدام پرس و جو، لیست به نظر می رسد به شرح زیر است. در مورد، همه چیز آسان تر است: فقط پرس و جو SQL را در فیلد مربوطه وارد کنید و روی [اجرای] کلیک کنید.


نتیجه انجام ساده ترین پرس و جو SQL.

استفاده از (*) بعد از اپراتور را انتخاب کنیدالبته، مناسب است، به خصوص اگر آن را ناشناخته است، چه فیلدها در جدول به طور کلی وجود دارد، بلکه هزینه های - ساختارهایی که نتیجه پرس و جو را ذخیره می کنند، بسیار زیادی از حافظه غیر ضروری و زمان برای اعدام صرف شده است از پرس و جو بسیار افزایش می یابد. گزینه بعدی دقیقا همانطور که ترجیح داده می شود اگر شما نیاز به اطلاعات فقط در مورد فی. کارمند و تجربه آن. ترجمه در مورد این: "من می خواهم فقط این را بدانم و این در مورد همه از جدول ..."

s_name، s_experience از d_staff را انتخاب کنید

نتیجه آخرین پرس و جو SQL اشغال شده به طور قابل توجهی فضای "عرض".


مقادیر زمینه های جدول خاص را انتخاب کنید.

مرحله 2. درخواست SQL با معیار انتخاب ساده

ساده ترین درخواست ها عملا در عمل قابل اجرا نیست، زیرا "خروج" کاملا همه سوابق از جدول مشخص شده، و ممکن است صدها هزار نفر وجود داشته باشد. DBMS ممکن است به سادگی از انجام چنین درخواست اجتناب کند و حافظه دسترسی تصادفی در دستگاه مشتری نمی تواند ابتدایی باشد. با نتایج این درخواست ها چه باید بکنید، حتی اگر آنها به درستی انجام می شود، همیشه روشن نیست، هر چند، برای بعضی ها بروید. به منظور تحمیل محدودیت ها در انتخاب ورودی های مورد نیاز، کلمه کلیدی در SQL استفاده می شود. پرس و جو زیر تنها کارکنان را با تجربه کاری کمتر از 5 سال انتخاب می کند.

s_name را انتخاب کنید، s_experience از d_staff که در آن s_experience


استفاده كردن معیار ساده انتخاب سوابق

مرحله 3. درخواست SQL با معیار انتخاب کامپوزیت

برای آنچه مورد نیاز است معیارهای انتخاب کامپوزیت سوابق، توضیح، من فکر می کنم بدون نیاز به. برای همین، برای چه و درخواست با معیارهای ساده. شرایط با استفاده از ترکیب ترکیب می شوند عملیات منطقی پیوستگی و عدم عملکرد (اپراتورها "و" (و) و "یا" (یا))، و توسط براکت ها گروه بندی می شوند. درخواست زیر رکورد در مورد کارکنان را با تجربه کمتر از 5 سال و با محدودیت اضافی در موقعیت خود بازگرداند.

S_NAME S_NAME، S_Experience، S_position از D_Staff کجا (d_staff.s_position 20) و d_staff.s_experience را انتخاب کنید


استفاده كردن معیار پیشرفته انتخاب سوابق

مرحله 4. بین اپراتور

بین اپراتور ساده نحو توصیف معیارهای تعریف فاصله را ساده می کند ارزش های مجاز. به جای بین 3 تا 7 زیر، می توان D_Staff.S_Experience را بنویسید\u003e \u003d 3 و d_staff.s_experience<=7 . Первый вариант способствует наглядности запроса – это раз, поиск на стороне СУБД может выполняться по отдельному алгоритму, специально оптимизированному для подобного вида ограничений – это два.

S_NAME S_NAME، S_Experience، S_position از D_Staff جایی که (d_staff.s_position 20) و d_staff.s_experience بین 3 تا 7


با استفاده از بین اپراتور

مرحله 5. مانند اپراتور

این اپراتور فوق العاده به شما امکان می دهد محدودیت های مربوط به مقادیر زمینه های متن را با استفاده از قالب ها اعمال کنید. من نحو را توضیح نمی دهم، من فکر می کنم که از مثال و بنابراین همه چیز روشن است. ما برای کارکنان جستجو می کنیم، با f.o.o. شروع "از جانب"، در وسط باید ملاقات کند "شفت" و پایان همه چیز باید "ICH". در برخی از DBMS، مانند کلمه کلیدی نیز می تواند با ارزش های تاریخ و زمان استفاده شود.

s_name را از d_staff که s_name مانند "s٪" و s_name مانند "٪ فروش٪" و s_name مانند "٪ ICH" را انتخاب کنید

S_NAME را از D_STAFF که S_NAME مانند "C٪ DAL٪ ICH" را انتخاب کنید را انتخاب کنید


مانند اپراتور استفاده کنید.

مرحله 6. نام مستعار جداول و زمینه ها

استفاده شده در نام پرس و جو جداول و زمینه ها می تواند تعریف شود نام مستعار. چگونه انجام می شود - در زیر نشان داده شده است. چرا این کار انجام می شود - در مراحل زیر، از جمله در مرحله 7 نشان داده می شود، و این مثال واضح ترین را نشان می دهد استفاده از نام مستعار در SQL - ثبت نام نتیجه درخواست مطابق با الزامات برای راحتی ادراک توسط شخص او. برای تعیین نام مستعار جدول یا فیلدهای SQL، به عنوان کلمه کلیدی استفاده می شود. نتیجه پرس و جو (عنوان جدول) در این گزینه به نظر می رسد مناسب تر به منظور گزارش بر روی آن.

s_name را به عنوان کارمند S_Name، S_Experience به عنوان [تجربه کاری]، S_posity به عنوان موقعیت از D_Staff به عنوان کارکنان انتخاب کنید


استفاده از نام مستعار جدول و زمینه.

مرحله 7. نسبت "رئیس - زیردستان"

این مثال "مراحل اول" را تکمیل می کند که درخواست های SQL را سخت تر می کند. در اینجا ما "برنامه نویسی" را صادر می کنیم که لیستی از کارکنان را با رهبری مستقیم آنها صادر می کنیم. پیچیدگی این است که سوابق و در مورد آن ها و دیگران در یک جدول ذخیره می شوند، و در اینجا بدون نام مستعار نمی تواند انجام دهد. DBMS، در طول پردازش پرس و جو، به جدول D_STAFF، به عنوان اگر به دو جداول مختلف (تحت کارکنان نام مستعار و رئیس)، به منظور ترکیب سوابق به یک تک دادگاه بر اساس رابطه "رئیس - زیردستان". این نسبت به شرح زیر شبیه سازی شده است: مقدار S_Chief_ID فیلد در زیرمجموعه مربوط به مقدار مقدار میدان XD_IID است.

SELECT CAPPLE.S_NAME به عنوان زیردستان، staff.s_posity به عنوان [موقعیت زیردستان]، chieve.s_name به عنوان سر، chieve.s_posity به عنوان [موقعیت سر] از D_Staff به عنوان کارکنان، D_Staff به عنوان رئیس که در آن Staff.s_chief_id \u003d chiefic.xd_iid


گرفتن یک سلسله مراتب "سر - برده" با استفاده از نام مستعار جدول در SQL.

هر توسعه دهنده وب باید SQL را برای نوشتن درخواست به پایگاه های داده شناخته شود. و اگر چه، phpmyadmin هیچ کس لغو، اغلب لازم است که دست خود را برای نوشتن SQL سطح پایین.

به همین دلیل ما یک سفر کوتاه را در مورد اصول SQL آماده کرده ایم. بیا شروع کنیم!

1. ایجاد یک جدول

دستورالعمل ایجاد جدول برای ایجاد جداول طراحی شده است. به عنوان استدلال، نام ستون ها، و همچنین انواع داده های آنها باید مشخص شود.

یک جدول ساده را با نام ایجاد کنید ماه. این شامل 3 ستون است:

  • شناسه - تعداد ماه ها در سال تقویم (عدد صحیح).
  • نام. - نام ماه (رشته، حداکثر 10 کاراکتر).
  • روزها. - تعداد روزهای این ماه (عدد صحیح).

این است که چگونه پرس و جو مربوط به SQL به نظر می رسد:

ایجاد جدول های جدول (ID INT، نام varchar (10)، روز int)؛

همچنین هنگام ایجاد جداول، توصیه می شود کلید اصلی را برای یکی از ستون ها اضافه کنید. این پرونده ها را منحصر به فرد و سرعت بخشیدن به درخواست برای نمونه نگه می دارد. اجازه دهید در مورد ما نام ماه منحصر به فرد (ستون نام.)

ایجاد ماه های جدول (ID INT، نام varchar (10)، روزهای int، کلید اولیه (نام))؛

تاریخ و زمان
نوع دادهشرح
تاریخ.ارزش تاریخ
زمان قرار.تاریخ و زمان ارزش تا نعناع
زمان.ارزش های زمان

2. قرار دادن رشته

حالا اجازه دهید جدول ما را پر کنیم مون ها اطلاعات مفید. اضافه کردن سوابق به جدول از طریق دستورالعمل قرار داده شده است. دو راه برای ضبط این دستورالعمل وجود دارد.

راه اول این است که نام ستون هایی را که داده ها را وارد کرده اید مشخص کنید و تنها ارزش ها را مشخص کنید.

این روش ضبط ساده است، اما ناامن است، زیرا هیچ تضمینی وجود ندارد که به عنوان گسترش پروژه و ویرایش جدول، ستون ها به همان ترتیب قبل از آن قرار می گیرند. ایمن (و در عین حال راحت تر) روش ضبط دستورالعمل های وارد شده نیاز به نشانه ای از هر دو ارزش و ترتیب ستون ها دارد:

در اینجا اولین مقدار در لیست است. ارزش های. مربوط به اولین نام ستون مشخص شده و غیره است

3. استخراج داده ها از جداول

SELECT SELECTION بهترین دوست ما است که ما می خواهیم اطلاعات را از پایگاه داده دریافت کنیم. این اغلب استفاده می شود، بنابراین این بخش را بسیار دقت کنید.

ساده ترین استفاده از عبارت SELECT، پرس و جو است که تمام ستون ها و خطوط را از جدول باز می کند (به عنوان مثال، جداول به نام شخصیت ها.):

* از "شخصیت ها" را انتخاب کنید

نماد ستاره ای (*) به این معنی است که ما می خواهیم اطلاعات را از تمام ستون ها دریافت کنیم. بنابراین، پایگاه های داده SQL معمولا از بیش از یک جدول تشکیل شده است، لازم است که کلمه کلیدی را مشخص کنید، به دنبال آن که جدول باید از طریق فضا پیروی شود.

گاهی اوقات ما نمی خواهیم اطلاعات را از تمام ستون ها در جدول دریافت کنیم. برای این، به جای یک ستاره (*)، ما باید نام ستون های مورد نظر را از طریق کاما بنویسیم.

شناسه را انتخاب کنید، نام از ماه

علاوه بر این، در بسیاری از موارد، ما می خواهیم نتایج را در یک نظم خاص مرتب سازی کنیم. در SQL، ما آن را با سفارش توسط. این می تواند یک اصلاح کننده اختیاری را دریافت کند - ASC (به طور پیش فرض) صعودی یا DESC، مرتب سازی نزولی:

شناسه را انتخاب کنید، نام از سفارش ماه توسط نام Desc

هنگام استفاده از نظم، اطمینان حاصل کنید که آخرین در بیانیه انتخاب خواهد بود. در غیر این صورت، یک پیام خطا صادر می شود.

4. فیلتر کردن داده ها

شما آموختید که چگونه از یک پایگاه داده استفاده کنید با استفاده از پرس و جو SQL، ستونهای دقیق تعریف شده را انتخاب کنید، اما اگر ما نیاز به خطوط بیشتری داشته باشیم؟ به کمک، جایی که شرایط به نجات می رسد، اجازه می دهد ما را به فیلتر کردن داده ها بسته به شرایط.

در این پرس و جو، ما فقط ماه ها را از جدول انتخاب می کنیم ماه، که در آن بیش از 30 روز با کمک اپراتور بیشتر (\u003e).

شناسه را انتخاب کنید، نام از ماه که در آن روز\u003e 30

5. فیلتر کردن داده های توسعه یافته. اپراتورها و یا یا

پیش از این، ما از داده های فیلتر کردن با استفاده از یک معیار استفاده کردیم. برای فیلتر کردن اطلاعات پیچیده تر، شما می توانید استفاده کنید و یا اپراتورها و اپراتورهای مقایسه (\u003d،<,>,<=,>=,<>).

در اینجا ما یک جدول حاوی چهار آلبوم بهترین آلبوم تمام وقت داریم. بیایید آنها را انتخاب کنیم که آنها به عنوان سنگ طبقه بندی شده اند و در آن کمتر از 50 میلیون نسخه فروخته می شود. این را می توان به راحتی با قرار دادن یک اپراتور و بین این دو شرایط انجام داد.


انتخاب * از آلبوم هایی که ژانر \u003d "راک" و sales_in_millions<= 50 ORDER BY released

6. در / بین / مانند

از کجا چندین دستورات ویژه پشتیبانی می کند، به شما این امکان را می دهد که به سرعت درخواست های اغلب مورد استفاده را بررسی کنید. اینجا اند:

  • در - خدمت به تعیین محدوده شرایط، هر کدام از آنها می تواند انجام شود
  • بین - بررسی کنید که آیا مقدار در محدوده مشخص شده است
  • مانند - به دنبال الگوهای خاص

به عنوان مثال، اگر ما می خواهیم آلبوم ها را انتخاب کنیم ترکیدن و روح موسیقی، ما می توانیم در ("value1"، "value2") استفاده کنیم.

را انتخاب کنید * از آلبوم هایی که ژانر در آن ("پاپ"، "روح")؛

اگر ما می خواهیم تمام آلبوم ها را دریافت کنیم، بین سالهای 1975 تا 1985 منتشر شد، باید بنویسیم:

* از آلبوم هایی که بین سالهای 1975 تا 1985 منتشر شده انتخاب کنید.

7. توابع

SQL با ویژگی هایی که چیزهای مفید متفاوت را ایجاد می کنند. در اینجا برخی از رایج ترین استفاده می شود:

  • تعداد () - تعداد ردیف ها را باز می گرداند
  • مجموع () - مقدار کل ستون عددی را باز می گرداند
  • avg () - مقدار متوسط \u200b\u200bرا از مقادیر مختلفی باز می گرداند
  • min () / max () - حداقل / حداکثر مقدار از ستون می شود

برای دریافت سال گذشته در جدول ما باید چنین پرس و جو SQL را بنویسیم:

حداکثر (منتشر شده) را از آلبوم ها انتخاب کنید

8. Subqueries

در پاراگراف قبلی، ما یاد گرفتیم که چگونه محاسبات ساده با داده ها را انجام دهیم. اگر ما می خواهیم از نتیجه این محاسبات استفاده کنیم، نمی توانیم بدون درخواست های سرمایه گذاری انجام دهیم. فرض کنید ما می خواهیم برداشت کنیم هنرمند, آلبوم و سال انتشار برای قدیمی ترین آلبوم در جدول.

ما می دانیم که چگونه این ستون های خاص را دریافت کنیم:

هنرمند، آلبوم را انتخاب کنید، از آلبوم ها مجددا استفاده کنید؛

ما همچنین می دانیم که چگونه اولین سال را دریافت کنیم:

MIN (منتشر شده) را از آلبوم انتخاب کنید

همه شما نیاز به ترکیب دو درخواست با استفاده از کجا:

انتخاب هنرمند، آلبوم، منتشر شده از آلبوم ها که در آن منتشر شد \u003d (Min (Select Min (منتشر شده) را از آلبوم ها انتخاب کنید)؛

9. ترکیب جداول

در پایگاه های پیچیده پیچیده تر، جداول متعددی با یکدیگر وجود دارد. به عنوان مثال، دو جدول در مورد بازی های ویدئویی زیر ارائه شده است ( video_games.) و توسعه دهندگان بازی های ویدئویی ( game_Developers.).


جدول video_games. یک ستون توسعه دهنده وجود دارد ( توسعه دهنده_ID)، اما شامل یک عدد صحیح است، و نه نام توسعه دهنده. این شماره یک شناسه ( شناسه) توسعه دهنده مناسب از جدول توسعه دهنده بازی ( game_Developers.) با اتصال به دو لیست منطقی، که به ما اجازه می دهد از اطلاعات ذخیره شده در آنها هر دو در همان زمان استفاده کنیم.

اگر ما می خواهیم یک درخواست ایجاد کنیم که همه چیز را که نیاز دارید در مورد بازی ها بدانید، ما می توانیم از پیوستن درونی برای برقراری ارتباط سخنرانان از هر دو جداول استفاده کنیم.

SELECT VIDEO_GAMES.NAME، Video_Games.Genre، Game_Developers.Name، Game_Developers.Country از Video_Games Inner Game_Developers در video_games.developer_id \u003d Game_Developers.id؛

این ساده ترین و رایج ترین نوع عضویت است. چندین گزینه دیگر وجود دارد، اما آنها به موارد مکرر کمتر اعمال می شوند.

10. نام مستعار

اگر به مثال قبلی نگاه کنید، متوجه خواهید شد که دو ستون وجود دارد نام.. آن را گیج، بنابراین اجازه دهید یکی از ستون های تکراری را نصب کنید، به عنوان مثال، نام. از جدول game_Developers. نامیده می شود توسعه دهنده..

ما همچنین می توانیم درخواست را مشخص کنیم که نام مستعار نام خانوادگی نامیده می شود: video_games. نام بازی ها., game_Developers. - devs:

SELECT GAMES.NAME، GAMES.GENRE، DEVS.NAME به عنوان توسعه دهنده، DEVS.Country از Video_Games به عنوان بازی Inner Game_developers به \u200b\u200bعنوان devs در games.developer_id \u003d devs.id؛

11. به روز رسانی داده ها

اغلب ما باید داده ها را در برخی از ردیف ها تغییر دهیم. در SQL، این کار با استفاده از دستورالعمل به روز رسانی انجام می شود. بیانیه به روز رسانی شامل موارد زیر است:

  • جداول که در آن مقدار برای جایگزینی است؛
  • نام ستون ها و ارزش های جدید آنها؛
  • انتخاب شده با جایی که ما می خواهیم به روز رسانی. اگر این کار انجام نشود، تمام خطوط در جدول تغییر می کنند.

در زیر یک جدول است سریال تلویزیونی. با سری تلویزیون با امتیاز خود. با این حال، جدول یک خطای کوچک را رها کرد: اگر چه سری بازی تاج و تخت و به عنوان یک کمدی توصیف شده است، او واقعا آن نیست. بیایید آن را حل کنیم!

داده های جدول tv_series به روز رسانی tv_series مجموعه ژانر \u003d "DRAM" که در آن ID \u003d 2؛

12. حذف داده ها

حذف یک ردیف جدول با SQL یک فرآیند بسیار ساده است. همه شما نیاز به انتخاب یک جدول و یک رشته که می خواهید حذف کنید. بگذارید آخرین رشته را از مثال قبلی در جدول حذف کنیم. سریال تلویزیونی.. این کار با استفاده از دستورالعمل\u003e حذف انجام می شود

حذف از tv_series که در آن ID \u003d 4

مراقب باشید هنگام نوشتن دستورالعمل حذف و اطمینان حاصل کنید که شرایط موجود وجود دارد، در غیر این صورت تمام خطوط جدول حذف خواهند شد!

13. حذف جدول

اگر ما می خواهیم تمام خطوط را حذف کنیم، اما جدول خود را ترک کنید، سپس از دستور truncate استفاده کنید:

جدول table_name truncate؛

در مورد زمانی که ما در واقع می خواهیم حذف شود و داده ها و جدول خود، ما از دستور قطره استفاده خواهیم کرد:

جدول Drop Table_name؛

با این تیم ها بسیار مراقب باشید. آنها نمی توانند لغو شوند! / p\u003e

در این مورد ما آموزش SQL ما را کامل! ما به مقدار زیادی گفته ایم، اما آنچه که قبلا می دانید باید به اندازه کافی مهارت های عملی خود را در حرفه وب خود داشته باشید.

ما همچنان به بررسی امکانات SQL Server از مایکروسافت ادامه می دهیم و به نوبه خود یک جزء داریم جستجوی کامل متن، نسخه روسی " جستجوی کامل متن"، و در حال حاضر ما متوجه خواهیم شد که چرا مورد نیاز است، و نحوه اجرای این جستجوی کامل متن در SQL Server با استفاده از این جزء.

البته، البته، با توجه به پایه های جستجوی کامل متن، شروع به کار می کنیم. چه چیزی است و برای آن به طور کلی مورد نیاز است.

جستجوی کامل متن چیست؟

جستجوی کامل متن - این جستجو برای کلمات یا عبارات در داده های متن است. به طور معمول، به عنوان مثال، یک جدول با یک میلیون یا بیشتر ردیف استفاده می شود، از آنجا که یک جدول با یک میلیون یا بیشتر ردیف استفاده می شود، زیرا به طور قابل توجهی سریعتر از جستجوی نرمال است که می تواند با استفاده از طراحی مشابه اجرا شود.

جستجوی کامل متن شامل ایجاد یک شاخص خاص ( این از شاخص های عادی متفاوت است) داده های متن، که نوعی فرهنگ لغت کلمات است که در این داده ها یافت می شود.

با استفاده از جستجوی کامل متن، شما می توانید یک نوع را اجرا کنید موتور جستجو اسناد ( کسانی که. ردیف)، با توجه به یا عبارات در پایگاه داده شرکت شما. از آنجا که علاوه بر کار سریع آن، این نیز توانایی رتبه بندی اسناد یافت شده را دارد، I.E. به عبارت دیگر، رتبه بندی هر خط یافت را ذخیره کنید، به عبارت دیگر، می توانید سوابق مربوطه را پیدا کنید، I.E. مناسب ترین درخواست شما.

ویژگی های جستجوی کامل متن در MS SQL Server

  • در جستجوی متن کامل SQL Servers، شما می توانید نه تنها با کلمات یا عبارات فردی، بلکه همچنین توسط عبارات پیشوندبرای مثال، شروع متن یا عبارت را تنظیم کنید؛
  • شما همچنین می توانید کلمات را در Wordforms جستجو کنید، به عنوان مثال، اشکال مختلف افعال یا اسم ها تنها و چندگانه، I.E. توسط عبارات مشتق شده;
  • شما می توانید یک پرس و جو را به طوری که برای پیدا کردن کلمات یا عبارات واقع در کنار دیگر کلمات یا عبارات، I.E. اصطلاحات;
  • امکان پیدا کردن وجود دارد فرم های مترادف یک کلمه خاص (اصطلاحنامه)، به عنوان مثال به عنوان مثال، اگر در اصطلاحنامه تعیین شود که " ماشین"و" یک ماشین"- اینها مترادف هستند، سپس هنگام جستجو برای کلمه" ماشین»مجموعه نتیجه شامل خطوط حاوی کلمه" یک ماشین»;
  • در پرس و جو شما می توانید کلمات یا عبارات را مشخص کنید ارزش های وزنیبرای مثال، اگر چند کلمه یا عبارات در پرس و جو مشخص شود، می توان آنها را از 0.0 تا 1.0 تعیین کرد ( 1.0 به این معنی است که این مهمترین کلمه یا عبارت است);
  • به منظور بررسی در جستجوی برخی از کلمات می تواند مورد استفاده قرار گیرد " فهرست کلمات متوقف"، به عنوان مثال با توجه به این لیست، جستجو اجرا نخواهد شد.

آماده سازی برای اجرای جستجوی کامل متن در MS SQL Server

قبل از شروع یک جستجوی کامل متن، باید چندین نکات مهم را بدانید:

  • برای پیاده سازی کامپوننت جستجوی کامل متن کامل جستجوی متن کامل ( جستجوی کامل متن) باید نصب شود
  • جدول ممکن است تنها یک شاخص کامل متن داشته باشد؛
  • برای ایجاد یک شاخص کامل متن، جدول باید شامل یک شاخص منحصر به فرد باشد که شامل یک ستون باشد و مقادیر صفر را اجازه نمی دهد. توصیه می شود از یک شاخص خوشه ای منحصر به فرد استفاده کنید ( یا فقط کلید اولیه)، ستون اول که باید یک نوع داده عدد صحیح داشته باشد؛
  • شاخص متن کامل را می توان بر روی ستون ها با نوع داده ایجاد کرد: char، varchar، nchar، nvarchar، متن، ntext، تصویر، XML، varbinary یا varbinary (حداکثر)؛
  • برای ایجاد یک فهرست کامل متن، ابتدا باید یک پوشه متن کامل ایجاد کنید. با شروع از SQL Server 2008، یک کاتالوگ کامل متن یک مفهوم منطقی است که گروهی از شاخص های متن کامل را نشان می دهد، I.E. یک شی مجازی است و در گروه فایل گنجانده نشده است ( یک راه برای ایجاد یک صفحه کامل متن با استفاده از "استاد" وجود دارد که در آن دایرکتوری را می توان به طور همزمان با شاخص ایجاد کرد، این روش ما فقط در زیر آن را در نظر می گیریم).

توجه داشته باشید! پیاده سازی کامل متن جستجوی من در نسخه نمونه SQL Server 2008 R2 خواهد بود. همچنین به این معنا است که کامپوننت جستجوی کامل متن در حال حاضر نصب شده است، اگر نه، سپس آن را با اضافه کردن مولفه مربوطه از طریق مرکز نصب SQL Server نصب کنید، I.E. تیک مناسب را قرار دهید

در مثال های زیر به عنوان یک ابزار برای ایجاد و مدیریت دایرکتوری ها و شاخص های متن کامل، از SQL Server Management Studio استفاده خواهم کرد.

داده های منبع برای ایجاد جستجوی کامل متن

فرض می کنیم که ما یک پایگاه داده TestBase داریم و یک جدول قابل توصیف وجود دارد که در آن تنها دو فیلد وجود دارد، اولین (شناسه) کلید اصلی است، و دوم (TextData) یک اطلاعات متنی است که ما آن را کامل اجرا خواهیم کرد جستجوی بعدی

ایجاد جدول قابل توصیف (ID Intentity Intentity (1،1) null، textdata varchar (500) null، محدودیت pk_testtable کلید اولیه خوشه ای (ID ASC))

به عنوان مثال، داده های زیر را شامل می شود.


ایجاد یک پوشه متن کامل در SQL Server

برای ایجاد یک دایرکتوری کامل متن، و همچنین شاخص می تواند مورد استفاده قرار گیرد یا رابط گرافیکی SSMS یا دستورالعمل های T-SQL، ما هر دو روش را تجزیه و تحلیل خواهیم کرد.

ایجاد یک پوشه متن کامل در T-SQL

ایجاد کاتالوگ FullText TestCatalog با Accent_Sensitivity \u003d به عنوان مجوز پیش فرض DBO Go

  • ایجاد کاتالوگ FullText - دستور ایجاد یک دایرکتوری کامل متن؛
  • TestCatalog - نام کاتالوگ کامل ما؛
  • با Accent_Sensitivity (ON | OFF) - گزینه نشان می دهد که آیا کاتالوگ کامل متن به علائم دیاکریتیک برای نمایه سازی متن کامل توجه می کند. به طور پیش فرض؛
  • به عنوان پیش فرض - گزینه به منظور مشخص کردن دایرکتوری دایرکتوری پیش فرض است. در صورتی که یک فهرست کامل متن، دایرکتوری پیش فرض بدون به صراحت مشخص شود دایرکتوری استفاده می شود؛
  • مجوز DBO - صاحب دایرکتوری کامل متن را تنظیم می کند، می تواند نقش کاربر یا پایگاه داده باشد. که در این مورد ما نقش DBO را نشان دادیم.

ایجاد یک کاتالوگ کامل متن رابط گرافیکی استودیو مدیریت

دقیقا همان دایرکتوری متن کامل را می توان در رابط گرافیکی مدیریت استودیو ایجاد کرد. برای انجام این کار، پایگاه داده را باز کنید، به پوشه بروید ذخیره سازی -\u003e کاتالوگ متن کاملبر روی دکمه سمت راست ماوس بر روی این مورد کلیک کنید و انتخاب کنید " یک کاتالوگ متن کامل ایجاد کنید».


پنجره ایجاد کاتالوگ باز خواهد شد، جایی که ما نام دایرکتوری و گزینه های آن را مشخص می کنیم.


تغییر و حذف یک کاتالوگ کامل متن در SQL Server

برای تغییر گزینه های دایرکتوری، می توانید از دستورالعمل کاتالوگ Alter FullText استفاده کنید، به عنوان مثال، اجازه دهید کاتالوگ ما را به ثبت نام علائم دیاکریتی، برای این که ما دستورالعمل SQL را که دایرکتوری ما را با یک گزینه جدید بازسازی می کنیم، بسازیم.

Alter FullText کاتالوگ TestCatalog Rebuild با Accent_Sensitivity \u003d Off Go

به منظور حذف دایرکتوری، شما می توانید از دستورالعمل T-SQL استفاده کنید، به عنوان مثال

Drop FullText کاتالوگ TestCatalog

همه اینها را می توان در استودیوی GUI Guiement انجام داد ( برای تغییر پارامترهای دایرکتوری "Properties"، برای حذف "DELETE")

ایجاد یک فهرست کامل متن در SQL Server

پس از ایجاد یک پوشه متن کامل، می توانید شروع به ایجاد فهرست کامل متن در آن کنید. در مورد ما، ما می خواهیم یک شاخص متن کامل ایجاد کنیم، که در آن میدان TextData قابل اعتماد درگیر است.

ایجاد یک شاخص کامل متن در T-SQL

به منظور ایجاد یک شاخص کامل متن، می توانید دستورالعمل SQL زیر را بنویسید

ایجاد فهرست FullText در فهرست Key TextTable (TextData) PK_TESTABLE ON (TESTCATALOG) با (CHANGE_TRACKING AUTO) بروید

  • ایجاد فهرست FullText - دستور ایجاد یک شاخص کامل متن؛
  • TextTable (TextData) - جدول و ستون موجود در فهرست؛
  • شاخص کلیدی pk_testable - نام شاخص منحصر به فرد جدول قابل توصیف؛
  • ON (testcatalog) - نشان می دهد که شاخص کامل متن در دایرکتوری کامل TestCatalog ایجاد خواهد شد. اگر این پارامتر را مشخص نکنید، شاخص در دایرکتوری کامل متن کامل ایجاد می شود؛
  • با (CHANGE_TRACKING AUTO) - ما می گوییم که تمام تغییراتی که در جدول پایه وارد می شوند (testtable) به صورت خودکار در فهرست کامل متن ما ظاهر می شود، I.E. پر کردن اتوماتیک

ایجاد یک شاخص کامل متن در مدیریت استودیوی مدیریت

شاخص متن کامل را می توان با استفاده از ابزار و ابزار گرافیکی ایجاد کرد، زیرا خواص دایرکتوری کامل متن را باز کرده و به آیتم بروید " جداول یا نمایش ها"، جدول دلخواه، فیلد، یک شاخص منحصر به فرد و راهی برای ردیابی تغییرات را انتخاب کنید. در مورد ما، ما تنها یک جدول موجود و یک فیلد داریم.


تغییر و حذف شاخص متن کامل

در صورت لزوم، شما می توانید پارامترهای شاخص متن کامل را تغییر دهید. بیایید راه را برای ردیابی تغییرات از خودکار در دست تغییر دهیم. برای تغییر در رابط گرافیکی، می توانید از " خواص کاتالوگ متن کامل -\u003e جداول یا نمایش ها"، که ما هنگام ایجاد یک شاخص کامل متن استفاده کردیم.

یا می توانید کد زیر را بنویسید

تغییر فهرست FULLTEXT در تنظیم TESTTABLE CHANGE_TRACKING \u003d دستی

به منظور حذف فهرست متن کامل، به اندازه کافی به راحتی جدول را از لیست اشیاء مرتبط با دایرکتوری کامل متن در همان پنجره حذف کنید " خواص کاتالوگ متن کامل -\u003e جداول یا نمایش ها»


یا یک کد T-SQL بنویسید

فهرست FULLTEXT DROP در TESTTABLE

ایجاد یک کاتالوگ متن کامل و فهرست با استفاده از یک جادوگر

همانطور که قبلا یک فهرست متن اول را ذکر کرده ام و شاخص را می توان با استفاده از استاد، I.E. با مراحل، برای این، دکمه سمت راست ماوس را روی میز کلیک کنید که می خواهیم در جستجوی کامل متن قرار دهیم و انتخاب کنیم " فهرست متن کامل -\u003e تعیین شاخص متن کامل».

توجه داشته باشید! قبل از آن، من دایرکتوری را حذف کردم، و شاخصی که ما در نمونه های قبلی ایجاد کردیم.


در نتیجه، SQL Server Mult-Text Indexing Trending Wizard راه اندازی خواهد شد.



سپس ستون که در فهرست متن کامل گنجانده شده است.


سپس شما باید یک روش برای ردیابی تغییرات را انتخاب کنید.


نام کاتالوگ و گزینه های آن را نشان دهید، به منظور ایجاد آن، همانطور که فرض می شود که هیچ دایرکتوری وجود ندارد، پس ما می توانیم آن را انتخاب کنیم.


در اینجا ما می توانیم جدول زمانی را برای پر کردن کاتالوگ کامل متن سفارشی کنیم.


برای ایجاد یک کاتالوگ و فهرست سمت چپ کلیک کنید " آماده».


در پنجره بعدی، ما نتیجه اجرای عملیات را برای ایجاد یک پوشه و فهرست کامل متن مشاهده خواهیم کرد. در مورد من، همه چیز موفق بود.


بنابراین، ما ایجاد یک پوشه متن کامل و یک شاخص را با استفاده از یک جادوگر تکمیل کردیم.

نمونه هایی از درخواست های کامل متن

بلافاصله می گویم که در جزئیات بیشتر از درخواست های متن کامل ما در مواد زیر در نظر گرفته می شود، و تا کنون، به عنوان مثال و تأیید کنید که جستجوی کامل متن ما در حال کار است، بیایید یک زن و شوهر از درخواست های کامل متن کامل بنویسیم.

اگر به یاد داشته باشید، جدول قابل توصیف ما شامل تعاریف فن آوری ها، زبان های برنامه نویسی، به طور کلی، تعاریف آن مربوط به حوزه است. فرض کنید که ما می خواهیم تمام سوابق را که در آن ذکر شده از مایکروسافت وجود دارد، دریافت کنیم، زیرا ما یک درخواست کامل متن را با آن بنویسیم کلمه کلیدی شامل، به عنوان مثال:

را انتخاب کنید * از vesttable که در آن شامل (textdata، "مایکروسافت")


ما نتیجه را دریافت کردیم، اما به عنوان مثال، ما همچنین باید آن را بر روی ارتباط آن مرتب کنیم، به عبارت دیگر، خطوط مربوط به درخواست ما. برای انجام این کار، ما از تابع کانتینر استفاده خواهیم کرد، که برای هر ورودی یافت می شود.

جدول را انتخاب کنید 1.ID به عنوان ID، RowRank.Rank به عنوان، table1.textdata به عنوان جدول قابل توصیف 1 درونی اتصال داخلی (TextTable، TextData "،" مایکروسافت ") به عنوان RowRank در جدول 1.id \u003d RowRank. سفارش توسط RowRank.Rank Desc


همانطور که می بینید، رتبه بندی شده است و خطوط مرتب شده اند. الگوریتم رتبه بندی خود، به عنوان اطلاعات بیشتر در مورد جستجوی کامل متن، می تواند در اسناد الکترونیکی SQL Server یافت شود.

این نشان می دهد که به پایان برسد، امیدوارم همه چیز روشن باشد، موفق باشید!

درخواست ها بدون نقل قول های محافظتی نوشته شده اند mysql, خانم SQL و پست آنها متفاوتند.

درخواست SQL: به دست آوردن فیلدهای مشخص شده (ضروری) از جدول

ID را انتخاب کنید، country_title، count_people از table_name

ما لیستی از پرونده ها را دریافت می کنیم: همه کشورها و جمعیت آنها. نام زمینه های مورد نظر توسط کاما نشان داده شده است.

را انتخاب کنید * از table_name

* نشان می دهد تمام زمینه ها یعنی، نشان می دهد وجود خواهد داشت همه چيز زمینه های داده

درخواست SQL: نمایش سوابق از جدول به استثنای تکراری

Distinct Country_Title را از Table_Name انتخاب کنید

ما لیستی از سوابق را دریافت می کنیم: کشورهایی که کاربران ما واقع شده اند. کاربران می توانند تعداد زیادی از کشور باشند. در این مورد، این درخواست شماست.

درخواست SQL: نمایش سوابق از جدول در یک وضعیت داده شده

SELECT ID، COUNTRY_TITLE، CITY_TITLE از TABLE_NAME که COUNT_PEOPLE\u003e 100000000

ما لیستی از سوابق را دریافت می کنیم: کشورهایی که تعداد افراد بیش از 100،000،000 نفر است.

درخواست SQL: نمایش سوابق از جدول برنامه

SELECT ID، CITY_TITLE از TABLE_NAME ORDER BY CITY_TITLE

ما لیستی از سوابق را دریافت می کنیم: شهرهای به ترتیب حروف الفبا. در ابتدا، در پایان Ya.

SELECT ID، CITY_TITLE از table_name سفارش توسط City_title Desc

ما لیستی از سوابق را دریافت می کنیم: شهرهای مخالف ( DESC) در ابتدا، من، در پایان A.

پرس و جو SQL: شمارش تعداد سوابق

شمارش (*) را از table_name انتخاب کنید

ما شماره (شماره) سوابق را در جدول دریافت می کنیم. در این مورد، هیچ لیستی از سوابق وجود ندارد.

پرس و جو SQL: خروجی محدوده مورد نظر

SELECT * از TABLE_NAME LIMIT 2، 3

ما 2 (ثانیه) و 3 (سوم) ورود از جدول دریافت می کنیم. درخواست هنگامی مفید است که شما یک ناوبری را در صفحات وب ایجاد کنید.

درخواست SQL با شرایط

نمایش مطالب از جدول برای یک وضعیت داده شده با استفاده از اپراتورهای منطقی.

درخواست SQL: ساخت و ساز و (و)

انتخاب ID، City_Title از table_name که در آن کشور \u003d "روسیه" و روغن \u003d 1

ما لیستی از سوابق دریافت می کنیم: شهرهای روسیه و دسترسی به نفت هنگامی که اپراتور استفاده می شود و.، من باید هر دو شرایط همخوانی داشته باشم.

درخواست SQL: طراحی یا (یا)

انتخاب ID، City_Title از table_name که در آن کشور \u003d "روسیه" یا کشور \u003d "ایالات متحده آمریکا"

ما یک لیست از سوابق دریافت می کنیم: همه شهرها از روسیه یا ایالات متحده آمریکا. هنگامی که اپراتور استفاده می شود یا.، باید حداقل یک وضعیت هماهنگ شود.

پرس و جو SQL: طراحی و نه (و نه)

ID را انتخاب کنید، user_login از table_name که در آن کشور \u003d "روسیه" و نه count_comments<7

ما لیستی از سوابق دریافت می کنیم: همه کاربران از روسیه و ساخته نه کمتر 7 نظر

درخواست SQL: در (ب) طراحی

id را انتخاب کنید، user_login از table_name که در آن کشور ("روسیه"، "بلغارستان"، "چین")

ما یک لیست از سوابق دریافت می کنیم: همه کاربران در آن زندگی می کنند ( که در.) (روسیه، یا بلغارستان، یا چین)

درخواست SQL: نه در طراحی (نه در)

ID را انتخاب کنید، user_login از table_name که در آن کشور نیست ("روسیه"، "چین")

ما یک لیست از سوابق دریافت می کنیم: همه کاربران که زندگی می کنند در ( نه در) (روسیه یا چین).

درخواست SQL: طراحی صفر (مقادیر خالی یا خالی نیست)

ID را انتخاب کنید، user_login از table_name که در آن وضعیت صفر است

ما لیستی از سوابق را دریافت می کنیم: همه کاربران، جایی که وضعیت تعریف نشده است. null یک موضوع جداگانه است و بنابراین به طور جداگانه بررسی می شود.

id را انتخاب کنید، user_login از table_name که در آن حالت صفر نیست

ما یک لیست از سوابق دریافت می کنیم: همه کاربران، جایی که وضعیت تعریف شده است (نه صفر).

درخواست SQL: مانند طراحی

id، user_login را انتخاب کنید از table_name که نام خانوادگی مانند "Ivan٪"

ما لیستی از سوابق را دریافت می کنیم: کاربران که نام خانوادگی را با ترکیب "ایوان" آغاز می کنند. علامت٪ به معنای هر تعداد از هر شخصیت است. برای پیدا کردن علامت٪ شما باید از غربالگری "Ivan \\٪" استفاده کنید.

پرس و جو SQL: بین طراحی

ID را انتخاب کنید، user_login از table_name که حقوق بین 25000 تا 50000 است

ما لیستی از سوابق دریافت می کنیم: کاربران دریافت حقوق و دستمزد از 25،000 تا 50،000 شامل.

اپراتورهای منطقی بسیار زیاد هستند، بنابراین شما به طور دقیق مستندات SQL Server را مطالعه خواهید کرد.

درخواست های پیچیده SQL

پرس و جو SQL: ترکیبی از درخواست های چندگانه

(انتخاب ID، user_login از table_name1) اتحادیه (انتخاب شناسه، user_login از table_name2)

ما لیستی از سوابق را دریافت می کنیم: کاربران که در سیستم ثبت نام کرده اند، و همچنین کسانی که به طور جداگانه در انجمن ثبت نام کرده اند. اپراتور اتحادیه می تواند چندین درخواست را ترکیب کند. اتحادیه عمل می کند مانند انتخاب متمایز، یعنی از بین بردن ارزش های تکراری. برای به دست آوردن کاملا همه سوابق، شما باید از اتحادیه همه اپراتور استفاده کنید.

درخواست SQL: شمارش حداکثر، حداقل، مجموع، AVG، مقادیر میدان شمارش

نتیجه گیری از یک، حداکثر مقدار ضد در جدول:

حداکثر (شمارنده) را از Table_Name انتخاب کنید

خروجی یکی، حداقل مقادیر شمارنده در جدول:

min (counter) را از table_name انتخاب کنید

خروجی تمام مقادیر متر در جدول:

مجموع (شمارنده) را از Table_Name انتخاب کنید

خروجی مقدار متوسط \u200b\u200bمتر در جدول:

avg (counter) را از table_name انتخاب کنید

خروجی تعداد متر در جدول:

شمارش (شمارنده) را از Table_Name انتخاب کنید

خروجی تعداد متر در کارگاه شماره 1، در جدول:

شمارش (counter) را از table_name انتخاب کنید که Office \u003d "فروشگاه شماره 1"

این تیم های محبوب ترین هستند. توصیه می شود که ممکن است از درخواست های SQL برای شمارش این نوع استفاده کنید، زیرا هیچ محیط برنامه نویسی در سرعت پردازش داده ها نسبت به سرور SQL خود در هنگام پردازش داده های خود مقایسه نمی شود.

پرس و جو SQL: سوابق گروهی

SELECT CONTINEENT، SUM (COUNTRY_AREA) از گروه کشور توسط قاره

ما لیستی از پرونده ها را دریافت می کنیم: با نام قاره و مجموع مربعات همه کشورها. به این معناست که اگر یک کتاب مرجع از کشورهایی وجود داشته باشد که هر کشور دارای منطقه خود است، با استفاده از گروه با طراحی، شما می توانید اندازه هر قاره را پیدا کنید (بر اساس گروه بندی توسط قاره ها).

درخواست SQL: استفاده از جداول متعدد از طریق نام مستعار (نام مستعار)

O.RODER_NO، O.MOUNT_PAID، O.MOUNT_PAID، C.com سفارشات را به عنوان O، مشتری به عنوان o.custno \u003d c.custno و c.city \u003d "tyumen" را انتخاب کنید

ما لیستی از سوابق را دریافت می کنیم: سفارشات از خریداران که تنها در Tyumen زندگی می کنند.

در حقیقت، با یک پایگاه داده به درستی پیش بینی شده از این نوع، پرس و جو شایع ترین است، بنابراین یک اپراتور خاص به MySQL معرفی شد، که در زمان های سریعتر از کد فوق ذکر شده کار می کند.

o.order_no، o.amount_paid، z.company را از دستورات به عنوان O سمت چپ به مشتری به عنوان z (z.custno \u003d o.custno) انتخاب کنید

زیرمجموعه های توزیع شده

* را انتخاب کنید * از Table_name که در آن حقوق و دستمزد \u003d (حداکثر (حقوق و دستمزد) از کارمند را انتخاب کنید)

ما یک رکورد دریافت می کنیم: اطلاعات کاربر با حداکثر حقوق و دستمزد.

توجه! Subqueries های توزیع شده یکی از کرسی های باریک ترین سرورهای SQL هستند. همراه با انعطاف پذیری و قدرت آن، آنها نیز به طور قابل توجهی بار را بر روی سرور افزایش می دهند. چه چیزی منجر به کاهش فاجعه بار دیگر کاربران می شود. موارد بسیار مکرر از تماس های بازگشتی در هنگام پرس و جو های پیوست شده وجود دارد. بنابراین، من به شدت توصیه می کنم از درخواست های سرمایه گذاری استفاده نکنید، اما آنها را به کوچکتر تقسیم کنید. یا از ترکیب پیوستن به سمت چپ به سمت بالا استفاده کنید. علاوه بر این نوع، درخواست ها تمرکز بیشتری از نقض امنیتی هستند. اگر تصمیم به استفاده از Subqueries های توزیع شده دارید، لازم است آنها را بسیار دقت طراحی کنید و ابتدا شروع به انجام نسخه های پایگاه داده (پایگاه های آزمون).

درخواست SQL در حال تغییر داده ها

درخواست SQL: Insert

دستورالعمل قرار دادن به شما اجازه می دهد سوابق را در جدول قرار دهید. کلمات ساده، یک خط را با داده ها در جدول ایجاد کنید.

گزینه شماره 1 دستورالعمل اغلب استفاده می شود:

قرار دادن به table_name (ID، user_login) مقادیر (1، Ivanov ")، (2،" پتروف ")

در جدول " table_name"بلافاصله 2 (دو) کاربران را وارد می کند.

گزینه شماره 2 راحت تر برای استفاده از سبک است:

insert table_name set id \u003d 1، user_login \u003d "ivanov"؛ Insert table_name تنظیم ID \u003d 2، user_login \u003d "Petrov"؛

این مزایا و معایب آن است.

معایب اساسی:

  • بسیاری از پرسشنامه های SQL کوچک کمی کمتر از یک پرس و جو بزرگ SQL انجام می شود، اما سایر درخواست ها در صف سرویس قرار می گیرند. به این معناست که اگر یک پرس و جو بزرگ SQL 30 دقیقه تکمیل شود، در تمام این مدت، بقیه درخواست ها بامبو را سیگار می کشند و منتظر نوبت خود هستند.
  • درخواست گسترده تر از گزینه قبلی است.

مزایای اصلی:

  • در طی درخواست های SQL کوچک، سایر درخواست های SQL مسدود نمی شوند.
  • راحتی در خواندن
  • انعطاف پذیری در این تجسم، شما نمیتوانید با ساختار مطابقت داشته باشید، اما فقط داده های لازم را اضافه کنید.
  • هنگام تشکیل آرشیو مشابه، شما به راحتی می توانید یک خط را کپی کنید و آن را از طریق خط فرمان (کنسول) شروع کنید، در نتیجه کل آرشیو را بازگردانید.
  • سبک رکورد شبیه به دستورالعمل به روز رسانی است، که به یاد داشته باشید آسان تر است.

درخواست SQL: به روز رسانی

به روز رسانی جدول user_login \u003d "ivanov"، user_surname \u003d "ivanov" که ID \u003d 1

در جدول " table_name"در سوابق با شناسه شماره \u003d 1، مقادیر کاربر user_login و user_surname به مقادیر مشخص شده تغییر خواهد کرد.

درخواست SQL: حذف

حذف از table_name که ID \u003d 3

جدول table_name با شماره 3 شناسه حذف خواهد شد.

  1. تمام نام های زمینه توصیه می شود که با حروف کوچک بنویسید و در صورت لزوم آنها را از طریق فضای اجباری "_" برای سازگاری با زبان های مختلف برنامه نویسی مانند دلفی، پرل، پایتون و روبی تقسیم کنید.
  2. تیم های SQL در نامه های بزرگ برای خوانایی نوشتند. به یاد داشته باشید همیشه پس از اینکه شما می توانید کد و افراد دیگر را بخوانید، و به احتمال زیاد شما را از طریق N مقدار زمان خود را.
  3. از فیلد ها از ابتدای اسم، و سپس عمل کنید. به عنوان مثال: city_status، user_login، user_name.
  4. سعی کنید از کلمات پشتیبان در زبان های مختلف جلوگیری کنید که می تواند مشکلات را در زبان های SQL، PHP یا PERL مانند (نام، تعداد، لینک) ایجاد کند. به عنوان مثال: لینک را می توان در MS SQL استفاده کرد، اما در MySQL رزرو شده است.

این ماده یک گواهی کوتاه برای کار روزمره است و تظاهر به یک منبع معتبر فوق العاده مگا، که منبع پرس و جو SQL از یک پایگاه داده است.