نحوه راه اندازی گوشی های هوشمند و رایانه های شخصی. پرتال اطلاعاتی
  • خانه
  • در تماس با
  • فرمت های اپراتور برای تغییر و حذف داده ها. دستورات اولیه SQL

فرمت های اپراتور برای تغییر و حذف داده ها. دستورات اولیه SQL

SQL (StructuredQueryLanguage - "Structured Query Language") یک زبان کامپیوتری همه منظوره است که برای ایجاد، اصلاح و دستکاری داده ها در پایگاه های داده رابطه ای استفاده می شود. زبان SQL بر پایه جبر رابطه ای است و مجموعه ای از عملگرها است.

4 گروه از اپراتورها وجود دارد. گروهی از عملگرهای دستکاری داده را در نظر بگیرید (زبان دستکاری داده، DML، SQL DML)

انتخاب داده ها

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

ستون را از جدول انتخاب کنید

عبارات SELECT باید حاوی کلمات SELECT و FROM باشند. سایر کلمات کلیدی اختیاری هستند.

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

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

انتخاب کنید شرکت

نمونه ای از انتخاب چندین ستون به صورت زیر است:

انتخاب کنید شرکت، تلفن،ایمیل

کلمه کلیدی FROM برای تعیین نام جداولی که رکوردها از آنها انتخاب می شود استفاده می شود، به عنوان مثال:

انتخاب کنید * از جانب مشتریان

این کوئری تمام فیلدهای جدول مشتریان را برمی گرداند.

می توانید از عبارت WHERE (اختیاری) برای فیلتر کردن نتایج بازگردانده شده توسط یک عبارت SELECT استفاده کنید

SELECT * از محصولات WHERE رده = 4

می توانید از عبارات مختلفی در عبارت WHERE استفاده کنید،

WHERE عبارت 1 [(AND | OR) عبارت2 ...]

مثلا:

SELECT * از محصولات WHERE رده = 2 و Postavshik > 10

نام، قیمت از محصولات WHERE رده = 3 یا قیمت را انتخاب کنید< 50

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

< Меньше

<= Меньше или равно

<>نا برابر

> بیشتر

>= بزرگتر یا مساوی

بند ORDER BY (اختیاری) برای مرتب سازی نتایج تنظیم شده توسط یک یا چند ستون استفاده می شود. کلمات کلیدی ASC (صعودی) یا DESC (نزولی) برای تعریف ترتیب مرتب سازی استفاده می شود. به طور پیش فرض، داده ها به ترتیب صعودی مرتب شده اند.

اصلاح داده ها

علاوه بر بازیابی داده ها، SQL می تواند برای به روز رسانی و حذف داده ها، کپی رکوردها در جداول دیگر و انجام عملیات های دیگر استفاده شود. در زیر، دستورات UPDATE، DELETE و INSERT را که برای انجام برخی از این وظایف استفاده می‌شوند، بررسی خواهیم کرد.

به روز رسانی بیانیه

دستور UPDATE برای تغییر مقادیر در یک یا چند ستون از جدول استفاده می شود. نحو این عملگر به صورت زیر است:

به روز رسانی مجموعه جدول ستون1 = بیان1 معیارهای WHERE

یک عبارت در یک عبارت SET می تواند ثابت یا نتیجه یک محاسبه باشد. به عنوان مثال، برای افزایش قیمت تمام محصولاتی که قیمت آنها کمتر از 10 دلار است، می توانید پرس و جو زیر را اجرا کنید:

به روز رسانی محصولات مجموعه قیمت = قیمت * 1.1 WHERE قیمت< 10

بیانیه را حذف کنید

برای حذف ردیف‌ها از جداول، از دستور DELETE استفاده کنید که نحو آن عبارت است از:

حذف از جدول WHERE معیارها

تمام محصولاتی که قیمت آنها کمتر از 100 است را حذف کنید:

حذف از محصولات WHERE قیمت< 100

اپراتوردرج کنید

برای افزودن رکوردها به جداول از عبارت INSERT استفاده کنید که نحو آن به صورت زیر است:

