ParsX.com
پذیرش پروژه از دانشجویی ... تا سازمانی 09376225339
 
   ProfileProfile   Log in to check your private messagesLog in to check your private messages  |  FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups Log inLog in   RegisterRegister 

مقدمه اي بر SQL ‌و اشنايي با select و where

 
Post new topic   Reply to topic    ParsX.com Forum Index -> اس . كيو . ال SQL
View previous topic :: View next topic  
Author Message
vahid
بي تو هرگز


Joined: 26 Nov 2004
Posts: 3067
Location: Tehran

PostPosted: Wed Dec 22, 2004 4:56 pm    Post subject: مقدمه اي بر SQL ‌و اشنايي با select و where Reply with quote

Quote:
What Is SQL ?

SQL مخفف Structured Query Language ميباشد كه خوانده ميشود ess-que-el
SQL براي ارتباط با يك بانك اطلاعاتي استفاده ميشود . اين زبان كه بر طبق سازمان استاندارد سازي زبانها ANSI American National Standard Institute تنظيم شده است براي مديريت سيستمهاي بانكهاي اطلاعاتي رابطه اي به كار ميرود . دستورات SQL بيشتر براي انجام عملياتي همچون بروز رساني و يا پاك كردن و اضافه كردن مطالب به بانك اطلاعاتي است . بعضي نرم افزارهاي مديريت بانك اطلاعاتي همچون Access , DB2 , Informix , Oracle , SQL Server , Sybase , Ingres و غيره از اين زبان استفاده ميكنند . البته هر كدام از اين سيستمها داراي SQL با مشخصات خاص خودشان هستند اما بعضي دستورات همچون Select , Insert , Update , Delete , Create و Drop تقريبا در تمامي اينها با كمي تفاوت مشابه است . سعي ميكنم تا حد توان ا انجايي كه بتوانم وارد اين دستورات شده و تك تك انها را بررسي كنم .
SQL ميتواند ركوردها را از جدولي پاك كند يا اضافه كند . ميتواند همانطور كه گفتم جداول را بروز كند . و ميتواند ازجداول كپي برداري كند . به هر حال فراگيري SQL ساده و اسان است .
جدول چيست ؟ TABLE
يك سيستم مديريت بانك اطلاعاتي رابطه اي از چندين شئ تشكيل ميشود كه يكي از اين اشياء مهم جداول هستند . داده ها و اطلاعات بانك اطلاعاتي در اين جداول ضبط ميشوند . جداول همانطور كه از نامشان پيداست مشخصند كه چه هستند . هر جدول داراي سطرها و ستونهايي است . ستونهاي جدول داراي نام , نوع و ديگر خصيصه ها attribute هستند . در اين جداول كليه عناصر ستون از يك نوع هستند . مثلا همگي با هم عدد هستند يا متن يا هر چيز ديگري . رديفها يا ركوردها كه سطرهاي جدول را تشكيل ميدهند متشكل از كليه ستونهاي ان جدول در يك سطر هستند در واقع مجموعه اطلاعاتي كه مرتبط با هم هستند در يك سطر اورده ميشوند . جدول زير را ببينيد .
Lastname را يك ستون گوييم كه بر هر يك از سلولهاي اين ستون يك فيلد ميگوييم . Firstname و Address و city نيز هر كدام يك ستون هستند .
اين جدول سه سطر دارد كه مشخصات سه فرد را به ما ميدهد. كه هر كدام از اين سطرها از مجموعه ستونها تشكيل شده است .
LastName | firstName |Address         | City
vahid        | imani        | Tehran 10     |Tehran
arash        | vishoniee  | roodehen 23 |Tehran
amir        | matrixi      | karaj20         |isfahan

دستور SELECT

اين دستور براي پرس و جو از بانك اطلاعاتي به كار ميرود . در اين دستور داده اي را از جدول انتخاب كرده و نمايش ميدهيم . اين دستور با شرايطي كه نويسنده دستور براي ان ذكر ميكند به كار ميرود : نوع قالب اصلي اين دستور به اين شرح است :
select "column1"
  [,"column2",etc]
  from "tablename"
  [where "condition"];

