دستورات SQL کاربردی که باید بدانید + فیلم آموزش اس کیو ال سرور
همانطور که میدانید دستورات اس کیو ال از ۴ دستور اصلی Select، Update، Delete و Insert تشکیل شده است. در عصری هستیم که حجمهایی عظیم از داده به صورت روزانه تولید میشوند و لازم است این دادهها در پایگاه داده نگه داری شوند. در این آموزش به معرفی دستورات و عبارات مهم SQL میپردازیم. : دستوراتی که از آنها برای تعریف ساختار پایگاه داده استفاده میشود. : دستوراتی که از آنها برای تغییر دادههای موجود در پایگاه داده استفاده میشود. : دستوراتی که از آنها برای کنترل مجوزهای کاربری و کنترل سیستم پایگاه داده استفاده میشود. : دستوراتی که از آنها برای مدیریت تراکنشهای (Transaction) پایگاه داده استفاده میشود. در مثالهای این آموزش، دستورات SQL را روی جدول زیر اجرا میکنیم. from the Employee_Info table: */ از این دستور برای ساخت یک پایگاه داده یا جدول (Table) استفاده میشود. همانطور که از نام عبارت پیداست، از آن برای ساخت پایگاه داده استفاده میشود. از این عبارت برای ساخت جدول در پایگاه داده استفاده میشود. میتوانید از جدولی دیگر برای ساخت یک جدول استفاده کنید. از این دستور برای حذف یک پایگاه دادهی موجود استفاده میشود. پس از اجرای این دستور، تمام اطلاعات موجود در پایگاه داده از بین میرود. DROP DATABASE Employee; از این دستور برای حذف یک جدول موجود در پایگاه داده استفاده میشود. از این دستور برای حذف یک جدول موجود در پایگاه داده استفاده میشود. DROP Table Employee_Info; از این دستور برای پاک کردن اطلاعات موجود در جدول استفاده میشود. پس از اجرای این دستور، اطلاعات موجود در جدول را از دست میدهید، اما خود جدول در پایگاه داده باقی میماند. TRUNCATE Table Employee_Info; از این دستور برای حذف، تغییر یا افزودن Constraint یا ستون (Column) به جداول موجود استفاده میشود. از این دستور برای حذف، تغییر یا افزودن ستون (Column) به جداول موجود استفاده میشود. عبارت ‘ALTER TABLE’ به همراه ADD/DROP COLUMN میتوانید عبارت ALTER TABLE را طبق نیازهای خود و با استفاده از دستور ADD/DROP COLUMN تغییر دهید. از این دستور برای تغییر نوع دادهای (Datatype) یک ستون جدول استفاده میشود. از این عبارت برای بکآپ گیری کامل از یک پایگاه دادهی موجود استفاده میشود. جدول زیر را درنظر بگیرید، از آن برای توضیح انواع کلیدها در Sql server استفاده میکنیم. یکی از این کلیدهای کاندید به عنوان کلید اصلی (Primary Key) درنظر گرفته میشود. در این مثال EmployeeID را به عنوان کلید اصلی درنظر گرفتهایم. در این مثال میتوانیم EmployeeID و Month-Year_Of_Salary را با هم درنظر بگیریم و هر تاپل جدول را از سایر تاپلها جدا کنیم. آموزش کامل پایگاه داده SQL در سی شارپ (C#) دستورات Constraint در SQL چیست با این Constraint دیگر یک ستون نمیتواند مقدار NULL به خود بگیرد. با این Constraint تمام مقادیر یک ستون منحصر به فرد هستند. CONSTRAINT UC_Employee_Info UNIQUE (Employee_ID, PhoneNumber) DROP CONSTRAINT UC_Employee_Info; با این Constraint تمام مقادیر یک ستون از شرط خاصی پیروی میکنند. --CHECK Constraint on CREATE TABLE Country varchar (۲۵۵) CHECK (Country = 'India' AND Cite = 'Hyderabad') --CHECK Constraint on ALTER TABLE وقتی هیچ مقداری برای ستون مشخص نشده باشد، این Constraint حاوی مقادیر پیشفرض است. --DEFAULT Constraint on CREATE TABLE ALTER TABLE Employee_Info ALTER TABLE Employee_Info ALTER TABLE Employee_Info ALTER TABLE Employee_Info ALTER TABLE Employee_Info ALTER TABLE Employee_Info ALTER TABLE Employee_Info ALTER TABLE Employee_Info ALTER TABLE Employee_Info ALTER TABLE Employee_Info ALTER TABLE Employee_Info ALTER TABLE Employee_Info ALTER COLUMN Country DROP DEFAULT; DROP INDEX Employee_Info. در این بخش از دستورات SQL، دستوراتی را یاد میگیرید که به شما در تغییر پایگاه داده کمک میکنند. علاوه بر این دستورات، عمگرها/توابعی نیز برای تغییر دادههای پایگاه داده داریم: از عبارت USE برای انتخاب پایگاه دادهای استفاده میشود که میخواهید با آن کار کنید. از این عبارت برای افزودن رکوردهای جدید به جدول استفاده میشود. INSERT INTO Employee_Info (EmployeeID, EmployeeName, Emergency ContactName, PhoneNumber, Address, City, Country) INSERT INTO Employee_Info از این عبارت برای تغییر رکوردهای موجود در جدول استفاده میشود. از این عبارت برای حذف رکوردهای موجود در جدول استفاده میشود. DELETE FROM Employee_Info از این عبارت برای انتخاب دادههای موجود در جدول استفاده میشود و این دادهها به صورت یک جدول به نام result-set برگردانده میشوند. SELECT EmployeeID, EmployeeName -- (*) is used to select all from the table میتوانید از کلیدواژههای زیر به همراه عبارت SELECT استفاده کنید: این عبارت تنها مقادیر غیر مشابه را برمیگرداند. SELECT DISTINCT Column۱, Column۲, …ColumnNFROM TableName; SELECT DISTINCT PhoneNumber FROM Employee_Info; از عبارت ORDER BY برای مرتب کردن خروجی به صورت صعودی یا نزولی استفاده میشود. -- Select all employees from the 'Employee_Info' table sorted by EmergencyContactName: -- Select all employees from the 'Employee_Info' table sorted by EmergencyContactName in Descending order: -- Select all employees from the 'Employee_Info' table sorted by EmergencyContactName and EmployeeName: /* Select all employees from the 'Employee_Info' table sorted by EmergencyContactName in Descending order and EmployeeName in Ascending order: */ از عبارت GROUP BY برای تجمیع توابع استفاده میشود تا جدول result-set با یک یا چند ستون تشکیل شود. SELECT Column۱, Column۲,…, ColumnNFROM TableNameWHERE ConditionGROUP BY ColumnName (s) ORDER BY ColumnName (s) ; SELECT COUNT (EmployeeID) , City SELECT COUNT (EmployeeID) , City از عبارت SELECT INTO برای کپی داده از یک جدول به جدولی دیگر استفاده میشود. -- To create a backup of database 'Employee' --To select only few columns from Employee SELECT EmployeeName, PhoneNumber INTO EmployeeContactDetails عملگرهای موجود در SQL به صورت زیرند: کوچکتر مساوی [A <= B] بزرگتر مساوی [A >= B] عملگرهای منطقی موجود در SQL به صورت زیرند: از این عملگر برای فیلتر کردن رکوردهایی استفاده میشود که به بیش از یک شرط وابسته هستند. با این عملگر آن دسته از رکوردهایی که تمام شروط را (که با AND از هم جدا میشوند) رعایت و خروجی را TRUE کنند، نمایش داده میشوند. با این عملگر آن دسته از رکوردهایی که یکی از شروط را (که با OR از هم جدا میشوند) رعایت و خروجی را TRUE کنند، نمایش داده میشوند. SELECT Column۱, Column۲, …, ColumnNFROM TableNameWHERE Condition۱ OR Condition۲ OR Condition۳ …; SELECT Column۱, Column۲, …, ColumnNFROM TableNameWHERE Condition۱ OR Condition۲ OR Condition۳ …; SELECT Column۱, Column۲, …, ColumnNFROM TableNameWHERE NOT Condition; وقتی میخواهیم رکوردهای موجود در یک محدودهی مشخص را انتخاب کنیم، از این عمگلر استفاده میکنیم. SELECT * FROM Employee_Salary از این عملگر در WHERE و برای مشخص کردن الگویی خاص در یک ستون جدول استفاده میشود. SELECT ColumnName (s) FROM TableNameWHERE ColumnName LIKE pattern; در جدول زیر میتوانید الگوهای مختلفی را ببینید که ساخت آنها با عملگر LIKE ممکن است. از این عملگر برای شروط چندگانهی OR استفاده میشود. از این عملگر برای بررسی موجود بودن یا نبودن یک رکورد استفاده میشود. WHERE EXISTS (SELECT EmergencyContactName FROM Employee_Info WHERE EmployeeId = ۰۵ AND City = 'Kolkata') ; از عملگر ALL در یک WHERE یا HAVING استفاده میشود و اگر تمام پرسوجوهای داخلی، شرط را رعایت کنند، مقدار TRUE برمیگرداند. WHERE EmployeeID = ALL (SELECT EmployeeID FROM Employee_Info WHERE City = 'Hyderabad') ; WHERE EmployeeID = ANY (SELECT EmployeeID FROM Employee_Info WHERE City = 'Hyderabad' OR City = 'Kolkata') ; در این بخش از دستورات SQL، به توابع زیر میپردازیم: SELECT MIN (ColumnName) FROM TableNameWHERE Condition; SELECT MAX (ColumnName) FROM TableNameWHERE Condition; SELECT COUNT (ColumnName) FROM TableNameWHERE Condition; SELECT SUM (ColumnName) FROM TableNameWHERE Condition; SELECT AVG (ColumnName) FROM TableNameWHERE Condition; در SQL Server این تابع ISNULL () است. در این بخش از دستورات SQL، به ترتیب به معرفی Aliasها و Case میپردازیم. SELECT EmployeeID AS ID, EmployeeName AS EmpName SELECT EmployeeName AS EmpName, EmergencyContactName AS [Contact Name] این عبارت تمام شروط را بررسی میکند و زمانی که اولین شرط برقرار شد، مقداری را برمیگرداند. SELECT EmployeeName, City WHEN City IS NULL THEN 'Country is India by default' دستور Join (الحاق) در SQL الحاق داخلی (INNER JOIN): این الحاق رکوردهایی را برمیگرداند که در ستون مشترک هر دو جدول دارای مقدار یکسانی هستند. الحاق کامل (FULL JOIN): این الحاق تمام رکوردهایی را برمیگرداند که دارای مقداری مشابه در جدول سمت چپ یا راست هستند. الحاق چپ (LEFT JOIN): این الحاق مقادیر جدول چپ و مقادیری از جدول راست را برمیگرداند که در شرط صدق میکنند. بیایید برای فهم سینتکس الحاقها از جدول زیر استفاده کنیم. TechID, Employee_Info. INNER JOIN Employee_Info ON Technologies. FULL OUTER JOIN Orders ON Employee_Info. SELECT Employee_Info. SELECT Employee_Info. SELECT Employee_Info. SELECT Employee_Info. SELECT Employee_Info. SELECT Employee_Info. SELECT Employee_Info. SELECT Employee_Info. SELECT Employee_Info. SELECT Employee_Info. SELECT Employee_Info. SELECT Employee_Info. SELECT Employee_Info. SELECT Employee_Info. SELECT Employee_Info. LEFT JOIN Technologies ON Employee_Info. ORDER BY Employee_Info. ORDER BY Employee_Info. RIGHT JOIN Employee_Info ON Technologies. از این عمگلر برای ترکیب جدول result-set حاصل از دو یا چند SELECT استفاده میشود. از این عمگلر برای ترکیب دو SELECT استفاده میشود و اشتراک جداول result-set دو SELECT را برمیگرداند. FROM TableNameWHERE Condition INTERSECT SELECT Column۱ , Column۲ …. میتوانید از انواع تاریخ زیر در SQL Server استفاده و مقادیر تاریخ/زمان را در پایگاه داده ذخیره کنید. SELECT * FROM Technologies WHERE ProjectStartDate='۲۰۱۹-۰۴-۰۱' SQL Server از واژهی کلیدی IDENTITY به این منظور استفاده میکند. CREATE TABLE Employee_Info (CREATE TABLE Employee_Info (CREATE TABLE Employee_Info (CREATE TABLE Employee_Info (CREATE TABLE Employee_Info (CREATE TABLE Employee_Info (CREATE TABLE Employee_Info (CREATE TABLE Employee_Info (EmployeeName VARCHAR (۲۵۵) NOT NULLEmployeeName VARCHAR (۲۵۵) NOT NULLEmployeeName VARCHAR (۲۵۵) NOT NULLEmployeeName VARCHAR (۲۵۵) NOT NULL در این بخش از دستورات SQL، دربارهی دستوراتی صحبت میکنیم که برای اعمال امنیت پایگاه داده در محیطهای چند کاربرهی پایگاه داده استفاده میشوند. این دستور به یک کاربر مجوز دسترسی به پایگاه داده و اشیاء موجود در آن را میدهد. -- To grant SELECT permission to Employee_Info table to user۱ GRANT SELECT ON Employee_Info TO user۱; REVOKE SELECT ON Employee_Info TO user۱; برای ساخت یک ویو از جدول، از این عبارت استفاده میشود. CREATE VIEW ViewName ASSELECT Column۱, Column۲, …, ColumnNFROM TableNameWHERE Condition; برای آپدیت کردن یک ویو از این عبارت استفاده میشود. SELECT EmployeeName, PhoneNumber SELECT EmployeeName, PhoneNumber SELECT EmployeeName, PhoneNumber برای حذف یک ویو از این عبارت استفاده میشود. تریگرها (TRIGER) مجموعهای از عبارات SQL هستند که در کاتالوگ (Catalog) یک پایگاه داده ذخیره میشوند. : قبل از حذف داده از جدول فعال میشود. در این بخش از دستورات SQL دربارهی دستوراتی میآموزیم که میتوانیم از آنها برای مدیریت تراکنشهای پایگاه داده استفاده کنیم. از این دستور برای ذخیرهی تراکنش در پایگاه داده استفاده میشود. از این دستور برای برگرداندن پایگاه داده به آخرین حالت کامیت شده استفاده میشود. از این دستور برای ذخیرهی موقتی یک تراکنش استفاده میشود. حالا از پرس و جوهای SQL زیر برای فهمیدن تراکنشها در پایگاه داده استفاده کنید. INSERT INTO Employee_Table VALUES (۰۵, 'Avinash') ; UPDATE Employee_Table SET name = 'Akash' WHERE id = '۰۵'; INSERT INTO Employee_Table VALUES (۰۶, 'Sanjana') ; INSERT INTO Employee_Table VALUES (۰۷, 'Sanjay') ; INSERT INTO Employee_Table VALUES (۰۸, 'Veena') ; SELECT * FROM Employee_Table; SELECT * FROM Employee_Table; در این آموزش در کنار هم دستورات SQLای را بررسی کردیم که میتوانید با استفاده از آنها پرس و جو بنویسید و با پایگاه داده کار کنید.
متن کامل نوشته در سایت فرانش
نظرات