درج در جدول ( VALUES (عبارت [، ...])

به عنوان مثال، برای افزودن یک مشتری جدید به جدول مشتریان، می توانید از پرس و جو زیر استفاده کنید:

درج در مشتریان (شناسه مشتری، نام شرکت) مقادیر («XYZ»، «XYZ Deli»)

عملگر O یک کلمه یا کاراکتر رزرو شده است که عمدتاً در WHERE استفاده می شود و یک دستور SQL برای انجام عملیاتی مانند مقایسه و عملیات حسابی ارائه می دهد.

عملگرها برای تعریف شرایط در SQL استفاده می شوند و به عنوان اتصال برای شرایط چندگانه در یک دستور عمل می کنند.

  • عملگرهای حسابی
  • اپراتورهای مقایسه
  • عملگرهای منطقی
  • اپراتورها برای نفی یک شرط استفاده می کردند

عملگرهای حسابی در SQL:

یک متغیر را فرض کنید آبرابر 10 و متغیر ببرابر 20 است، سپس:

عملگرهای مقایسه در SQL:

فرض کنید متغیر a 10 و متغیر b 20 باشد، سپس:

اپراتورشرحمثال
= بررسی می کند که آیا مقادیر دو عملوند برابر هستند یا نه، اگر بله، شرط درست می شود.(الف = ب) درست نیست.
!= (الف != ب) درست است.
<> بررسی می کند که آیا مقادیر دو عملوند برابر هستند یا نه، اگر مقادیر برابر نیستند، شرط درست می شود.(آ<>ب) درست است.
> بررسی می کند که آیا مقدار عملوند سمت چپ از مقدار عملوند سمت راست بیشتر است یا خیر، اگر چنین است، آنگاه شرط درست می شود.(الف > ب) درست نیست.
< بررسی می کند که آیا مقدار عملوند سمت چپ کمتر از مقدار عملوند سمت راست است، اگر چنین است، آنگاه شرط درست می شود.(آ< b) истинно.
> = آزمایش می کند که آیا مقدار عملوند چپ بزرگتر یا مساوی با مقدار عملوند راست است، اگر چنین است، آنگاه شرط درست می شود.(a >= b) نادرست است.
<= آزمایش می کند که آیا مقدار عملوند سمت چپ کمتر یا مساوی با مقدار عملوند راست است، اگر چنین است، آنگاه شرط درست می شود.(آ<= b) истинно.
بررسی می کند که آیا مقدار عملوند سمت چپ کمتر از مقدار عملوند سمت راست نیست، اگر چنین است، آنگاه شرط درست می شود.(آ!< b) неверно.
!> بررسی می کند که آیا مقدار عملوند سمت چپ از مقدار عملوند سمت راست بیشتر نیست، اگر چنین است، آنگاه شرط درست می شود.(الف! > ب) صحیح است.

عملگرهای منطقی در SQL:

در اینجا لیستی از تمام عملگرهای منطقی موجود در SQL آمده است.

اپراتورشرح
همهعملگر ALL برای مقایسه یک مقدار برای همه مقادیر در مجموعه مقادیر دیگری استفاده می شود.
وعملگر AND اجازه می دهد تا چندین شرط در یک عبارت SQL WHERE وجود داشته باشد.
هرعملگر ANY برای مقایسه هر مقدار قابل اعمال در یک لیست با توجه به شرایط استفاده می شود.
بینعملگر BETWEEN برای یافتن مقادیری استفاده می شود که در مجموعه ای از مقادیر قرار دارند، با توجه به یک مقدار حداقل و یک مقدار حداکثر.
وجود داردعملگر EXISTS برای جستجوی وجود یک ردیف در یک جدول مشخص که با معیارهای خاصی مطابقت دارد استفاده می شود.
که درعملگر IN برای مقایسه یک مقدار در لیستی از مقادیر تحت اللفظی تعریف شده استفاده می شود.
پسندیدنعملگر LIKE برای مقایسه مقادیر مشابه با استفاده از عملگرهای wildcard استفاده می شود.
نهعملگر NOT معنای عملگر منطقی که با آن استفاده می شود را تغییر می دهد. به عنوان مثال: NOT EXISTS، NOT BETWEEN، NOT IN و غیره. این مورد توسط اپراتور رد شده است.
یاعملگر OR برای ترکیب چند شرط در یک عبارت SQL WHERE استفاده می شود.
تهی استعملگر null برای مقایسه یک مقدار با مقدار null استفاده می شود.
منحصر بفردعبارت واحد هر ردیف از جدول مشخص شده را برای منحصر به فرد بودن (بدون تکرار) جستجو می کند.

زبان پرس و جو ساختار (SQL) در نتیجه توسعه مدل داده های رابطه ای ایجاد شد و در حال حاضر استاندارد زبان واقعی برای DBMS رابطه ای است. زبان SQL امروزه توسط تعداد زیادی DBMS از انواع مختلف پشتیبانی می شود.

نام زبان SQL معمولا با حروف "es-q-el" تلفظ می شود. گاهی اوقات از نام یادگاری "See-Quel" استفاده می شود.

زبان SQL ویژگی های زیر را در اختیار کاربر قرار می دهد (با کمترین تلاش از طرف او):

ایجاد پایگاه داده و جداول با توضیح کامل ساختار آنها

انجام عملیات دستکاری داده های اولیه: درج، تغییر، حذف داده ها

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

زبان SQL از نظر رابطه کامل است.

ساختار و نحو دستورات آن بسیار ساده است و زبان خود جهانی است، یعنی نحو و ساختار دستورات آن هنگام انتقال از یک DBMS به DBMS دیگر تغییر نمی کند.

زبان SQL دو جزء اصلی دارد:

DDL (زبان تعریف داده ها) برای تعریف ساختارهای پایگاه داده و کنترل دسترسی به داده ها

DML (زبان دستکاری داده ها) برای بازیابی و به روز رسانی داده ها استفاده می شود.

SQL یک زبان غیر رویه ای است، یعنی در هنگام استفاده از آن باید مشخص کنید که چه اطلاعاتی باید به دست آید و نه اینکه چگونه می توان آن را به دست آورد. دستورات SQL کلمات معمولی انگلیسی (SELECT، INSERT و غیره) هستند. ابتدا عبارات SQL DML را در نظر بگیرید:

SELECT - واکشی داده ها از پایگاه داده

INSERT - درج داده ها در جدول

به روز رسانی - به روز رسانی داده ها در یک جدول

DELETE - حذف داده ها از جدول

عبارت SELECT

دستور SELECT اقداماتی معادل عملیات جبر رابطه ای زیر را انجام می دهد: انتخاب، پروژه و پیوستن.

ساده ترین پرس و جوی SQL با استفاده از آن به صورت زیر است:

col_name را از TBL انتخاب کنید

پس از کلمه کلیدی select، فهرستی از ستون‌های جدا شده با کاما قرار می‌گیرد که داده‌های آنها در نتیجه پرس و جو برگردانده می‌شود. کلمه کلیدی from مشخص می کند که داده ها از کدام جدول (یا نمای) بازیابی می شوند.

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

برای انتخاب تمام ستون ها و تمام ردیف های جدول، کافی است یک SELECT * FROM tbl صادر کنید.

یک جدول محصول حاوی اطلاعات قیمت برای محصولات مختلف را در نظر بگیرید:

درخواست نتیجه

انتخاب * از محصول؛

کل محصول جدول خواهد بود.

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

SELECT col1, col2, … , coln FROM tbl;

بنابراین، نتیجه پرس و جو

نوع انتخاب، قیمت از محصول؛

یک میز وجود خواهد داشت

در صورت نیاز به تغییر ترتیب ستون‌ها در جدول حاصل، به فهرست ستون‌ها در دستور select نیز متوسل می‌شود:

برای انتخاب تنها ردیف‌های جدولی که محدودیت‌های خاصی را برآورده می‌کنند، از کلمه کلیدی ویژه Where استفاده می‌شود و به دنبال آن یک شرط منطقی وجود دارد. اگر ورودی این شرط را برآورده کند، در نتیجه لحاظ می شود. در غیر این صورت، ورودی حذف می شود.

به عنوان مثال، انتخاب آن دسته از محصولات از جدول Product که قیمت آنها شرط Price را برآورده می کند<3200, можно осуществить, используя запрос

انتخاب * از محصول که در آن قیمت<3200;

نتیجه او:

شرط را می توان با استفاده از عملگرهای منطقی NOT , AND, OR, XOR ترکیب و ترکیب کرد، به عنوان مثال: که در آن id_ Price>500 AND Price<3500. Допускается также использование выражений в условии: where Price>(1+1) و ثابت های رشته ای: Where name= "autobalances".

استفاده از ساختار BETWEEN var1 AND var2 به شما امکان می دهد بررسی کنید که آیا مقادیر یک عبارت در بازه var1 تا var2 قرار می گیرند (از جمله این مقادیر):

انتخاب * از محصولی که قیمت آن بین 3000 تا 3500 است.

بر اساس قیاس با عملگر NOT BETWEEN، عملگر NOT IN وجود دارد.

نام ستون های مشخص شده در عبارت SELECT را می توان تغییر نام داد. برای این کار از کلمه کلیدی AS استفاده می شود که البته می توان آن را حذف کرد زیرا به طور ضمنی به آن اشاره شده است. مثلا یک درخواست

SELECT Type AS model، Type_id AS num FROM محصول که در آن Type_id =3 است

باز خواهد گشت (نام مستعار باید بدون نقل قول نوشته شود):

عملگر LIKE برای مقایسه یک رشته با یک الگو است:

SELECT * از tbl که در آن col_name مانند "abc" است

این کوئری فقط رکوردهایی را برمی گرداند که حاوی مقدار رشته abc در ستون col_name هستند.

دو کاراکتر عام در الگو مجاز است: "_" و "%". اولی جایگزین یک کاراکتر دلخواه در قالب می شود و دومی جایگزین دنباله ای از کاراکترهای دلخواه می شود. بنابراین "abc%" با هر رشته ای که با abc شروع می شود، "abc_" با هر رشته ای از 4 کاراکتر که با abc شروع می شود، "%z" با هر رشته ای که با z ختم می شود، و در نهایت "%z%" - دنباله ای از کاراکترها مطابقت دارد. حاوی z.

می توانید تمام رکوردها را در جدول Product که در آن مقدار Type با حرف "a" شروع می شود به صورت زیر پیدا کنید:

انتخاب * از محصول که در آن نوع LIKE "a%";

ترازو کامیون

اگر رشته جستجو حاوی یک کاراکتر عام باشد، باید یک کاراکتر کنترلی را در عبارت ESCAPE مشخص کنید. این کاراکتر کنترل باید در الگو قبل از کاراکتر عام استفاده شود، که نشان می‌دهد دومی باید به عنوان یک کاراکتر معمولی در نظر گرفته شود. به عنوان مثال، اگر می خواهید تمام مقادیر حاوی کاراکتر "_" را در یک فیلد خاص پیدا کنید، الگوی "%_%" همه رکوردها را از جدول برمی گرداند. در این مورد، الگو باید به صورت زیر نوشته شود:

"%|_%" ESCAPE "|"

برای بررسی اینکه آیا مقدار با رشته "20% مطابقت دارد" می توانید از عملگر زیر استفاده کنید:

مانند "20#%" ESCAPE "#"

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

جایی که col_name NULL است به جای Where col_name=NULL.

نتیجه واکشی پیش‌فرض رکوردها را به همان ترتیبی که در پایگاه داده ذخیره می‌شوند، برمی‌گرداند. اگر می خواهید رکوردها را بر اساس یکی از ستون ها مرتب کنید، باید از عبارت ORDER BY استفاده کنید که پس از آن نام این ستون مشخص می شود:

SELECT * FROM tbl ORDER BY col_name.

در نتیجه این پرس و جو، رکوردها به ترتیب صعودی مقدار مشخصه col_name برگردانده می شوند.

سوابق را می توان بر اساس چندین ستون نیز مرتب کرد. برای انجام این کار، نام آنها باید بعد از ORDER BY مشخص شود و با کاما از هم جدا شوند:

SELECT * FROM tbl ORDER BY col_name1، col_name2.

رکوردها بر اساس فیلد col_name1 مرتب خواهند شد. اگر چندین رکورد با یک مقدار در ستون col_name1 وجود داشته باشد، آنها بر اساس فیلد col_name2 مرتب می شوند.

اگر می خواهید رکوردها را به ترتیب معکوس مرتب کنید (مثلاً بر اساس تاریخ نزولی)، باید ORDER BY col_name DESC را مشخص کنید.

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

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

بنابراین، اطلاعات اغلب صفحه بندی شده و به صورت تکه ای به کاربر ارائه می شود. صفحه بندی با کلیدواژه محدود و به دنبال آن تعداد ورودی هایی برای نمایش استفاده می شود. پرس و جوی زیر 10 رکورد اول را واکشی می کند در حالی که به طور همزمان در فیلد col_name1 مرتب می شود:

SELECT * FROM tbl ORDER BY col_name1 DESC LIMIT 10

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

SELECT * FROM tbl ORDER BY col_name1 DESC LIMIT 10,10

برای بازیابی 10 رکورد بعدی، از ساختار LIMIT 20، 10 استفاده کنید.

و روی داده های جدول.

زبان SQL نامیده می شود ساخته شده است، زیرا این شامل توابع یک زبان توسعه کامل است و بر روی دسترسی به داده ها تمرکز می کند که در نتیجه آن در ابزارهای توسعه برنامه گنجانده شده است. استانداردهای زبان SQL از Pascal، Fortran، COBOL، C و سایر زبان های برنامه نویسی پشتیبانی می کنند.

وجود دارد 2 روش برای استفاده از SQL تعبیه شده:

  • ایستااستفاده از زبان ( SQL استاتیک) - متن برنامه شامل فراخوانی توابع SQL است که پس از کامپایل در ماژول اجرایی گنجانده می شود.
  • پویااستفاده از زبان ( SQL پویا) – ساخت پویا فراخوانی تابع SQL و تفسیر آنها. مثلا، می توانید در حین اجرای برنامه به داده های پایگاه داده راه دور دسترسی داشته باشید.

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

تعریف 1

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

عملگرهای زبان پرس و جو اولیه SQL

عبارات SQL به طور مشروط به تقسیم می شوند 2 زیر زبان:

  1. زبان تعریف داده DDL;
  2. زبان دستکاری داده ها DML.

در جدول، علامت * مشخص شده است اپراتورهای خاصزبان

بیایید نگاهی به مهمترین عبارات SQL بیندازیم.

    بیانیه ایجاد جدول:

    نام جدول در حال ایجاد و نام حداقل یک ستون (فیلد) عملوندهای ضروری هستند. برای نام ستون باید نوع داده ای که در آن ذخیره می شود را مشخص کنید.

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

    مثال 1

    برای ایجاد جدول کتاب هافهرست کتاب که حاوی فیلدهای زیر است:

    نوع- نوع کتاب

    نام- نام کتاب،

    قیمت- قیمت کتاب

    اپراتور ممکن است شبیه به این باشد:

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

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

    مثال 2

    برای افزودن به جدول کتاب هازمینه های عدد، که تعداد کتاب ها را ذخیره می کند، می توانید اپراتور را بنویسید:

    بیانیه سقوط جدول:

    مثال 3

    به عنوان مثال، برای رها کردن یک جدول موجود به نام کتاب هافقط از اپراتور استفاده کنید:

    بیانیه ایجاد ایندکس:

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

    گزینه اختیاری منحصر بفردمسئول اطمینان از منحصر به فرد بودن مقادیر در تمام ستون هایی است که در بیانیه مشخص شده است.

    ASCمرتب‌سازی خودکار مقادیر در ستون‌ها را به ترتیب صعودی (پیش‌فرض) تنظیم می‌کند و DESC- به ترتیب نزولی

    عملگر افت شاخص:

    مشاهده اپراتور ایجاد:

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

    مشاهده اپراتور حذف:

    اپراتور انتخاب رکورد:

    اپراتور انتخاب کنیدمحاسبات داده ها را از یک یا چند جدول انتخاب و انجام می دهد. نتیجه اجرای دستور یک جدول پاسخ است که شامل ( همه) یا حاوی ( متمایز) خطوطی که تکرار می شوند.

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

    اپراتور اصلاح رکورد:

    مقادیر فیلد جدید در رکوردها ممکن است حاوی مقادیر نباشند ( خالی) یا بر اساس یک عبارت حسابی محاسبه می شود.

    اپراتور برای درج رکوردهای جدید:

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

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

    حذف عملگر رکورد:

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

رشته: پایگاه های اطلاعاتی

عملگرهای زبانSQL

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

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

    هر عبارت در عبارت باید از یک خط جدید شروع شود.

    ابتدای هر عبارت باید با ابتدای بقیه عبارات بیانیه همسو باشد.

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

    برخی از قراردادها برای عملگرهای نوشتن اعمال می شود:

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

    حروف کوچک برای نوشتن کلمات تعریف شده توسط کاربر استفاده می شود.

    نوار عمودی "|" نیاز به انتخاب یکی از چندین مقدار را نشان می دهد.

    بریس های فرفری یک عنصر مورد نیاز را تعریف می کنند.

    براکت های مربع یک عنصر اختیاری را تعریف می کنند.

    بیضی "..." برای نشان دادن امکان اختیاری تکرار ساختار، از صفر تا چند بار استفاده می شود.

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

میز 1 . اپراتورهای تعریف داده

اپراتور توضیح

ایجاد جدول

جدول رها کردن

جدول تغییرات

ایجاد نمای ایجاد یک نمای

تغییر نمای

نمایش رها کردن

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

جدول 2 . اپراتورهای دستکاری داده ها

اپراتورتوضیح

حذف یک یا چند ردیف را که با شرایط مطابقت دارند حذف می کند

فیلتر کردن، از جدول پایه

INSERT یک ردیف را در جدول پایه قرار می دهد

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

خطوط متعدد مطابق با شرایط فیلتر

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

جدول 3 زبان پرس و جو

اپراتور توضیح

انتخاب ردیف ها را انتخاب کنید. عملگر که به شما امکان می دهد نتیجه را تشکیل دهید

جدول مطابق با پرس و جو

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

جدول 4. مدیریت تراکنش

توضیح اپراتور

commit تکمیل تراکنش - تکمیل پردازش اطلاعات،

در یک معامله ترکیب شده است

rollback تراکنش بازگشت - لغو تغییرات ایجاد شده در طول اجرا

وضعیت پایگاه داده، آن را علامت گذاری کنید تا بتوانید بعداً به آن بازگردید

جدول 5 . مدیریت داده ها

توضیح اپراتور

ALTER DATABASE تغییر مجموعه ای از اشیاء اساسی در پایگاه داده، محدودیت های مربوط به

کل پایگاه داده

ALTER DBAREA یک منطقه ذخیره سازی ایجاد شده قبلی را تغییر دهید

ALTER PASSWORD رمز عبور کل پایگاه داده را تغییر دهید

ایجاد پایگاه داده یک پایگاه داده جدید ایجاد کنید

ایجاد DBAREA یک فضای ذخیره سازی جدید ایجاد کنید و آن را برای میزبانی در دسترس قرار دهید

DROP DATABASE یک پایگاه داده موجود را رها کنید

DROP DBAREA یک فضای ذخیره سازی موجود را حذف کنید (اگر در حال حاضر شامل آن نباشد

داده های فعال قرار دارد)

اعطای حقوق دسترسی به تعدادی از اقدامات در برخی از شی پایگاه داده

ابطال حقوق دسترسی به برخی از شی یا برخی از اقدامات روی را لغو کنید

هدف - شی

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

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

    بیانیه را انتخاب کنیدانتخاب کنید . تشکیل پرس و جو در پایگاه داده

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

انتخاب فرمت بیانیه:

انتخاب *|<список полей>از جانب<список таблиц>

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

□ عبارت انتخاب کنید:

حضور کلمه کلیدی همه(پیش‌فرض) به این معنی است که جدول به دست آمده شامل تمام ردیف‌هایی است که با شرایط پرس و جو مطابقت دارند، که می‌تواند منجر به ظاهر شدن ردیف‌های تکراری در جدول حاصل شود.

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

نماد " * " وضعیت بسیار رایجی را تعریف می کند که در آن مجموعه نتایج شامل تمام ستون های جدول پرس و جو اصلی است.

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

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

مقایسه "=<>, >, <, >=, <=" - для сравнения результатов вы­числения двух выражений; более сложные выражения строятся с по­мощью логических операторов AND, OR, NOT; значения выражений вычисляются в порядке, который определяется приоритетом исполь­зуемых операторов и наличием скобок в выражении;

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

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

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

استخالی- یک گزاره برای تشخیص برابری مقدار برخی از ویژگی ها با یک مقدار تعریف نشده استفاده می شود:

    <имя атрибута> استخالی- اگر ویژگی مشخص شده در این رشته دارای مقدار تعریف نشده و false باشد، مقدار true را می گیرد، در غیر این صورت.

    <имя атрибута> استنهخالی- همه چیز برعکس اتفاق می افتد.

وجود داشته باشدو نهوجود داشته باشدمورد استفاده در پرس و جوهای فرعی.

□ در یک عبارت گروهتوسطلیست فیلدهای گروه بندی تنظیم شده است.

□ در یک عبارت داشتنمحمولات-شرایط تحمیل شده بر هر گروه تنظیم شده است.

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

استاندارد SQL مفهوم یک مقدار NULL را تعریف می کند، که استفاده از منطق سه مقدار را ضروری می کند، جایی که تمام عملیات منطقی مطابق با جدول حقیقت زیر انجام می شود (جدول 6).

جدول 6 . جدول درستی

الف و ب

تیRUE

1.1. پرس و جوهای ساده

درخواست 1

نمایش اطلاعات در مورد گروه های دانشگاه.

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

انتخاب * از بخش

نتیجه چنین پرس و جو جدولی حاوی اطلاعات مربوط به تمام بخش های دانشگاه خواهد بود:

کد کاف

نام کاف

Nom_telef

Nom_Auditoria

Col_sotr

ایوانف T.M.

ریاضیات عمومی

ماخوف ک ال.

راس ال.تی.

Firsov S.S.

ریاضیات کاربردی

لیاخووا I.T.

درخواست 2

نمایش شماره تلفن گروه های دانشگاهی

نتیجه چنین پرس و جوی باید فقط شامل دو ستون باشد: نام_ کافو نام_ تلفن, بنابراین خود پرس و جو باید به شکل زیر باشد:

Name_kaf, Nom_telef FROM kafedra را انتخاب کنید

جدول نتایج:

نامکاف نومجلف

فیزیک 23-34-24

ریاضی عمومی 23-65-43

داستان های 23-78-72

نمودارهای 23-99-77

ریاضی کاربردی 23-66-62

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

درخواست 3

نمایش اطلاعات مربوط به بخش گرافیک

SELECT * FROM kafedra WHERE Name_kaf = "نمودارها"

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

کد.کاف Name_kaf NomjelefNom_Auditoria کول_سوتر زاو_کاف

004 نمودار 23-99-77 385 18 Firsov C.C.

درخواست 4

نمایش اطلاعات در مورد گروه های دانشگاه واقع در طبقه همکف با در نظر گرفتن این واقعیت که اتاق های طبقه همکف در محدوده 1 تا 99 قرار دارند.

درخواست به شکل زیر خواهد بود:

SELECT * FROM kafedra WHERE Nom_Auditoria BETWEEN 1 و 99

نتیجه پرس و جو:

Kodjcafنام_کافNorn lelef Norn Audit oria Coi_sotr Zavkaf

002 ریاضی عمومی 23-65-43 003 22 Makhov K.L.

ریاضیات

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

درخواست 5

نمایش اطلاعات مربوط به گروه های دانشگاه به شکل مرتب شده بر اساس ستوننام_ کافبه ترتیب صعودی

درخواست به شکل زیر خواهد بود:

SELECT * FROM kafedra ORDER BY Name_caf ASC

نتیجه این درخواست:

Kod_kaf Name_kaf Nomelef Nom_Auditoria Col_sotr Zav kaf

004 نمودارها 23-E9-77 385 18 FirsovS.S.

003 Stories 23-78-72 465 16 Ross L.T.

002 عمومی ma- 23-65-43 003 22 Makhov K.L.

موضوعات

005 کاربردی 23-66-62 028 24 Lyakhova I.T.

ریاضیات

001 فیزیکدانان 23-34-24 132 25 Ivanov T.M.

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

برترین مقالات مرتبط