آموزش SQL

 
parisaexp
parisaexp
کاربر نقره ای
تاریخ عضویت : مهر 1392 
تعداد پست ها : 888
محل سکونت : اصفهان

آموزش SQL

آموزش مقدماتی SQL

آموزش SQL-مقدمه

آموزش SQL (اس کیو ال) - مقدمه

SQL (اس کیو ال) یک زبان استاندارد برای دسترسی به پایگاه داده می باشد.

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

هم اکنون یادگیری SQL را آغاز کنید!


SQL چیست؟

 

wiki

  • SQL مخفف Structured Query Language به معنی زبان جستجوی ساخت یافته است.
  • SQL به شما اجازه دسترسی و دستکاری پایگاه داده را می دهد.
  • SQL  یک استاندارد (ANSI (American National Standards Institute می باشد.

در این آموزش چه چیزهایی را فراخواهید گرفت

 

wiki

  • در این آموزش می توانید queryهایی (پرس و جوهایی) را بر روی پایگاه داده اجرا کنید.
  • در این آموزش می توانید داده ها را از پایگاه داده بازیابی کنید.
  • در این آموزش می توانید رکوردهایی را در پایگاه داده درج (insert) کنید.
  • در این آموزش می توانید رکوردهایی را در پایگاه داده تغییر دهید (به روز رسانی کنید).
  • در این آموزش می توانید رکوردهایی را از پایگاه داده حذف (delete) کنید.
  • در این آموزش می توانید پایگاه داده جدیدی را ایجاد کنید.
  • در این آموزش می توانید جدول جدیدی را در پایگاه داده ایجاد کنید.
  • در این آموزش می توانید stored procedureها (رویه های ذخیره شده) را در پایگاه داده ایجاد کنید. 
  • در این آموزش می توانید viewها را در پایگاه داده ایجاد کنید.
  • در این آموزش می توانید سطح دسترسی روی جداول، procedureها و viewها را تنظیم کنید.

SQL یک استاندارد است اما...

 

wiki

گرچه SQL یک استاندارد ANSI می باشد و نسخه های متفاوت زیادی از آن وجود دارد، اما همه نسخه های آن از فرامین اصلی حمایت می کنند. (مثل فرامین SELECT, UPDATE, DELETE, INSERT, WHERE)

توجه: بیشتر برنامه های پایگاه داده علاوه بر استاندارد SQL الحاقات اختصاصی خود را دارند. 


آموزش استفاده از SQL در وب سایت

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

  • یک برنامه سیستم مدیریت پایگاه داده رابطه ای مثل MS Access, SQL Server, MySQL
  • زبان های سمت سرور مثل PHP یا ASP
  • SQL
  • HTML / CSS

آموزش RDBMS

 

wiki

RDBMS مخفف Relational Database Management System به معنای سیستم مدیریت پایگاه داده رابطه ای است.

 RDBMS یا سیستم مدیریت پایگاه داده رابطه ای، اساسی است برای SQL و همچنین تمام سیستم های پایگاه داده ای مدرن مثل:

MS SQL Server, IBM DB2, Oracle, MySQL و Microsoft Access

داده ها در RDBMSها روی اشیایی از پایگاه داده به نام جدول ها ذخیره می شوند.

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

 

لِکُلِّ شَیْ‏ءٍ زَکَاةٌ وَ زَکَاةُ الْعَقْلِ احْتِمَالُ الْجُهَّال‏

برای هر چیزی زکاتیست و زکات عقل تحمّل نادانان است.

دوشنبه 10 آذر 1393  8:59 PM
تشکرات از این پست
moradi92 malireza
parisaexp
parisaexp
کاربر نقره ای
تاریخ عضویت : مهر 1392 
تعداد پست ها : 888
محل سکونت : اصفهان

پاسخ به:آموزش SQL

آموزش SQL-دستور زبان

جداول پايگاه داده

 

Wiki

يک پايگاه داده از يک يا چند جدول تشکيل مي شود. هر جدول با يک نام مشخص مي شود. (مثلا "Customers" يا "Orders") جداول حاوي رکوردها يا سطرهاي حاوي داده مي باشند.

در زير جدولي با نام "Persons" را مشاهده مي کنيد:

P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger

جدول فوق شامل سه رکورد (هر رکورد براي يک فرد) و پنج ستون (P_Id, LastName, FirstName, Address, and City) مي باشد.


عبارات SQL:

 

Wiki

غالب عمليات هايي که نياز داريد روي يک پايگاه داده انجام شود توسط عبارات SQL انجام مي شوند.

عبارت SQL زير، تمام رکوردهاي جدول "Persons" را انتخاب مي کند:

SELECT * FROM Persons

در اين خودآموز همه چيز در مورد عبارات SQL آموزش داده خواهد شد.


به ياد داشته باشيد که ...

  • SQL  به کوچکي و بزرگي حروف حساس نمي باشد. (case sensitive نمي باشد)


سميکالن ";" بعد از عبارات SQL نياز است يا نه؟

 

Wiki

بعضي از سيستم هاي پايگاه داده به سميکالن ";" در انتهاي عبارات SQL  نياز دارند.

 سميکالن ";" يک روش استاندارد براي جدا کردن عبارات SQL در سيستمهاي پايگاه داده اي مي باشد که اجازه مي دهند بيش از يک عبارت SQL در يک ارتباط به سرور اجرا شوند.

ما از MS Access و SQL Server استفاده مي کنيم و نيازي نيست که بعد از هر عبارت SQL سميکالن بگذاريم اما در بعضي از برنامه هاي پايگاه داده ما بايد از سميکالن استفاده کنيم.


SQL DML و SQL DDL

 

Wiki

SQL را مي توان به دو بخش تقسيم کرد: زبان دستکاري داده Data Manipulation Language  يا DML و زبان تعريف داده Data Definition Language يا DDL.

بخش SQL DML:

  • SELECT: داده را از يک پايگاه داده بيرون مي کشد.
  • UPDATE : داده اي را در يک پايگاه داده به روز رساني مي کند(تغيير مي دهد).
  • DELETE: داده را از يک پايگاه داده حذف مي کند.
  • INSERT INTO: داده جديدي را به پايگاه داده اضافه مي کند.

بخش SQL DDL: اين بخش از دستورات SQL اجازه مي دهد تا جداول پايگاه داده ايجاد يا حذف شوند. همچنين شاخصها (indexes) و کليدها را تعريف مي کند، ارتباط بين جداول و محدوديت ها را مشخص مي کند.

  • CREATE DATABASE: يک پايگاه داده جديد ايجاد مي کند.
  • ALTER DATABASE: يک پايگاه داده را تغيير مي دهد.
  • CREATE TABLE: يک جدول جديد ايجاد مي کند.
  • ALTER TABLE : يک جدول را تغيير مي دهد.
  • DROP TABLE : يک جدول را حذف مي کند.
  • CREATE INDEX : يک شاخص يا index (کليد جستجو) ايجاد مي کند.
  • DROP INDEX: يک شاخص را حذف مي کند.

لِکُلِّ شَیْ‏ءٍ زَکَاةٌ وَ زَکَاةُ الْعَقْلِ احْتِمَالُ الْجُهَّال‏

برای هر چیزی زکاتیست و زکات عقل تحمّل نادانان است.

دوشنبه 10 آذر 1393  9:01 PM
تشکرات از این پست
malireza
parisaexp
parisaexp
کاربر نقره ای
تاریخ عضویت : مهر 1392 
تعداد پست ها : 888
محل سکونت : اصفهان

پاسخ به:آموزش SQL

آموزش SQL-دستور Select

در این فصل دستور های  SELECT و * SELECT  را توضیح می دهیم.


دستور SELECT

 

Wiki

دستور SELECT برای انتخاب و بیرون کشیدن داده از پایگاه داده استفاده می شود.

نتایج در جدول نتایج که result-set نامیده می شود ذخیره می شود.

فرم دستور SELECT:

SELECT column_name(s)
FROM table_name

SELECT * FROM table_name

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


مثال:

 

Wiki

در جدول Persons:

P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger

می خواهیم محتوای ستون های "LastName" و"FirstName" را از جدول بالا انتخاب کنیم.

از دستور SELECT زیر استفاده می کنیم:

SELECT LastName,FirstName FROM Persons

result-set به صورت زیر نمایش داده خواهد شد:

LastName FirstName
Hansen Ola
Svendson Tove
Pettersen Kari

مثال *SELECT

 

Wiki

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

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

SELECT * FROM Persons

نکته: علامت ستاره (*) یک راه سریع برای انتخاب تمام ستون ها می باشد.

result-set به صورت زیر نمایش داده خواهد شد:

P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger

پیمایش در result-set یا جدول نتایج:

 

Wiki

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

Move-To-First-Record, Get-Record-Content, Move-To-Next-Record

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

لِکُلِّ شَیْ‏ءٍ زَکَاةٌ وَ زَکَاةُ الْعَقْلِ احْتِمَالُ الْجُهَّال‏

برای هر چیزی زکاتیست و زکات عقل تحمّل نادانان است.

دوشنبه 10 آذر 1393  9:02 PM
تشکرات از این پست
malireza
parisaexp
parisaexp
کاربر نقره ای
تاریخ عضویت : مهر 1392 
تعداد پست ها : 888
محل سکونت : اصفهان

پاسخ به:آموزش SQL

آموزش SQL-عبارت Distinct

در این فصل دستور SELECT DISTINCT را توضیح می دهیم.


دستور SELECT DISTINCT

 

Wiki

در یک جدول بعضی ستونها ممکن است داده های تکراری داشته باشند. بعضی مواقع شما می خواهید لیستی تهیه کنید که تنها داده های یکتا در آن باشد. یعنی همه داده ها را نشان دهد و داده های تکراری را یکبار نشان دهد.

کلید واژه DISTINCT برای برگرداندن داده های یکتا و متمایز به کار برده می شود.

فرم دستور SELECT DISTINCT:

SELECT DISTINCT column_name(s)
FROM table_name


مثال:

 

Wiki

در جدول زیر می خواهیم داده های یکتا از ستون City را بدست آوریم:

P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger

 از عبارت زیر برای این منظور استفاده می کنیم:

SELECT DISTINCT City FROM Persons

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

City
Sandnes
Stavanger
 

 

لِکُلِّ شَیْ‏ءٍ زَکَاةٌ وَ زَکَاةُ الْعَقْلِ احْتِمَالُ الْجُهَّال‏

برای هر چیزی زکاتیست و زکات عقل تحمّل نادانان است.

دوشنبه 10 آذر 1393  9:03 PM
تشکرات از این پست
malireza
parisaexp
parisaexp
کاربر نقره ای
تاریخ عضویت : مهر 1392 
تعداد پست ها : 888
محل سکونت : اصفهان

پاسخ به:آموزش SQL

آموزش SQL-عبارت Where

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


عبارت WHERE

 

Wiki

عبارت WHERE برای بیرون کشیدن رکوردهایی که در شرط خاصی صدق می کنند کاربرد دارد.

فرم عبارت WHERE:

SELECT column_name(s)
FROM table_name
WHERE column_name operator value


مثال:

در جدول Persons

P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger

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

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

SELECT * FROM Persons
WHERE City='Sandnes'

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

P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes

علامت کوتیشن در اطراف TEXT

 

Wiki

از کوتیشن در اطراف داده متنی (text) استفاده کنید (در اکثر پایگاه داده ها دابل کوتیشن " استفاده می شود.)

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

برای داده های متنی:

این عبارت صحیح است:
SELECT * FROM Persons WHERE FirstName='Tove'

این عبارت غلط است:
SELECT * FROM Persons WHERE FirstName=Tove

برای داده های عددی:

این عبارت صحیح است:
SELECT * FROM Persons WHERE Year=1965

این عبارت غلط است:
SELECT * FROM Persons WHERE Year='1965'


عملگرهای مجاز در عبارت WHERE

 

Wiki

در عبارت WHERE مجاز به استفاده از این عملگرها هستیم:

عملگر توضیحات
= مساوی است با
<> مخالف با
< بزرگتر است از
> کوچکتر است از
>= بزرگتر مساوی است با
<= کوچکتر مساوی است با
BETWEEN بین یک محدوده
LIKE به دنبال یک الگو بگرد
IN

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

توجه: در بعضی از نسخه های SQL عملگر <> به شکل =! نوشته می شود.

لِکُلِّ شَیْ‏ءٍ زَکَاةٌ وَ زَکَاةُ الْعَقْلِ احْتِمَالُ الْجُهَّال‏

برای هر چیزی زکاتیست و زکات عقل تحمّل نادانان است.

دوشنبه 10 آذر 1393  9:03 PM
تشکرات از این پست
malireza
parisaexp
parisaexp
کاربر نقره ای
تاریخ عضویت : مهر 1392 
تعداد پست ها : 888
محل سکونت : اصفهان

پاسخ به:آموزش SQL

آموزش SQL-عبارت AND-OR

عملگرهای AND و OR برای فیلتر کردن رکوردها، براساس بیشتر از یک شرط استفاده می شوند.


عملگرهای AND و OR

 

Wiki

عملگر AND رکوردی را نمایش می دهد که هم شرط اول و هم شرط دوم در آن صدق کند.

عملگر OR رکوردی را نمایش می دهد که یا شرط اول و یا شرط دوم یا هر دو در آن صدق کند.


مثالی از عملگر AND

 

Wiki

در جدول "Persons":

P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger

می خواهیم تنها افرادی را انتخاب کنیم که نام آنها مساوی "Tove" و نام خانوادگی آنها مساوی "Svendson" باشد.

برای این منظور از دستور SELECT زیر استفاده می کنیم.

SELECT * FROM Persons
WHERE FirstName='Tove'
AND LastName='Svendson'

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

P_Id LastName FirstName Address City
2 Svendson Tove Borgvn 23 Sandnes

مثالی از عملگر OR

 

Wiki

می خواهیم افرادی را که نام آنها Tove یا Ola می باشد را انتخاب کنیم:

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

SELECT * FROM Persons
WHERE FirstName='Tove'
OR FirstName='Ola'

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

P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes

ترکیب AND و OR

 

Wiki

می توانید AND و OR را با هم ترکیب کنید. (از پرانتز برای ترکیب عبارات استفاده کنید)

می خواهیم افرادی را انتخاب کنیم که نام خانوادگی آنها Svendson و نام آنها Tove یا Ola باشد.

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

SELECT * FROM Persons WHERE
LastName='Svendson'
AND (FirstName='Tove' OR FirstName='Ola')

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

P_Id LastName FirstName Address City
2 Svendson Tove Borgvn 23 Sandnes
 

 

لِکُلِّ شَیْ‏ءٍ زَکَاةٌ وَ زَکَاةُ الْعَقْلِ احْتِمَالُ الْجُهَّال‏

برای هر چیزی زکاتیست و زکات عقل تحمّل نادانان است.

دوشنبه 10 آذر 1393  9:04 PM
تشکرات از این پست
malireza
parisaexp
parisaexp
کاربر نقره ای
تاریخ عضویت : مهر 1392 
تعداد پست ها : 888
محل سکونت : اصفهان

پاسخ به:آموزش SQL

آموزش SQL-عبارت Order By

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


کلمه کلیدی ORDER BY

 

Wiki

دستور ORDER BY برای مرتب کردن نتیجه پرس و جو بر اساس ستون مشخص شده استفاده می شود.

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

اگر می خواهید رکوردها را نزولی (از بزرگ به کوچک) مرتب کنید، باید از کلید واژه DESC استفاده کنید.

فرم کلی ORDER BY:

SELECT column_name(s)
FROM table_name
ORDER BY column_name(s) ASC|DESC


مثال:

در جدول "Persons"

P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger
4 Nilsen Tom Vingvn 23 Stavanger

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

از عبارت SELECT زیر استفاده می کنیم:

SELECT * FROM Persons
ORDER BY LastName

result-set به این صورت می شود:

P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
4 Nilsen Tom Vingvn 23 Stavanger
3 Pettersen Kari Storgt 20 Stavanger
2 Svendson Tove Borgvn 23 Sandnes

مثال ORDER در حالت DESC

 

Wiki

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

از عبارت SELECT زیر استفاده می کنیم:

SELECT * FROM Persons
ORDER BY LastName DESC

result-set به صورت زیر خواهد بود:

P_Id LastName FirstName Address City
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger
4 Nilsen Tom Vingvn 23 Stavanger
1 Hansen Ola Timoteivn 10 Sandnes
 

 

لِکُلِّ شَیْ‏ءٍ زَکَاةٌ وَ زَکَاةُ الْعَقْلِ احْتِمَالُ الْجُهَّال‏

برای هر چیزی زکاتیست و زکات عقل تحمّل نادانان است.

دوشنبه 10 آذر 1393  9:05 PM
تشکرات از این پست
malireza
parisaexp
parisaexp
کاربر نقره ای
تاریخ عضویت : مهر 1392 
تعداد پست ها : 888
محل سکونت : اصفهان

پاسخ به:آموزش SQL

آموزش SQL-دستور Insert

دستور INSERT INTO برای درج کردن(واردکردن) رکورد جدید به جدول استفاده می شود.


دستور INSERT INTO

 

Wiki

دستور INSERT INTO برای درج کردن (واردکردن) سطر جدید به جدول استفاده می شود.

فرم دستور INSERT INTO

می توان دستور INSERT INTO را به دو صورت نوشت:

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

INSERT INTO table_name
VALUES (value1, value2, value3,...)

در فرم دوم هم نام ستون و هم مقادیری که باید درج شوند مشخص می شوند.

INSERT INTO table_name (column1, column2, column3,...)
VALUES (value1, value2, value3,...)


مثال:

جدول "Persons" را داریم:

P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger

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

از عبارت SQL زیر استفاده می کنیم:

INSERT INTO Persons
VALUES (4,'Nilsen', 'Johan', 'Bakken 2', 'Stavanger')

جدول "Persons" به شکل زیر خواهد شد:

P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger
4 Nilsen Johan Bakken 2 Stavanger

 سطر جدید در انتهای جدول اضافه می شود.


داده  را تنها به ستون های مشخصی اضافه کنید

 

Wiki

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

عبارت SQL زیر سطر جدیدی را اضافه می کند اما تنها داده ها را به ستون های "P_Id" و "LastName" و "FirstName" اضافه می کند.

INSERT INTO Persons (P_Id, LastName, FirstName)
VALUES (5, 'Tjessem', 'Jakob')

بنابراین جدول "Persons" به شکل زیر خواهد شد:

P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger
4 Nilsen Johan Bakken 2 Stavanger
5 Tjessem Jakob    
 

 

لِکُلِّ شَیْ‏ءٍ زَکَاةٌ وَ زَکَاةُ الْعَقْلِ احْتِمَالُ الْجُهَّال‏

برای هر چیزی زکاتیست و زکات عقل تحمّل نادانان است.

دوشنبه 10 آذر 1393  9:05 PM
تشکرات از این پست
malireza
parisaexp
parisaexp
کاربر نقره ای
تاریخ عضویت : مهر 1392 
تعداد پست ها : 888
محل سکونت : اصفهان

پاسخ به:آموزش SQL

آموزش SQL-دستور Update

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


دستور UPDATE

 

Wiki

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

فرم دستور UPDATE:

UPDATE table_name
SET column1=value, column2=value2,...
WHERE some_column=some_value

توجه: به بند WHERE در دستور UPDATE توجه کنید. بند WHERE مشخص می کند کدام رکورد یا رکوردها باید UPDATE شوند. اگر شما بند WHERE را حذف کنید تمام رکوردها UPDATE می شوند.


مثال:

در جدول Persons

P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger
4 Nilsen Johan Bakken 2 Stavanger
5 Tjessem Jakob    

می خواهیم اطلاعات شخص "Tjessem, Jakob" را در جدول فوق update کنیم(تغییر دهیم). 

از عبارت SQL زیر استفاده می کنیم:

UPDATE Persons
SET Address='Nissestien 67', City='Sandnes'
WHERE LastName='Tjessem' AND FirstName='Jakob'

جدول Persons به این شکل در خواهد آمد:

P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger
4 Nilsen Johan Bakken 2 Stavanger
5 Tjessem Jakob Nissestien 67 Sandnes

هشدار در مورد دستور UPDATE

 

Wiki

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

UPDATE Persons
SET Address='Nissestien 67', City='Sandnes'

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

P_Id LastName FirstName Address City
1 Hansen Ola Nissestien 67 Sandnes
2 Svendson Tove Nissestien 67 Sandnes
3 Pettersen Kari Nissestien 67 Sandnes
4 Nilsen Johan Nissestien 67 Sandnes
5 Tjessem Jakob Nissestien 67 Sandnes
 

 

لِکُلِّ شَیْ‏ءٍ زَکَاةٌ وَ زَکَاةُ الْعَقْلِ احْتِمَالُ الْجُهَّال‏

برای هر چیزی زکاتیست و زکات عقل تحمّل نادانان است.

دوشنبه 10 آذر 1393  9:07 PM
تشکرات از این پست
malireza
parisaexp
parisaexp
کاربر نقره ای
تاریخ عضویت : مهر 1392 
تعداد پست ها : 888
محل سکونت : اصفهان

پاسخ به:آموزش SQL

آموزش SQL-دستور Delete

دستور DELETE برای حذف رکوردها در یک جدول استفاده می شود.


دستور DELETE 

 

Wiki

دستور DELETE برای حذف سطرها در یک جدول استفاده می شود.

فرم دستور DELETE

DELETE FROM table_name
WHERE some_column=some_value

توجه: به بند WHERE در فرم دستور DELETE توجه داشته باشید. بند WHERE مشخص می کند کدام رکورد یا رکوردها باید حذف شوند. اگر بند WHERE را پاک کنید تمام رکوردها حذف خواهند شد.


مثال DELETE

 

Wiki

در جدول Persons

P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger
4 Nilsen Johan Bakken 2 Stavanger
5 Tjessem Jakob Nissestien 67 Sandnes

می خواهیم شخص "Tjessem, Jakob" را از جدول  Persons پاک کنیم.

از عبارت SQL زیر استفاده می کنیم:

DELETE FROM Persons
WHERE LastName='Tjessem' AND FirstName='Jakob'

جدول Persons به شکل زیر خواهد شد:

P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger
4 Nilsen Johan Bakken 2 Stavanger

Delete کردن تمام سطرها

 

Wiki

می توان تمام رکوردهای یک جدول را بدون Delete کردن جدول پاک کرد. این بدان معناست که ساختار، ویژگی ها و index (شاخص های جدول) به قوت خود باقی می مانند.

DELETE FROM table_name

or

DELETE * FROM table_name

توجه: بسیار مواظب باشید اگر رکوردهایی را DELETE کردید دیگر نمی توانید آنها را برگردانید.

لِکُلِّ شَیْ‏ءٍ زَکَاةٌ وَ زَکَاةُ الْعَقْلِ احْتِمَالُ الْجُهَّال‏

برای هر چیزی زکاتیست و زکات عقل تحمّل نادانان است.

دوشنبه 10 آذر 1393  9:08 PM
تشکرات از این پست
parisaexp
parisaexp
کاربر نقره ای
تاریخ عضویت : مهر 1392 
تعداد پست ها : 888
محل سکونت : اصفهان

پاسخ به:آموزش SQL

آموزش پیشرفته SQL

آموزش SQL-عملگر Like

عملگر LIKE

 

Wiki

عملگر LIKE در بند WHERE براي پيدا کردن يک الگوي خاص در يک ستون استفاده مي شود.

فرم عملگر LIKE:

SELECT column_name(s)
FROM table_name
WHERE column_name LIKE pattern


مثال عملگر LIKE

 

Wiki

در جدول Persons

P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger

مي خواهيم افرادي که در شهري زندگي مي کنند که با حرف s شروع مي شود را انتخاب کنيم.

از دستور زير استفاده مي کنيم:

SELECT * FROM Persons
WHERE City LIKE 's%'

توجه کنيد که يک الگو را در بين کوتيشن مي نويسيم.

علامت % جانشيني براي يک يا چند کاراکتر در الگو استفاده مي شود که مي تواند اين کاراکترها هر چيزي باشد.

جدول نتايج بدين شکل خواهد بود:

P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger

حال اگر بخواهيم افرادي را انتخاب کنيم که در شهري زندگي مي کنند که به کاراکتر S ختم مي شوند از دستور زير استفاده مي کنيم:

SELECT * FROM Persons
WHERE City LIKE '%s'

جدول نتايج به شکل زير خواهد بود:

P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes

حال اگر بخواهيم افرادي را انتخاب کنيم که در شهري زندگي مي کنند که حاوي کلمه "tav" در نام شهر خود مي باشند از دستور زير استفاده مي کنيم:

SELECT * FROM Persons
WHERE City LIKE '%tav%'

جدول نتايج به شکل زير خواهد بود:

P_Id LastName FirstName Address City
3 Pettersen Kari Storgt 20 Stavanger

مي شود افرادي را انتخاب کرد که در شهري زندگي مي کنند که حاوي کلمه "tav" نمي باشند. اين کار را با کليد واژه NOT قبل از عملگر LIKE انجام مي دهيم. (NOT LIKE)

از دستور زير استفاده مي کنيم:

SELECT * FROM Persons
WHERE City NOT LIKE '%tav%'

جدول نتايج به شکل زير خواهد بود:

P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
 

 

لِکُلِّ شَیْ‏ءٍ زَکَاةٌ وَ زَکَاةُ الْعَقْلِ احْتِمَالُ الْجُهَّال‏

برای هر چیزی زکاتیست و زکات عقل تحمّل نادانان است.

دوشنبه 10 آذر 1393  9:09 PM
تشکرات از این پست
parisaexp
parisaexp
کاربر نقره ای
تاریخ عضویت : مهر 1392 
تعداد پست ها : 888
محل سکونت : اصفهان

پاسخ به:آموزش SQL

آموزش SQL-کاراکترهای جایگزین

wildcard ها می توانند هنگام جستجوی داده از یک پایگاه داده مورد استفاده قرار گیرند.


Wildcardها یا کاراکترهای جایگزین در SQL

 

Wiki

Wildcardها می توانند جانشین یک یا چند کاراکتر برای جستجوی داده در یک پایگاه داده شوند.

Wildcardها باید به همراه عملگر LIKE استفاده شوند.

Wildcardهای زیر در SQL می توانند استفاده شوند: 

Wildcard توضیحات
% جانشینی برای صفر یا چند کاراکتر
_ جانشینی برای دقیقا یک کاراکتر
[charlist] کاراکترهای نوشته شده در براکت 
یا [^charlist]

           [!charlist]

به غیر از کاراکترهای نوشته شده در براکت 


 مثال Wildcardها

 

Wiki

در جدول Persons

P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger

 کاربرد %

 

Wiki

می خواهیم افرادی را انتخاب کنیم که در شهری زندگی می کنند که با sa شروع می شود.

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

SELECT * FROM Persons
WHERE City LIKE 'sa%'

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

P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes

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

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

SELECT * FROM Persons
WHERE City LIKE '%nes%'

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

P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes

کاربرد _ (زیر خط)

 

Wiki

می خواهیم افرادی را انتخاب کنیم که نام کوچک (first name) آنها با هر کاراکتری شروع شود و در ادامه حروف la آمده باشد.

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

SELECT * FROM Persons
WHERE FirstName LIKE '_la'

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

P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes

حال می خواهیم افرادی را انتخاب کنیم که نام خانوادگی (last name) آنها با s شروع می شود و بعد از آن یک کاراکتر باشد و در ادامه end باشد و بعد یک کاراکتر باشد و در ادامه on باشد.

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

SELECT * FROM Persons
WHERE LastName LIKE 'S_end_on'

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

P_Id LastName FirstName Address City
2 Svendson Tove Borgvn 23 Sandnes

کاربرد [آرایه ای از کاراکترها]

 

Wiki

می خواهیم از جدول persons افرادی را انتخاب کنیم که نام خانوادگی آنها با "b" یا "s" یا "p" شروع می شود.

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

SELECT * FROM Persons
WHERE LastName LIKE '[bsp]%'

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

P_Id LastName FirstName Address City
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger

می خواهیم از جدول persons افرادی را انتخاب کنیم که نام خانوادگی آنها با "b" یا "s" یا "p" شروع نشود.

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

SELECT * FROM Persons
WHERE LastName LIKE '[!bsp]%'

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

P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
 

 

لِکُلِّ شَیْ‏ءٍ زَکَاةٌ وَ زَکَاةُ الْعَقْلِ احْتِمَالُ الْجُهَّال‏

برای هر چیزی زکاتیست و زکات عقل تحمّل نادانان است.

دوشنبه 10 آذر 1393  9:12 PM
تشکرات از این پست
parisaexp
parisaexp
کاربر نقره ای
تاریخ عضویت : مهر 1392 
تعداد پست ها : 888
محل سکونت : اصفهان

پاسخ به:آموزش SQL

آموزش SQL-عبارت TOP

عبارت TOP

 

Wiki

 عبارت TOP برای مشخص کردن تعداد رکوردهایی که می خواهیم برگردانده شود استفاده می شود.

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

 نکته: تمام سیستم های پایگاه داده از TOP پشتیبانی نمی کنند.

فرم عبارت TOP:

SELECT TOP number|percent column_name(s)
FROM table_name


معادل SELECT TOP در MySQL و Oracle

 

Wiki

فرم آن در MySQL:

SELECT column_name(s)
FROM table_name
LIMIT number

مثال:

SELECT *
FROM Persons
LIMIT 5

فرم آن در Oracle:

SELECT column_name(s)
FROM table_name
WHERE ROWNUM <= number

مثال:

SELECT *
FROM Persons
WHERE ROWNUM <=5


مثال در SQL

 

Wiki

در جدول Persons

P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger
4 Nilsen Tom Vingvn 23 Stavanger

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

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

SELECT TOP 2 * FROM Persons

جدول نتایج result-set بدین صورت خواهد شد:

P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes

مثال TOP PERCENT

 

Wiki

در جدول Persons:

P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger
4 Nilsen Tom Vingvn 23 Stavanger

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

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

SELECT TOP 50 PERCENT * FROM Persons

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

P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
 

 

لِکُلِّ شَیْ‏ءٍ زَکَاةٌ وَ زَکَاةُ الْعَقْلِ احْتِمَالُ الْجُهَّال‏

برای هر چیزی زکاتیست و زکات عقل تحمّل نادانان است.

دوشنبه 10 آذر 1393  9:13 PM
تشکرات از این پست
parisaexp
parisaexp
کاربر نقره ای
تاریخ عضویت : مهر 1392 
تعداد پست ها : 888
محل سکونت : اصفهان

پاسخ به:آموزش SQL

آموزش SQL-عملگر IN

عملگر IN

 

Wiki

عملگر IN به شما اين امکان را مي دهد که چندين ارزش را در عبارت WHERE مشخص کنيد.

نکته اضافه: از NOT IN هم مي توانيد استفاده کنيد.

فرم عملگر IN:

SELECT column_name(s)
FROM table_name
WHERE column_name IN (value1,value2,...)

مثال:

 

Wiki

در جدول Persons:

P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger

مي خواهيم افرادي را که نام خانوادگي آنها  "Hansen" يا "Pettersen" مي باشد را انتخاب کنيم:

از دستور زير استفاده مي کنيم:

SELECT * FROM Persons
WHERE LastName IN ('Hansen','Pettersen')

جدول نتايج به شکل زير خواهد بود:

P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
3 Pettersen Kari Storgt 20 Stavanger
 

 

لِکُلِّ شَیْ‏ءٍ زَکَاةٌ وَ زَکَاةُ الْعَقْلِ احْتِمَالُ الْجُهَّال‏

برای هر چیزی زکاتیست و زکات عقل تحمّل نادانان است.

دوشنبه 10 آذر 1393  9:14 PM
تشکرات از این پست
parisaexp
parisaexp
کاربر نقره ای
تاریخ عضویت : مهر 1392 
تعداد پست ها : 888
محل سکونت : اصفهان

پاسخ به:آموزش SQL

آموزش SQL-عملگر Between

عملگر BETWEEN در عبارت WHERE برای انتخاب محدوده ای از داده ها بین دو مقدار استفاده می شود. 


عملگر BETWEEN

 

Wiki

عملگر BETWEEN یک محدوده از داده ها بین دو مقدار را انتخاب می کند. مقدارها می توانند اعداد، متن ها و تاریخ باشد.

نکته اضافه: از NOT BETWEEN هم می شود استفاده کرد.

فرم عملگر BETWEEN:

SELECT column_name(s)
FROM table_name
WHERE column_name
BETWEEN value1 AND value2

مثال 1

 

Wiki

در جدول Persons:

P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger

می خواهیم افرادی را انتخاب کنیم که نام خانوادگی آنها از نظر الفبایی بین Hansen و Pettersen می باشد.

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

SELECT * FROM Persons
WHERE LastName
BETWEEN 'Hansen' AND 'Pettersen'

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

P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes

توجه: عملگر BETWEEN در پایگاه داده های متفاوت رفتارهای متفاوتی دارد.

در بعضی از پایگاه داده ها، افرادی با نام خانوادگی Hansen یا Pettersen لیست نمی شوند، زیرا عملگر BETWEEN فیلدهای بین دو مقدار را بجز مقادیر ابتدا و انتهای محدوده برمی گرداند.

در بعضی دیگر از پایگاه داده ها، افرادی با نام خانوادگی Hansen یا Pettersen لیست می شوند، زیرا عملگر BETWEEN فیلدهای بین دو مقدار رابه همراه مقادیر ابتدا و انتهای محدوده برمی گرداند.

در بعضی دیگر از پایگاه داده ها، افرادی با نام خانوادگی Hansen لیست می شوند اما نام خانوادگی Pettersen در لیست نمی آید (مانند مثال بالا)، زیرا عملگر BETWEEN فیلدهای بین دو مقدار رابه همراه مقدار ابتدایی و بدون مقدار انتهایی محدوده برمی گرداند.

بنابراین: پایگاه داده خود را کنترل کنید که چگونه با عملگر BETWEEN رفتار می کند.


مثال 2

 

Wiki

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

SELECT * FROM Persons
WHERE LastName
NOT BETWEEN 'Hansen' AND 'Pettersen'

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

P_Id LastName FirstName Address City
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger
 

 

لِکُلِّ شَیْ‏ءٍ زَکَاةٌ وَ زَکَاةُ الْعَقْلِ احْتِمَالُ الْجُهَّال‏

برای هر چیزی زکاتیست و زکات عقل تحمّل نادانان است.

دوشنبه 10 آذر 1393  9:15 PM
تشکرات از این پست
دسترسی سریع به انجمن ها