عباراتيكه در قالب فوق درون كروشه ميبينيد بيانگر اختياري بودن دستورات هستند . در دستور فوق به جاي column از نام ستون استفاده ميكنيد . اگر خواستيد كليه ستونهاي يك جدول را بازيابي كنيد كافيست بجاي نوشتن تك تك ستون ها از * استفاده كنيد .
بعد از دستور from نام جدولي كه ميخواهيم فيلد مربوطه را بازيابي كنيم مينويسيم . براي where ميتوان شرطي گذاشت كه از عملگرهاي > , < , >= , <= , <> , = , LIKE , Between استفاده كند .
در بعضي بانكهاي اطلاعاتي بايد از سميكالن ; در انتهاي دستور استفاده كرد . اما استفاده از ان در بانكهاي اطلاعاتي چون Access و SQL server اختياري است .
SQL Data Manipulation Language (DML)
SQL داراي دستوراتي براي ساخت گزارشهاست . اما زبان SQL شامل دستوراتي است كه براي بروزرساني و قراردادن پاك كردن دكوردها به كار ميروند . اين دستورات در دسته DML ها هستند . كه براي دستكاري داده ها به كار ميروند .
SELECT , UPDATE , DELETE , INSERT INTO در اين دسته هستند .
SQL Data Definition Language (DDL)
بخشي از دستورات SQL كه براي ساخت و يا پاك كردن جداول به كار ميروند در اين دسته قرار ميگيرند . دستورات مهم اين بخش شامل : Create Table , ALTER TABLE , DROP TABLE , VREATE INDEX , DROP INDEX ميباشد .
استفاده از دستور DISTINCT در دستور select باعث ميشود انتخابات ما همگي بصورت منحصر بفرد در خروجي نمايش داده شود . فرضا دستور زير :
SELECT DISTINCT Company FROM jadvalname

اين دستوراز كليه ركوردهاي جدول تنها يك نمونه نشان ميدهد در خروجي ركورد تكراري نخواهيم داشت ..
بنابراين چند مثال از دستورات ساده select مي اورم :
select column1 from jadval1 ;

اين دستور column1 را از جدول jadval1 استخراج ميكند و به شما نمايش ميدهد .
select DISTINCT column1 from jadval1 ;

اين دستور كليه ركوردهاي فيلد column1 را از جدول jadval1 استخراج ميكند منتهي بصورت منحصر فرد و ركوردهاي تكراري را نشان نميدهد . .
select DISTINCT column1,column2 from jadval1 ;

اين دستور كليه محتويات دو فيلد column1 و column2 را از جدول jadval1 را استخراج ميكند
بصورت منحصر بفرد
select cloumn1,column2 from jadval2 ;

ستونهاي column1 , column2 را از جدول jadval2 استخراج ميكند .
select * from jadval2

كليه ستونهاي جدول jadval2 را نمايش ميدهد . در واقع همان جدول را بدون تغيير نمايش ميدهد .
select firstname, lastname from student ;

ستونهاي firstname و lastname را از جدول student استخراج ميكند . در واقع نام و نام خانوادگي دانش اموزاني كه اطلاعات انها در student است را نمايش ميدهد .
دستور where
هر وقت از دستور select استفاده كرديد ميتوانيد از دستور Where براي شرط گذاري بر دستور select نيز استفاده كنيد .
SELECT column FROM table
WHERE column operator value

عملگرهاي where بترتيب تساوي = عدم تساوي <> بزرگتر > كوچكتر < و كوچكتر مساوي <= و بزرگتر مساوي >= و بالاخره between و like ميباشند . توجه داشته باشيد كه در بعضي زبانهاي SQL بجاي <> از != استفاده ميكنند .
مثلا براي انتخاب كردن فردي از جدول persons كه در شهر تهران زندگي ميكند . كه البته در ان جدول ستوني بنام city وجود دارد از
SELECT * From Persons where City=’Tehran’

از تك كوتيشن به ان سبب كه نوع فيلد city از نوع text است استفاده كرديم .
در بعضي نسخه هاي SQL از جفت كوتيشن استفاده ميشود اما يادتان باشد كه اگر نوع فيلد ما عددي بود نبايد از كوتيشن استفاده كنيم
SELECT * from persons where year >1984

اين دستور غلط است :
SELECT * from persons where year>’1984’

براي LIKE ميتوان از % يا * استفاده كرد . اين دو علامت يعني انكه هر چه بعد از ان يا هر چه قبل از ان ( كاراكتر ) بود مثال زير را ببينيد
SELECT * from persons where firstname LIKE ‘%a’
select * from persons where firstname like ‘*a*’

با تشكر از استاد رئوف مكفي
Back to top
mhad14612
مهمون يكي دو روزه


Joined: 02 Jan 2005
Posts: 1

PostPosted: Sun Jul 03, 2005 8:05 am    Post subject: سري يه قبل هم گفته بودم گل بگيريد .... Reply with quote

سلام
فكر كنم يكبار بيشتر نميگن
بابا جون گل بگيريد در سايت تونو بي زحمت
Laughing
يه انتقاد : چرا مطالب SQL كه نوشتيد صفحه بندي و منظم نيست؟
يه پيشنهاد : صفحه بندي كنيد كه راحت آدم ( Rolling Eyes ) بتونه مطالب رو دنبال كنه.
موفق باشيد.
محمد
Back to top
vahid
بي تو هرگز


Joined: 26 Nov 2004
Posts: 3067
Location: Tehran

PostPosted: Sun Jul 03, 2005 12:45 pm    Post subject: Reply with quote

در مورد گل گرفتن بايد رسما درخواست كنيد Wink
فهرست مطالب رو ميتوني تو اولين پست ببيني :
http://computer.parsx.com/viewtopic.php?t=200
Back to top
Display posts from previous:   
Post new topic   Reply to topic    ParsX.com Forum Index -> اس . كيو . ال SQL All times are GMT + 3.5 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum