به آموزشگاه بیاموز خوش آمدید!

سبد خرید (0)

آموزش SQL

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

wiki

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ها روی اشیایی از پایگاه داده به نام جدول ها ذخیره می شوند.

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

دیدگاه‌ها  

0 # م.مح 1396-02-04 00:57
سلام
در لیست آموزش ها گفتین که نوشتنsp گفته میشه، اما چیزی از این بخش نگفتین ...!
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
0 # امیر پهلوان صادق 1396-02-04 09:09
سلام، خیر صحبت شما درست نیست و آموزش نوشتن stored procedure در آموزش SQL آورده نشده است.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
0 # bigamir 1396-02-01 10:36
سلام
بهتره که اول SQL را آموزش ببینم یا asp.net?
ممنون از سایت خوبتون
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
0 # امیر پهلوان صادق 1396-02-02 08:41
سلام، ابتدا آموزش SQL را شروع کنید.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
0 # kitana 1395-10-27 16:27
سایت بسیار عالیی دارین. آموزش SQL عالی عالی بود.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+1 # aazam 1395-10-03 11:21
باسلام وتشکر از آموزش های خوبتون
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+1 # aazam 1395-10-03 11:18
با سلام
آموزش SQL عالی بود. تشکر
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+2 # مائده اکبری 1395-06-29 13:43
سلام .من میخوام دیتابیس وجداول یک پروژه رو وارد دیتابیس کنم .وقتی سند رو از notpad درکادر اس کیو ال وارد میکنم دوتا error دارد .یکی از این اررها به اینصورت است.
grant select, insert, update, delete
on shop_sc.*
to [email protected] st identified by 'password';

میخواستم بپرسم این تیکه دستور مشکلش کجاست لطفا کمکم کنتید ممنون
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+2 # مهرداد صلاحی 1395-07-15 09:06
با سلام.
بهتره برای این کار در اس کیو ال دیتابیس رو بسازید و برای وارد کردن جداول، فقط کدههای مربوط به جداول رو وارد کنید.
کدی که گذاشتید، برای ایجاد دسترسی به کار میره...
تو ایجاد سطح دسترسی، مشکلی وجود داره.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+2 # منیره 1395-04-06 11:32
با سلام
راجع به دستور select جداول سوال داشتم. چندتا جدول می خوام با هم join کنم از داخل هر جدولی دو تا ستون تقریبا لازمه. مثلا select name, company from tbl_customer inner join tbl_company این خط کد تمامی فیلدای دو جدول در نظر میگیره بعد دو ستون لازم دارم نمایش میده؟ پس سرعت کار کم می کنه؟ چه جوری باید بنویسم اول باید ستونایی که می خوام select کنم بعد join کنم؟ میشه کدشو بنویسین؟ ممنون
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+2 # مهرداد صلاحی 1395-07-15 09:09
با سلام.
در Join کردن هر چه تعداد جداول بیشتر باشه، مسلما سرعت واکشی کمتر میشه. همینطور نوع JOIN هم تا حدودی دخیل هست. مثلا INNER بیشتر از LEFT هست.
بهتره برای واکشی سریعتر جدول بزرگ اول بیاد و به ترتیب جداول از نظر بزرگی بعدش بیان. همینطور فقط فیلدهایی رو واکشی کنید که نیاز دارید. شاید اینطوری کمی کوئری شما بزرگ بشه، ولی سرعت واکشی بهتری داره نسبت به زمانی که تمامی فیلدها رو توسط * واکشی کنید.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+6 # سید 1395-02-13 18:13
#سوال من یه پایگاه داده ی sql server نوشتم که جدول دانش اموز و رشته و... دارد(در ضمن:پایگاه داده مربوط به سیستم دبیرستان است) چگونه این محدودیت رو تعریف کنم که هر رشته دارای سقف 20 دانش آموز است؟البته در sql نه در .net
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+7 # مهرداد صلاحی 1395-02-13 22:57
سلام.
این مفهوم در بانک‌های اطلاعاتی به «کاردینالیتی» معروف هست. در کاردینالیتی شما مشخص می‌کنید که ارتباط درس و دانش‌اموز مثلا تا سقف (1, 20) هست. یعنی هر دانش‌آموز می‌تونه حداقل یک درس و حداکثر 20 درس برداره.
در مورد عبارت کاردینالیتی در اینترنت سرچ کنید. مطالب خوبی به دست میارید.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+5 # h 1395-02-12 21:50
با عرض سلام یک سوال داشتم
مقدار NULL چه تاثیری در نتیجه JOIN دارد؟
IF (NULL = NULL) PRINT ‘It Does’ ELSE PRINT ‘It Doesn’’t’
IF (NULL != NULL) PRINT ‘It Does’ ELSE PRINT ‘It Doesn’’t’
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+5 # مهرداد صلاحی 1395-02-13 12:50
با سلام.
سؤالتون واضح نیست. ما حالت‌های مختلفی از JOIN داریم که در اون جدولی با یک جدول دیگه توسط فیلدهای مشخصی که براشون تعیین می‌کنیم،‌به هم متصل می‌شن.
منظورتون از NULL و همینطور JOIN رو واضح‌تر بیان کنید.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
0 # mohammad002 1395-01-05 13:13
آموزش SQL عالییییی بود.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
0 # mohammad002 1395-01-05 12:01
آموزش ها عالی اند.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+4 # mahdi400 1394-12-14 18:53
با چی میتونم sql رو اجرا کنم؟
من mysql رو دانلود کردم.یکیش 5 مگابایت بود و یکیش رو از سایت رسمیش دانلود کردم 300 مگابایت
هیچ کدومش کار نکرد
میشه یکی لینک دانلود بده تا نصبش کنم و بتونم این آموزش ها رو روش کار کنم؟
ممنون
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+3 # بهزاد مظاهری 1395-05-19 10:29
بهترین راه خرید نرم افزار هست.اکثر فایل های دانلودی خضوضا این نوع نرم افزارها مشکل دارن.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+3 # مهرداد صلاحی 1394-12-15 07:08
با سلام.
برای اجرای mysql در ویندوز بهتره نرم افزار wamp یا xamp رو از اینترنت دانلود کرده و سپس اون رو نصب و اجرا کنید. mysql به تنهایی کمی قلق داره.

بعد از نصب نرم افزارهای فوق می‌تونید از طریق مرورگر اینترنت و تایپ آدرس localhost/phpmy admin در نوار آدرس mysql رو اجرا کنید.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+3 # فاطمه 1394-09-30 15:09
سلام خسته نباشید.
برای ایجاد یک role طبق دستور زیر رفتم
create role CEO
grant select on karmandane_pakh sh to CEO
exec sp_addrolemembe r 'CEO','rezaei'

اما این ارور رو میده
User or role 'rezaei' does not exist in this databas
باید اسم یا فامیلی رو با هم بزنم یا کلا اینا هیچکدوم نمیشه ؟
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+3 # مهرداد صلاحی 1394-09-30 22:47
با سلام.
متن خطا داره میگه rezaei موجود نیست! این رو چک کنید.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+4 # hoseinali 1394-09-26 11:12
با عرض سلام خدمت شما
میخواستم بپرسم چطور میتونم در sql server 2008 فیلدهایی رو به نمایش در بیارم که not null هستند و نمیتونه مقدار فیلدشون خالی باشه
باتشکر از سایت خوبتون
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+4 # مهرداد صلاحی 1394-09-30 22:46
با سلام و خسته نباشید.
منظورتون فیلد هست یا رکورد؟؟؟
رکورد سطرهایی از جدول هست که در اون اطلاعات موردنیاز هر رکورد ذخیره شده است.
ولی فیلد در واقع مشخصه‌ی موردنیاز برای یک از ستون‌های جدول هست.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+3 # hoseinali 1394-10-01 11:50
سلام منظورم فیلدهای جدولی هستش که من select کرده ام
ومقدار ان نمیتواند خالی باشد
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+3 # مهرداد صلاحی 1394-10-02 13:50
باز هم سوالتون ناواضحه، ولی کوئری زیر رو یه نگاه کنید:
SELECT * FROM table_name WHERE field1 IS NOT NULL AND field2 IS NOT NULL

کوئری بالا تمامی سطرهایی رو میاره که فیلد field1 و field2 اون خالی نباشه.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+3 # فاطمه 1394-09-18 23:36
سلام خدا قوت.
وقتی چندتا دیتا بیس ایجاد کردیم چه دستوری باید وارد کنیم تا اسامی پایگاه داده هایی که داریم رو لیست کنه؟
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+5 # مهرداد صلاحی 1394-09-19 06:54
با سلام و تشکر.
توسط دستور زیر می‌تونید دیتابیس‌ها رو توی SQL Server ببینید:
SELECT name, database_id, create_date
FROM sys.databases ;
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
0 # احسان ارمند 1394-09-18 22:53
سلام SQL رو خوب و مختصر و مفید آموزش دادید.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
0 # پویا خوشرو 1394-08-07 10:09
سلام خسته نباشید
آموزش ها عالی است.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+3 # amin 1394-08-05 12:35
آیا با sql به تنهایی می شود پایگاه داده طراحی کرد?
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+2 # مهرداد صلاحی 1394-08-05 12:44
با سلام.
DBMSها برای همین کار طراحی شده اند، یعنی طراحی بانکهای اطلاعاتی.

سوالتون تا حدودی واضح نیست، بیشتر توضیح بدید تا بشه دقیق کمکتون کرد.

موفق باشید.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+2 # amin 1394-08-05 14:48
سلام
برای طرای بانک اطلاعاتی (دیتابیس،پایگاه داده) باید از mysql یاsqllite استفاده کرد ایا با sql هم به تنهایی می شود بانک اطلاعاتی را ساخت ؟ یا فقط برای کوئری ها است ؟
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+2 # مهرداد صلاحی 1394-08-05 20:10
سلام بر شما.
دوست عزیز فکر کنم سؤالت کمی اشکال داره.
در گام اول طراحی بانک اطلاعاتی جدا از فاز اجرایی، شامل تحلیل نیازمندی‌ها، طراحی و تشخیص‌ موجودیت‌ها، روابط بین اونها و ... هست.
بعد از اون طراحی جداول و فیلدهای موردنیاز اون‌ها است و ایجاد ارتباطات لازم بین اون‌ها است.
گام سوم نرمال‌سازی جداول هست تا پدید آنومالی و افزونگی داده‌ها به حداقل برسه.

این موارد رو که انجام دادی، باید دیتابیس رو ببری تو فاز اجرایی. یعنی اینکه یک DBMS انتخاب کنی و این دیتابیس رو توش طراحی کنی. می‌تونی از MySQL, SQL Server, MongoDB, SQLLight و یا ... استفاده کنی.
در همه‌ی DBMSهای بالا می‌تونید از زبان T-SQL برای کدنویسی استفاده کنید.

منظور شما از sql خیلی واضح نیست!!!
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+4 # سعید نوشادی 1394-07-04 22:01
سلام.آیا sql و sqLite فرقی دارن؟اگر دارن در چیه؟
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+6 # شهربانو دوستی 1394-07-05 00:39
باسلام
SQLite یک برنامه مدیریت بانک اطلاعاتی مبتنی بر زبان استاندارد SQL هست که به صورت رایگان عرضه می شود.
بر خلاف مدل های مرسوم بانک اطلاعاتی ( مثل اوراکل ، MySql ، SQL و …) که به صورت Client/Server می باشند و نیازمند نصب و پیکر بندی هستند ، SQLite یک برنامه مدیریت بانک اطلاعاتی مستقل از سیستم عامل و بدون نیاز به نصب و پیکر بندی است.
دقت بفرمایید این دیتابیس برای حجم اطلاعات خیلی زیاد طراحی نشده و با بالا رفتن حجم اطلاعات از سرعت این دیتابیس کاسته می شود .ولی این مورد را نمیتوان به عنوان ضعف محسوب کرد چراکه باید نسبت به کاری که انجام می گیرد و میزان اطلاعات و تراکنش ها ، یک دیتابیس انتخاب کرد .پس در صورتی که حجم اطلاعات شما زیاد نمی باشد بهترین گزینه استفاده از SQLite خواهد بود.
در مقابل sql برای در پروژه های بزرگ که امنیت و جامعیت اطلاعات در آن خیلی مهم است مورد استفاده قرار می گیرد.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+2 # سعید نوشادی 1394-07-04 22:00
سلام. تشکر میکنم بابت این سایت خوبتون .مهمترین مزیت سایتتون اینه که ترجمه شده است.امیدوارم موفق باشید در ادامه کار زیباتون
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
0 # amin. 1394-06-25 17:48
با سلام
من آموزش SQL را از سایت شما مطالعه کردم و کاملا با آن آشنا شدم. یک دنیا ممنون
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+2 # 70masoud 1394-05-26 07:40
سلام
برای استفاد از کدهای sql باید چه کار کرد مثلا در phpmyadmin پایگاه داده ای ساختم حالا میخواهم در مرورگر این اطلاعات رو چاپ کنم چگونه با sql این کار رو بکنم؟
کدهای sql را در چه مکانی باید نوشت و با چه پسوندی؟
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+2 # مهرداد صلاحی 1394-08-05 13:06
با سلام.
زمانی که بانک اطلاعاتی رو ساختید، از طریق برنامه نویسی باید به اون پایگاه داده وصل بشید و توسط کوئری میتونید اطلاعات موردنیاز رو بخونید. فرض میکنیم شما قصد دارید از طریق php به بانک اطلاعاتی وصل بشید.
نام دیتابیس شما db_name هست و نام کاربری پیش فرض هم root بدون پسورد هست.

