انجمن برنامه نویس

آموزش : آموزش مفهومی sqlI

شروع موضوع توسط Ehsan HP ‏15/8/14 در انجمن پایگاه داده MySQL

گنجینه های
برنامه نویسی
فیلم های آموزشی
زبان های برنامه نویسی
فیلم های آموزشی
پروژه محور C#
فیلم های آموزشی
برنامه نویسی اندروید
فیلم های آموزشی
طراحی سایت
فیلم های آموزشی
برنامه نویسی پایه
گنجینه برنامه نویسی C# آموزش برنامه نویسی C سیستم مدیریت بانک آموزش اندروید - مقدماتی آموزش زبان HTML اصول و مبانی برنامه نویسی
گنجینه آموزش ASP .Net آموزش برنامه نویسی C++‎ پیاده سازی مدیریت آتلیه آموزش اندروید - تکمیلی آموزش زبان CSS آموزش الگوریتم و فلوچارت
گنجینه برنامه نویسی PHP آموزش برنامه نویسی C# پیاده سازی سیستم هتلداری آموزش اندروید - پیشرفته آموزش زبان Java Script آموزش تبدیل فلوچارت به کد
گنجینه آموزش طراحی وب آموزش برنامه نویسی جاوا شبیه سازی دستگاه عابربانک آموزش ساخت لیست ایمیل آموزش زبان jQury برنامه نویسی اسمال بیسیک
گنجینه برنامه نویسی متلب آموزش برنامه نویسی PHP پیاده سازی مدیریت آموزشگاه آموزش ساخت گالری تصاویر آموزش زبان XML آموزش برنامه نویسی اسمبلی
گنجینه برنامه نویسی اندروید آموزش برنامه نویسی پایتون پیاده سازی سیستم صدور بلیت آموزش کنترل ربات با اندروید آموزش طراحی Responsive طراحی سایت ویژه کودکان
گنجینه برنامه نویسی VB .Net آموزش برنامه نویسی اندروید پیاده سازی سیستم نوبت دهی آموزش ارتباط با دیتابیس سرور ساخت سایت خبری کدنویسی سریع با Emmet
گنجینه زبان های برنامه نویسی آموزش برنامه نویسی زبان R سیستم حسابداری و انبارداری زبان بیسیک فور اندروید (B4A) ساخت سایت فروشگاه آموزش کار با پایگاه داده
  1. Ehsan HP
    karbar Rank

    تاریخ عضویت:
    ‏15/8/14
    ارسال ها:
    14
    تشکر شده:
    13
    امتیاز دستاورد:
    0
    با سلام
    این تاپیک به تاپیک آموزش خوب هست و اولین تاپیکی هست که در انجمن برنامه نویس ایجاد میکنم هست.
    در این تاپیک آموزش ها ی sqli به صورت متنی قرار میگیرند.
    دوستان دقت کنید که این آموزش ها رو من درست نکردم و منبع این آموزش ها آشیانه است.
    خوب از تاپیک بعد آموزش ها رو براتون قرار می دم.
    و راستی لطفا اسپم ندید سوال داشتید از طریق پیام خصوصی اعلام کنید
    با تشکر و آرزوی موفقیت و سربلندی
     
    elahi از این پست تشکر کرده است.
  2. Ehsan HP
    karbar Rank

    تاریخ عضویت:
    ‏15/8/14
    ارسال ها:
    14
    تشکر شده:
    13
    امتیاز دستاورد:
    0
    پاسخ : آموزش مفهومی sqlI

    سلام
    در اين مقاله قصد دارم طوری sql رو آموزش بدم که تا حالا نديدم کسی آموزش بده ؛يعنی مفهومی آموزش بدم .طوری که حتّی بتونيد دستورات ابتکاری بسازيد...
    منبع:
    www.w3schools.com/SQl/default.asp
    en.wikipedia.org/wiki/SQL
    dev.mysql.com/doc/mysql/en/index.html
    ----------------------------------------------------------------------------------------------------------------------------------
    مقدّمه

    sql چيست؟
    sql مخفّف "Structured Query Language" است.
    sql يک زبان استاندارد است که به شما اجازه ی دسترسی و دستکاری در منابع اطّلاعاتی سايت تان را می دهد.

    sql چه کار می کند؟
    sql می تواند منابع اطّلاعاتی جديدی برای شما ايجاد کرده و جدول های جديدی در آن ايجاد کند.
    sql می تواند دستورات شما را (مانند نمايش محتويات منابع اطّلاعاتی سايت شما ،تغيير آنها ،اضافه کردن اطّلاعات ،به روز کردن اطّلاعات ،حذف اطّلاعات و ...) در منابع اطّلاعاتی سايت تان اجرا کند و تغييرات حاصل را به شما نمايش دهد.
    sql می تواند سطح دسترسی اطّلاعات را برای کاربران مختلف (از جمله کاربران ناشناس اينترنت) تغيير دهد و جلوی دسترسی های غير مجاز را گرفته و در نهايت امنيت اطّلاعات محرمانه ی سايت شما را تامين نمايد.

    sql استاندارد است ولی ...
    sql تحت استاندرد ملّی ايالات متّحد (ANSI) است ولی نسخه های متفاوتی از آن وجود دارد (مانند MySql ,MsSql Server ,oracle ,IBM DB2 ,...).
    البته تعداد زيادی از دستورات آن (از جمله دستورات اوّليه اين مقاله) مشترک است ( مانند SELECT, UPDATE, DELETE, INSERT, WHERE) .
    ___________________________________________________________________________________________
     
    elahi از این پست تشکر کرده است.
  3. Ehsan HP
    karbar Rank

    تاریخ عضویت:
    ‏15/8/14
    ارسال ها:
    14
    تشکر شده:
    13
    امتیاز دستاورد:
    0
    پاسخ : آموزش مفهومی sqlI

    قبل از شروع بهتر است که مفهوم تعدادی از لغات مورد استفاده در در اين مقاله را شرح دهم:
    database = منبع اطّلاعات - هر سايت می تواند از تعداد نامحدودی منبع اطّلاعات تشکيل شده باشد که هر کدام بخشی از اطّلاعات سايت را که به يک موضوع مشخص مربوط است را شامل می شود.
    table = جدول - هر منبع اطّلاعاتی شامل تعداد نامحدودی جدول است.
    column = ستون - هر جدول از تعداد نامحدودی ستون تشکيل شده است.
    record = سطر ،رکورد ، row - در جدول ها اطّلاعات را در سطر ها نمايش می دهند ؛ در حقيقت sql فقط بين اطّلاعات ستون ها ارتباط برقرار می کند.
    برای فهم بهتر يک مثال ملموس ميزنم ؛جدول برنامه ی هفتگی !
    اين جدول (معمولا) 5 ستون دارد (روز ،زنگ اوّل ،زنگ دوّم ،زنگ سوّم و زنگ چهارم) و معمولاً 6 سطر دارد.

    کد:
    Sorry, you need to register or login to see this BBcode !
    در اين مثال نام منبع اطّلاعات ما school ،نام جدول ما lessons ،نام ستون ها day ,1st ,2nd ,3rd ,4th است ؛همچنين نام روز های ما 0sh تا 5sh و نام درس ها lesson01 تا lesson08 است (در اين مثال برنامه ی 6 روز و 8 درس و 4 زنگ را در اين جدول قرار داده ام) .
    نکته: sql به بزرگی و کوچکی حروف حسّاس نيست.
     
    sama و elahi از این پست تشکر کرده اند.
  4. Ehsan HP
    karbar Rank

    تاریخ عضویت:
    ‏15/8/14
    ارسال ها:
    14
    تشکر شده:
    13
    امتیاز دستاورد:
    0
    دستور Select

    تا اينجا با مفاهيم اصولی sql آشنا شديد .حالا به دستورات ساده می پردازيم .البته در بعداّ با کاربرد اين فرامين در نفوذ به سايت ها آشنا می شويد.
    ------------------------------------------------------------------------------------------------------------------------------------------------------------
    دستور Select:
    اين دستور اطّلاعات يک جدول را نمايش می دهد و هم زمان به طور موقت در جدول result-set ثبت می کند.
    کد:
    Sorry, you need to register or login to see this BBcode !
    نکته:
    دستور : SELECT FROM table_name
    نتيجه : تمام داده های جدول را برمی گرداند.

    نکته: اگر بعد از عبارت select ،عبارت DISTINCT را قرار دهيم ،سطر های تکراری حذف می شوند.

    نکته :موقع برنامه نويسی به اين زبان بايد آدرس کامل جدول رو ذکر کنيم ؛اينجوری:
    کد:
    Sorry, you need to register or login to see this BBcode !
    بعدها توضيح ميدم که اين نکته چه فايده اي در هک داره.

    مثال:
    دستور : select day from lessons
    نتيجه : 0sh,1sh,3sh,4sh,5sh
     
    sama و elahi از این پست تشکر کرده اند.
  5. Ehsan HP
    karbar Rank

    تاریخ عضویت:
    ‏15/8/14
    ارسال ها:
    14
    تشکر شده:
    13
    امتیاز دستاورد:
    0
    دستور where:

    دستور where:
    اين دستور عمليات قبل از خود را ،محدود به سطر هايی می کند که شرط بعد از where برای شان صحيح باشد.
    کد:
    Sorry, you need to register or login to see this BBcode !
    ليست operator ها:
    = : مساوی.
    <> : مخالف يا نا مساوی.
    =< : کوچک تر مساوی.
    => : بزرگ تر مساوی.
    < : کوچک تر.
    > : بزرگ تر.
    between : عبارت داخل ستون مشخص شده در يک رنج مشخص باشد.
    like : در عبارت داخل ستون مشخص شده ، value را جستجو می کند.
    in : اگر عبارت داخل ستون دقيقاً برابر value باشد.

    نکته: اگر value عددی باشد نيازی به ' نيست ولی اگر از نوع char باشد بايد داخل ' قرار بگيرد.
    نکته: می توانيد با استفاده از عبارت های or و and به طور هم زمان چند شرط را مورد پرسش قرار دهيد.مانند:
    کد:
    Sorry, you need to register or login to see this BBcode !
    همچنين برای مورد پرسش قرار دادن بيش از 2 شرط می توانيد از ( و ) استفاده کنيد.مانند:
    کد:
    Sorry, you need to register or login to see this BBcode !
    مثال:
    select * from lessons where day='2sh' : Query
    نتيجه : تمام داده های ستری که محتوای ستون day آن 2sh است (درس های روز دوشنبه) .
     
    sama و elahi از این پست تشکر کرده اند.
  6. Ehsan HP
    karbar Rank

    تاریخ عضویت:
    ‏15/8/14
    ارسال ها:
    14
    تشکر شده:
    13
    امتیاز دستاورد:
    0
    توضيحات تکميلی operator های like, between, in :

    توضيحات تکميلی operator های like, between, in :
    کد:
    Sorry, you need to register or login to see this BBcode !
    اين operator در واقع عبارت pattern را در محتوای سطر های ستون مشخص شده جستجو مي کند .
    نکته ی اصلی اين دستور در عبارت pattern است ؛ما ميتونيم از پيشوند ها و پسوند های (اصطلاحاً Wildcard) زير استفاده کنيم :
    مثال ها:
    کد:
    Sorry, you need to register or login to see this BBcode !
    اين دستور برای وقتی هست که مثلاً ما نميدونيم که نام روز يکشنبه 1sh هست يا 1shanbe ؛در اين صورت اين علامت به جای بقيه ی اسم (که نمي دانيم چيست) می نشيند (بقيه ی اسم ميتواند خالی هم باشد).
    کد:
    Sorry, you need to register or login to see this BBcode !
    اين علامت جايگزين يک حرف در محتوای ستون می شود که ما نميدانيم چيست (اين حرف جا افتاده ميتواند اوّل، وسط يا آخر کلمه باشد). بنابراين اين دستور تمام جدول را برميگرداند.
    کد:
    Sorry, you need to register or login to see this BBcode !
    اين دستور به اين معناست که محتوای ستون زنگ اوّل از سطر مورد نظر با 1 يا 3 تمام می شود. پس اين دستور سطر هايی را برميگرداند که زنگ اوّل درس 1 يا 3 دارند.
    کد:
    Sorry, you need to register or login to see this BBcode !
    کد:
    Sorry, you need to register or login to see this BBcode !
    اين دستور در 3 حالت کاربرد دارد:
    عددی: سطری را برميگرداند که عدد ستون مورد نظر آن ميان value1 و value2 باشد.
    حرفی: سطری را برميگرداند که محتوای ستون مورد نظر آن (بر اساس ترتيب حروف الفبا) ميان value1 و value2 باشد.
    تاريخ: سطری را برميگرداند که تاريخ ستون مورد نظر آن ميان value1 و value2 باشد (بايد نوع ورودی آن ستون را date وارد کرده باشيم).

    نکته: در برخی نسخه های sql ،اين اپراتور value1 و value2 را هم حساب مي کند ولی در برخی هيچ کدام را حساب نمي کند و در برخی هم دوّمی را حساب نمي کند!
    کد:
    Sorry, you need to register or login to see this BBcode !
    و در نهايت اپراتور IN هنگامی به کار مي رود که بخواهيم بگوئيم که محتوای ستون مورد نظر ،يکی از value های داخل پرانتز باشد يا اصلاً نباشد.
     
    elahi از این پست تشکر کرده است.
  7. Ehsan HP
    karbar Rank

    تاریخ عضویت:
    ‏15/8/14
    ارسال ها:
    14
    تشکر شده:
    13
    امتیاز دستاورد:
    0
    دستور order و insert:

    دستور order:
    وظيفه ی اين دستور مرتّب کردن جدول بر اساس يک ستون است.

    کد:
    کد:
    Sorry, you need to register or login to see this BBcode !
    اين دستور جدول را بر اساس ستونی با نام column_name يا بر اساس ستون شماره ی column_number مرتّب می*کند.البته با اضافه کردن desc به ترتيب معکوس مرتّب می*شود .
    اين دستور در بيرون کشيدن اطّلاعات از جدول خيلی کمک می*کند ؛امّا کمی دندان روی جگر بگزاريد ... به آن هم می*رسيم.

    مثال:
    دستور : select * from lessons order by day یا select * from lessons order by 1
    نتيجه : تمام داده های جدول ،که بر اساس ستون اوّل (روز) مرتّب شده اند.
    --------------------------------------------------------------------------------------------------------------------------------------
    دستور insert:
    اين دستور يک سطر به جدول اضافه می*کند.

    کد:
    کد:
    Sorry, you need to register or login to see this BBcode !
    که در اين دستور يک سطر با جدول table_name اضافه کرده و مقدار تمام ستون*ها را به ترتيب برابر مقادير داخل پرانتز قرار می*دهد.
    کد:

    کد:
    Sorry, you need to register or login to see this BBcode !
    تفاوت اين دستور با دستور قبلی در اين است که در دستور دوّم می*توانيد برخی ستون*ها را خالی بگزاريد و فقط تعدادی که برای تان مهم است را مقدار دهی کنيد.

    نکته: اگر بخواهيم هم زمان چند سطر اضافه کنيم بايد بين صورت:
    کد:

    کد:
    Sorry, you need to register or login to see this BBcode !
    يا به اين صورت:
    کد:

    کد:
    Sorry, you need to register or login to see this BBcode !
    عمل کنيم.
    نکته: در بعضی از نسخه های sql حتماً بايد به اين صورت:
    کد:

    کد:
    Sorry, you need to register or login to see this BBcode !
    عمل کرد (همه ی ستون ها را نام ببريد) ،البته ميتوانيد ستون*هايی را که مي*خواهيد خالی بمانند را با '' پر کنيد (بين دو ' هيچ حرفی نگذاريد) ؛يعنی به جای :
    کد:

    کد:
    Sorry, you need to register or login to see this BBcode !
    از :
    کد:

    کد:
    Sorry, you need to register or login to see this BBcode !
    استفاده کنيد.
     
    elahi از این پست تشکر کرده است.
  8. Ehsan HP
    karbar Rank

    تاریخ عضویت:
    ‏15/8/14
    ارسال ها:
    14
    تشکر شده:
    13
    امتیاز دستاورد:
    0
    دستور update و delete:

    دستور update:
    اين دستور مقادير يک يا چند ستون از يک سطر از جدول را تغيير می*دهد.


    کد:
    Sorry, you need to register or login to see this BBcode !
    نکته: در اين دستور بهتر است از دستور where استفاده کنيد ولی در غير اين صورت مقادير تمام ستون*ها برابر همان مقدار*هايی می*شود که شما وارد کرده ايد ؛(يعنی مقدار تمام ستون*ها برابر می*شود) .

    مثال:
    UPDATE lessons SET 1st='lesson01' , 2st='lesson01' WHERE day='2sh' : query
    نتيجه : دوشنبه زنگ اوّل و دوّم درس شماره ی 1 را داريم .
    ------------------------------------------------------------------------------------------------------------------------------------------
    دستور delete:
    اين دستور يک سطر را از جدول حذف می*کند.


    کد:
    Sorry, you need to register or login to see this BBcode !
    اين دستور سطری از جدول را که شرط مشخص شده در آن درست است را حذف می*کند.
    در اين دستور بهتر است از دستور where استفاده کنيد ولی در غير اين صورت مقادير تمام ستون*ها را حذف می*کند.
     
    elahi از این پست تشکر کرده است.
  9. Ehsan HP
    karbar Rank

    تاریخ عضویت:
    ‏15/8/14
    ارسال ها:
    14
    تشکر شده:
    13
    امتیاز دستاورد:
    0
    دستور top و limit :

    قبل از اينکه دستور جديد رو توضيح بدم ،اين نکته رو بگم که من ترتيب موضوع ها رو بر اساس سايت w3schools.com انتخاب ميکنم ،بنابراين نگران نباشين که مثلاً چرا فلان دستور که اين قدر مهم هست رو آموزش ندادم و ...
    در ضمن اينم بگم که از الان به بعد (طبق سايت w3schools.com) وارده دستورات يه خورده تخصصی تر ميشيم ... و بعضياشون در همه ی نسخه های sql وجود ندارند.
    ---------------------------------------------------------------------------------------------------------------------------------------------------
    نکات کلّی:
    دقت کنيد که نام منبع اطّلاعات يا جدول*ها يا ستون*ها ،نبايد در ' قرار بگيرد؛
    در سطر*ها هم اگر ورودی از نوع char بود بايد داخل ' باشد ولی اگر عددی بود ،نبايد داخل ' باشد؛
    همچنين توجه کنيد که معمولا در sql می*توان از " هم به جای ' استفاده کرد.

    برای امتحان اين دستورات می*توانيد روی سيستم خود سرور راه بياندازيد يا آنکه در سايت زير دستورات را امتحان کنيد:
    http://w3schools.com/sql/sql_tryit.asp
    ---------------------------------------------------------------------------------------------------------------------------------------------------
    دستور TOP و LIMIT :
    اين دستور برای محدود کردن تعداد سطر هايی که برگردانده ميشوند استفاده ميشود؛ مثلاً اگر جدول 1000 سطر داشته باشد که با شرط ما هماهنگ باشند ،در اين صورت ديدن همه ی آنها با هم ممکن است به server صدمه وارد کند ،يا به دليل پهنای باند کم نتوانيم آنها را مشاهده کنيم.


    کد:
    Sorry, you need to register or login to see this BBcode !
    مثال ها:

    کد:
    Sorry, you need to register or login to see this BBcode !
    هر سه دستور دو سطر اوّل از جدول را برميگردانند .


    کد:
    Sorry, you need to register or login to see this BBcode !
    و اين دستور نصف سطر ها را برميگرداند.

    ياد آوری: برای ديدن مثلاً دو سطر آخر مي توان از دستور order by استفاده کرد؛ اينجوری:


    کد:
    Sorry, you need to register or login to see this BBcode !
     
    elahi از این پست تشکر کرده است.
  10. Ehsan HP
    karbar Rank

    تاریخ عضویت:
    ‏15/8/14
    ارسال ها:
    14
    تشکر شده:
    13
    امتیاز دستاورد:
    0
    اسم مستعار و join:

    سم مستعار (!) در sql:
    در sql شما ميتوانيد برای کوچک تر کردن اسم جدول ها و ستون ها ، برای آنها نام مستعار انتخاب کنيد.
    البته اين دستور در حمله به سايت ها کاربرد ندارد ؛ولی برای اينکه تاپيک از هر لحاظ کامل باشد ،اين را هم کوتاه توضيح ميدهم.


    کد:
    Sorry, you need to register or login to see this BBcode !
    مثال:


    کد:
    Sorry, you need to register or login to see this BBcode !
    بدون استفاده از نام مستعار:


    کد:
    Sorry, you need to register or login to see this BBcode !
    ------------------------------------------------------------------------------------------------------------------------
    دستور JOIN:
    اين دستور وقتی به کار ميره که ما ميخواهيم بين دو جدول که يک ستون مشترک دارند ارتباط برقرار کنيم و هر دو جدول رو با هم ببينيم.
    مثلاً ما يک جدول ديگه داريم که برنامه ی کلاس های فوق برنامه رو نشون ميده ،توی اون هم يک ستون به نام روز هست با اين تفاوت که پنجشنبه نداره ولی جمعه داره ؛در اين مثال ما با ميتونيم از 4 دستور استفاده کنيم که يکی يکی توضيح ميدم:

    کد:
    Sorry, you need to register or login to see this BBcode !
    اين دستور سطر هايی رو برميگرداند که حداقل يک شباهت داشته باشند.
    مثال:
    کد:
    کد:
    Sorry, you need to register or login to see this BBcode !
    اين دستور يک جدول با دو ستون (lessons.4st و after_school.1st) برميگرداند ؛ولی روز 5شنبه و جمعه را ندارد.

    نکته: inner join با join برابر است.

    کد:
    Sorry, you need to register or login to see this BBcode !
    اين دستور تمام سطر های جدول سمت چپ یا راست را بر ميگرداند حتّی اگر مشابهی در جدول دیگر نداشته باشد باز هم سطر را برميگرداند ولی ستون های جدول دیگر را خالی ميگذارد.
    نکته :در برخی از نسخه های sql اين دستور اين شکلی است:
    کد:
    Sorry, you need to register or login to see this BBcode !
    کد:
    Sorry, you need to register or login to see this BBcode !
    اين دستور تمام سطر های دو جدول را بر ميگرداند ولی سطر های را که مشابهی در جدول ديگر ندارند را با ستون های خالی نمايش ميدهد.
     
    elahi از این پست تشکر کرده است.
  11. Ehsan HP
    karbar Rank

    تاریخ عضویت:
    ‏15/8/14
    ارسال ها:
    14
    تشکر شده:
    13
    امتیاز دستاورد:
    0
    Union + select into + create db & table:

    SQL UNION Operator:
    اين اپراتور دو يا چند دستور select رو به هم متّصل می کند. توجّه کنيد که هر دو دستور select بايد از لحاظ تعداد ،نام ، نوع داده ستون ها و ترتيب يکّی باشند.
    در حقيقت اين دستور جداول result-set رو با هم ترکيب می کنه ؛البته باز هم تکرار ميکنم که نام ستون ها و ... بايد يکّی باشه .
    نکته: دستور union تکراری ها رو حذف ميکنه ولی union all همه رو فهرست ميکند.
    کد:
    Sorry, you need to register or login to see this BBcode !
    کد:
    Sorry, you need to register or login to see this BBcode !
    مثال:


    کد:
    Sorry, you need to register or login to see this BBcode !
    اين دستور يک جدول با يک ستون به نام روز ميسازد و محتوای آن را از 0sh تا 6sh پر ميکند.
    ----------------------------------------------------------------------------------------------------------------------------------------
    دستور select into :

    کد:
    Sorry, you need to register or login to see this BBcode !
    اين دستور يک کپی از ستون های منتخب از جدول مورد نظر رو در يک جدول ديگر ذخيره ميکند.
    مثال:


    کد:
    Sorry, you need to register or login to see this BBcode !
    اين دستور يک کپی از جدول درس ها را تهيه ميکند که فقط ستون روز و زنگ اوّل را شامل ميشود آنهم فقط در روز های شنبه و دوشنبه.
    ----------------------------------------------------------------------------------------------------------------------------------------

    کد:
    Sorry, you need to register or login to see this BBcode !
    ديگه خجالت آوره اگه برای اين هم توضيح بدم و مثال بزنم ...
    ----------------------------------------------------------------------------------------------------------------------------------------
    کد:
    Sorry, you need to register or login to see this BBcode !
    تنها نکته ی قابل ذکر اين دستور در data_type هست که ميتونيد از سايت زير استفاده کنيد.
    http://w3schools.com/sql/sql_datatypes.asp
     
  12. Ehsan HP
    karbar Rank

    تاریخ عضویت:
    ‏15/8/14
    ارسال ها:
    14
    تشکر شده:
    13
    امتیاز دستاورد:
    0
    دستور فهرست برداری و drop و alter:

    دستور فهرست برداری:
    فهرست برداری به مشاهده ی سريع جدول بدون نياز به خواندن کل آن کمک ميکند.
    SQL CREATE INDEX Syntax:
    با تکرار:


    کد:
    Sorry, you need to register or login to see this BBcode !
    بدون تکرار:

    کد:
    Sorry, you need to register or login to see this BBcode !
    --------------------------------------------------------------------------------------------------------------------------------
    دستور drop و TRUNCATE:
    اين دستور در حذف جدول ،منبع اطّلاعات و ايندکس به کار ميرود:
    کد:
    Sorry, you need to register or login to see this BBcode !

    کد:
    Sorry, you need to register or login to see this BBcode !
    کد:
    Sorry, you need to register or login to see this BBcode !

    کد:
    Sorry, you need to register or login to see this BBcode !

    کد:
    Sorry, you need to register or login to see this BBcode !

    کد:
    Sorry, you need to register or login to see this BBcode !
    امّا اگر بخواهيم محتويات يک جدول را حذف کنيم ولی خود جدول سر جايش باقی باشد:


    کد:
    Sorry, you need to register or login to see this BBcode !
    --------------------------------------------------------------------------------------------------------------------------------
    دستور alter:
    اين دستور برای اضافه يا حذف يا تغيير ستون ها ،بعد از ساخته شدن جدول بکار ميرود.

    SQL ALTER TABLE Syntax:
    برای اضافه کردن ستون:


    کد:
    Sorry, you need to register or login to see this BBcode !
    برای حذف ستون:


    کد:
    Sorry, you need to register or login to see this BBcode !
    برای تغيير نوع ورودی ستون:


    کد:
    Sorry, you need to register or login to see this BBcode !
    اين دستورات فکر ميکنم آنقدر ساده هستند که نيازی به مثال نداشته باشند.
     
  13. Ehsan HP
    karbar Rank

    تاریخ عضویت:
    ‏15/8/14
    ارسال ها:
    14
    تشکر شده:
    13
    امتیاز دستاورد:
    0
    محدوديت گذاری در sql:

    حدوديت گذاری در sql:
    شما ميتوانيد نوع اطّلاعاتی را که به جدول ها ميروند را محدود کنيد.
    اين محدوديت ميتواند حالت های مختلفی داشته باشد ؛من در اينجا چند نوع رو توضيح ميدم:

    NOT NULL
    اين نوع محدوديت اجازه ی خالی ماندن آن ستون را در هيچ کدام از سطر های جدول نميدهد ؛به عبارت ديگر اگر بخواهيم سطر جديدی به جدول اضافه کنيم حتماً بايد ستون هايی را که به اين شکل محدود شده اند را مقدار دهی کنيم .
    نحوه ی اعمال اين محدوديت هم به اين شکل است (در هنگام ساخت جدول):

    کد:
    Sorry, you need to register or login to see this BBcode !
    UNIQUE
    اين محدوديت دادن مقدار های تکراری را در ستون مشخص شده ممنوع ميکند ؛به عبارت ديگر شما نميتوانيد دو روز در هفته زنگ های اوّل يک درس داشته باشيد .
    اعمال اين محدوديت در نسخه های مختلف sql متفاوت است:

    کد:
    Sorry, you need to register or login to see this BBcode !
    برای اعمال اين محدوديت پس از ساخت جدول:


    کد:
    Sorry, you need to register or login to see this BBcode !

    PRIMARY KEY
    شما ميتوانيد اين محدوديت رو فقط در يک ستون از جدول اجرا کنيد و در اين صورت آن ستون به طور خودکار يکتا (unique) شده و علاوه بر اين به طور خودکار not null هم ميشود ؛فايده ی آن هم اين است که شما هر سطر جدول را توسط محتوای اين ستون معرّفی ميکنيد ؛مثلاً اگر ستون روز را ستون اصلی کنيد ميگوييد سطر شنبه (بجای اينکه بگوييد سطری که محتوای ستون روز آن شنبه است) .
    کد:
    Sorry, you need to register or login to see this BBcode !
    کد:
    Sorry, you need to register or login to see this BBcode !
    برای اعمال اين محدوديت پس از ساخت جدول:


    کد:
    Sorry, you need to register or login to see this BBcode !
    FOREIGN KEY
    اين يکی وقتی به کار ميره که دو ستون هم نام در دو جدول داريم ،و در يکی از جدول ها اين ستون ،ستون اصلی است ؛در اين صورت وقتی ما اين ستون رو (در اون جدولی که ستون اصلی نيست) به اين شکل محدود ميکنيم در واقع اشاره ميکند به اون ستون اصلی ؛فايده اش هم اينه که در اون جدولی که ستون اصلی نيست ،نميتونيم به اون ستون مقداری بديم که در اون ستون اصلی وجود نداره ؛مثل اينکه بگيم در ستون روز ها از جدول سرويس مدرسه ،نميتونيم روزی داشته باشيم که در جدول درس ها نيست!

    کد:
    Sorry, you need to register or login to see this BBcode !
    کد:
    Sorry, you need to register or login to see this BBcode !
    برای اعمال اين محدوديت پس از ساخت جدول:

    کد:
    Sorry, you need to register or login to see this BBcode !
    CHECK
    شما با اين محدوديت ميتونيد شرط هايی رو در مورد محتوای ستون ها ايجاد کنيد ؛مثلاً ميتونيد شرط بگذاريد که محتوای ستون روز نبايد جمعه باشد!

    کد:
    Sorry, you need to register or login to see this BBcode !
    کد:
    Sorry, you need to register or login to see this BBcode !
    برای اعمال اين محدوديت پس از ساخت جدول:
    کد:
    Sorry, you need to register or login to see this BBcode !
    DEFAULT
    اين محدوديت خيلی ساده است ؛فقط اگر هنگام اضافه کردن سطر ،آن ستون را خالی بگذاريد ،به طور خود کار مقدار پيش فرض را در آن مينويسد.
    دستور:


    کد:
    Sorry, you need to register or login to see this BBcode !
    ميتونيد برای مقدار پيش فرض از function ها هم استفاده کنيد؛ مثال:


    کد:
    Sorry, you need to register or login to see this BBcode !
    برای اعمال اين محدوديت پس از ساخت جدول:

    کد:
    Sorry, you need to register or login to see this BBcode !
    کد:
    Sorry, you need to register or login to see this BBcode !
    برای حذف مقدار پيش فرض:

    کد:
    Sorry, you need to register or login to see this BBcode !
     
  14. Ehsan HP
    karbar Rank

    تاریخ عضویت:
    ‏15/8/14
    ارسال ها:
    14
    تشکر شده:
    13
    امتیاز دستاورد:
    0
    دستور auto increment:

    دستور AUTO INCREMENT:
    اين دستور (گر چه نميشه بهش گفت دستور) را وقتی روی يک ستون اجرا ميکنيم ،هر سطر جديدی که اضافه کنيم ،به طور خودکار يک عدد (از يک شروع ميشود) غير تکراری و به ترتيب رو به اون ستون اختصاص ميده .

    کد:
    Sorry, you need to register or login to see this BBcode !
    به طور پيش فرض عدد شروع 1 هست ،ولی ميتونيم با دستور زير اون رو تغيير بديم:


    کد:
    Sorry, you need to register or login to see this BBcode !
    نکته: ستونی که خود کار عدد ميگيرد رو نبايد مقدار دهی کرد؛
    data_type حتماً بايد int باشه .


    کد:
    Sorry, you need to register or login to see this BBcode !
    در sql server اگر بخواهيم از n شروع کنيم و m تا m تا جلو بريم بايد به شکل زير عمل کنيم:


    کد:
    Sorry, you need to register or login to see this BBcode !

    کد:
    Sorry, you need to register or login to see this BBcode !
    در Access اگر بخواهيم از n شروع کنيم و m تا m تا جلو بريم بايد به شکل زير عمل کنيم:


    کد:
    Sorry, you need to register or login to see this BBcode !
    کد:
    Sorry, you need to register or login to see this BBcode !
    در oracle برای اضافه کردن سطر بايد به اين شکل عمل کنيم:


    کد:
    Sorry, you need to register or login to see this BBcode !