در کد php زیر شما میتونید به بانک وصل بشید و اطلاعات موردنیاز از جدول tbl_test رو بخونید.
<?php
$conn = mysql_connect(' localhost', 'root', '') or die('No connection');
$db_name = mysql_select_db ('db_name', $conn);

$query = "SELECT * FROM `tbl_test`";
$result = mysql_query($query);
$row = mysql_fetch_assoc($result);

echo '' . print_r($row, 1) . '';
?>


کد بالا خیلی ساده و با استفاده از توابع mysql برای فهم راحت تر شما نوشته شده است. پارامترها رو بر حسب اطلاعات خودتون در دیتابیس تغییر بدید و نتیجه رو مشاهده کنید. اولین خروجی که بگیرید، مطمئنا باقی مراحل رو خودتون میتونید چطوری باید طی کنید.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+3 # malih niku 1394-04-26 12:36
سلام تفاوت sqlو sql server وmy sql و.....در چیه ؟
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+5 # احسان عباسی 1394-04-26 12:55
سلام
sql : یک زبان برای دسترسی به داده های ذخیره شده در دیتابیس است.
sql server: یک اپلیکیشن است که عملیات sql در آن انجام می شود. در واقع یک سیستم مدیریت پایگاه داده است.
mysql: یک سیستم مدیریت پایگاه داده است.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
-20 # Guest 1393-12-29 11:19
با اینکه مطالبتون از خودتون نیست و ترجمه شده از w3schools ولی کارتون واقعن درسته!
این کار لازم بود چون معمولن آموزشای فارسی ساختار درستی رو پیش نمیرن.
ولی حداقل روی رابط کاربری سایتتون یکم کار کنید، برازنده شما نیست یه همچین چیز داغونی!
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+21 # محمد هادی پیرو دین نبی 1394-02-25 16:02
اگه فکر می کنی سایت داغونیه چرا میای اینجا! لطف کن و نیا!
به جای تشکرته!!!
واقعا متاسفم برای بعضی ها که به جای تشکر از دوستمون که کلی زحمت کشیده همچین رفتاری دارن!
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+16 # مظاهر نصوحی 1394-01-01 11:50
ممنون از لطف شما و تشکر از نحوه ی ابراز نظرتون. هدف با یک کلیک بیاموز سادگی و سریع بودن آموزش بدون وجود جلوه های گرافیکی ای است که فراگیر رو درگیر خودش می کنه.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+16 # جاوید تقوی 1393-08-27 04:20
سلام،خیلی مطالب مفید و کاربرذی قرار دادین. تنکس الات
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+26 # asd 1393-04-05 06:12
عجب سایتی
فوق العاده است
ترجمه ها عالی هستن . مرسی
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+15 # مهسا 1393-02-25 08:36
بسیار بسیار عالی بود و تشکر بابت این سایته خوبتون :-) ;-)
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+13 # mehdi yazdani 1392-09-19 14:01
congradulation for foundament web site :o
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+1 # امیرکیان 1394-11-29 22:37
تبریک برای تاسیس سایتتون :)
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن

آموزش صوتی SQL

بستن
مدرس:

ابزاری که در پیش روی دارید یکی از ابزارهای بسیار کاربردی سایت بیاموز در زمینه آموزش است، این ابزار برای سهولت یادگیری شما کاربران محترم طراحی شده است.

فقط کافی است روی عنوان پاراگراف مورد نظرتان کلیک کنید تا پخش صدا آغاز شود ...!