آموزش SQL
آموزش SQL (اس کیو ال) - مقدمه
SQL (اس کیو ال) یک زبان استاندارد برای دسترسی به پایگاه داده می باشد.
در این آموزش، چگونگی دسترسی به داده ها و دستکاری آنها را با استفاده از SQL فراخواهید گرفت.
هم اکنون یادگیری SQL را آغاز کنید!
SQL چیست؟
- SQL مخفف Structured Query Language به معنی زبان جستجوی ساخت یافته است.
- SQL به شما اجازه دسترسی و دستکاری پایگاه داده را می دهد.
- SQL یک استاندارد (ANSI (American National Standards Institute می باشد.
در این آموزش چه چیزهایی را فراخواهید گرفت
- در این آموزش می توانید queryهایی (پرس و جوهایی) را بر روی پایگاه داده اجرا کنید.
- در این آموزش می توانید داده ها را از پایگاه داده بازیابی کنید.
- در این آموزش می توانید رکوردهایی را در پایگاه داده درج (insert) کنید.
- در این آموزش می توانید رکوردهایی را در پایگاه داده تغییر دهید (به روز رسانی کنید).
- در این آموزش می توانید رکوردهایی را از پایگاه داده حذف (delete) کنید.
- در این آموزش می توانید پایگاه داده جدیدی را ایجاد کنید.
- در این آموزش می توانید جدول جدیدی را در پایگاه داده ایجاد کنید.
- در این آموزش می توانید stored procedureها (رویه های ذخیره شده) را در پایگاه داده ایجاد کنید.
- در این آموزش می توانید viewها را در پایگاه داده ایجاد کنید.
- در این آموزش می توانید سطح دسترسی روی جداول، procedureها و viewها را تنظیم کنید.
SQL یک استاندارد است اما...
گرچه SQL یک استاندارد ANSI می باشد و نسخه های متفاوت زیادی از آن وجود دارد، اما همه نسخه های آن از فرامین اصلی حمایت می کنند. (مثل فرامین SELECT, UPDATE, DELETE, INSERT, WHERE)
توجه: بیشتر برنامه های پایگاه داده علاوه بر استاندارد SQL الحاقات اختصاصی خود را دارند.
آموزش استفاده از SQL در وب سایت
برای ساخت یک وب سایت که داده ها را از یک پایگاه داده نشان دهد به موارد زیر نیاز دارید:
- یک برنامه سیستم مدیریت پایگاه داده رابطه ای مثل MS Access, SQL Server, MySQL
- زبان های سمت سرور مثل PHP یا ASP
- SQL
- HTML /CSS
آموزش RDBMS
RDBMS مخفف Relational Database Management System به معنای سیستم مدیریت پایگاه داده رابطه ای است.
RDBMS یا سیستم مدیریت پایگاه داده رابطه ای، اساسی است برای SQL و همچنین تمام سیستم های پایگاه داده ای مدرن مثل:
MS SQL Server, IBM DB2, Oracle, MySQL و Microsoft Access
داده ها در RDBMSها روی اشیایی از پایگاه داده به نام جدول ها ذخیره می شوند.
یک جدول مجموعه ای از داده های مرتبط به هم می باشد و شامل سطر و ستون ها می باشد.
- نوشته شده توسط مهندس تمیزی
- بازدید: 221381
دیدگاهها
با سلام.دسته بندی مطالب بسیار عالی هست.فایل pdf مطالب رو به چه صورت میتونیم داشته باشیم؟
سلام.یه مشکلی دارم در مورد گرفتن اطلاعات از سرور که زبان فارسی هستن.همشو ؟؟؟؟؟؟ نشون میده.تو phpmyadmin که میرن داخل جدول فارسی نوشته شده و مرتبه ولی وقتی میخود برگردونه اطلاعاتشو تو صفحه وب علامت سوال میشه
سلام
در لیست آموزش ها گفتین که نوشتنsp گفته میشه، اما چیزی از این بخش نگفتین ...!
سلام، خیر صحبت شما درست نیست و آموزش نوشتن stored procedure در آموزش SQL آورده نشده است.
سلام
بهتره که اول SQL را آموزش ببینم یا asp.net?
ممنون از سایت خوبتون
سلام، ابتدا آموزش SQL را شروع کنید.
سایت بسیار عالیی دارین. آموزش SQL عالی عالی بود.
باسلام وتشکر از آموزش های خوبتون
با سلام
آموزش SQL عالی بود. تشکر
سلام .من میخوام دیتابیس وجداول یک پروژه رو وارد دیتابیس کنم .وقتی سند رو از notpad درکادر اس کیو ال وارد میکنم دوتا error دارد .یکی از این اررها به اینصورت است.
grant select, insert, update, delete
on shop_sc.*
to shop_sc@localho st identified by 'password';
میخواستم بپرسم این تیکه دستور مشکلش کجاست لطفا کمکم کنتید ممنون
با سلام.
بهتره برای این کار در اس کیو ال دیتابیس رو بسازید و برای وارد کردن جداول، فقط کدههای مربوط به جداول رو وارد کنید.
کدی که گذاشتید، برای ایجاد دسترسی به کار میره...
تو ایجاد سطح دسترسی، مشکلی وجود داره.
با سلام
راجع به دستور select جداول سوال داشتم. چندتا جدول می خوام با هم join کنم از داخل هر جدولی دو تا ستون تقریبا لازمه. مثلا select name, company from tbl_customer inner join tbl_company این خط کد تمامی فیلدای دو جدول در نظر میگیره بعد دو ستون لازم دارم نمایش میده؟ پس سرعت کار کم می کنه؟ چه جوری باید بنویسم اول باید ستونایی که می خوام select کنم بعد join کنم؟ میشه کدشو بنویسین؟ ممنون
با سلام.
در Join کردن هر چه تعداد جداول بیشتر باشه، مسلما سرعت واکشی کمتر میشه. همینطور نوع JOIN هم تا حدودی دخیل هست. مثلا INNER بیشتر از LEFT هست.
بهتره برای واکشی سریعتر جدول بزرگ اول بیاد و به ترتیب جداول از نظر بزرگی بعدش بیان. همینطور فقط فیلدهایی رو واکشی کنید که نیاز دارید. شاید اینطوری کمی کوئری شما بزرگ بشه، ولی سرعت واکشی بهتری داره نسبت به زمانی که تمامی فیلدها رو توسط * واکشی کنید.
#سوال من یه پایگاه داده ی sql server نوشتم که جدول دانش اموز و رشته و... دارد(در ضمن:پایگاه داده مربوط به سیستم دبیرستان است) چگونه این محدودیت رو تعریف کنم که هر رشته دارای سقف 20 دانش آموز است؟البته در sql نه در .net
سلام.
این مفهوم در بانکهای اطلاعاتی به «کاردینالیتی» معروف هست. در کاردینالیتی شما مشخص میکنید که ارتباط درس و دانشاموز مثلا تا سقف (1, 20) هست. یعنی هر دانشآموز میتونه حداقل یک درس و حداکثر 20 درس برداره.
در مورد عبارت کاردینالیتی در اینترنت سرچ کنید. مطالب خوبی به دست میارید.
با عرض سلام یک سوال داشتم
مقدار NULL چه تاثیری در نتیجه JOIN دارد؟
IF (NULL = NULL) PRINT ‘It Does’ ELSE PRINT ‘It Doesn’’t’
IF (NULL != NULL) PRINT ‘It Does’ ELSE PRINT ‘It Doesn’’t’
با سلام.
سؤالتون واضح نیست. ما حالتهای مختلفی از JOIN داریم که در اون جدولی با یک جدول دیگه توسط فیلدهای مشخصی که براشون تعیین میکنیم،به هم متصل میشن.
منظورتون از NULL و همینطور JOIN رو واضحتر بیان کنید.
آموزش SQL عالییییی بود.
آموزش ها عالی اند.
با چی میتونم sql رو اجرا کنم؟
من mysql رو دانلود کردم.یکیش 5 مگابایت بود و یکیش رو از سایت رسمیش دانلود کردم 300 مگابایت
هیچ کدومش کار نکرد
میشه یکی لینک دانلود بده تا نصبش کنم و بتونم این آموزش ها رو روش کار کنم؟
ممنون
بهترین راه خرید نرم افزار هست.اکثر فایل های دانلودی خضوضا این نوع نرم افزارها مشکل دارن.
با سلام.
برای اجرای mysql در ویندوز بهتره نرم افزار wamp یا xamp رو از اینترنت دانلود کرده و سپس اون رو نصب و اجرا کنید. mysql به تنهایی کمی قلق داره.
بعد از نصب نرم افزارهای فوق میتونید از طریق مرورگر اینترنت و تایپ آدرس localhost/phpmy admin در نوار آدرس mysql رو اجرا کنید.
سلام خسته نباشید.
برای ایجاد یک 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
باید اسم یا فامیلی رو با هم بزنم یا کلا اینا هیچکدوم نمیشه ؟
با سلام.
متن خطا داره میگه rezaei موجود نیست! این رو چک کنید.
با عرض سلام خدمت شما
میخواستم بپرسم چطور میتونم در sql server 2008 فیلدهایی رو به نمایش در بیارم که not null هستند و نمیتونه مقدار فیلدشون خالی باشه
باتشکر از سایت خوبتون
با سلام و خسته نباشید.
منظورتون فیلد هست یا رکورد؟؟؟
رکورد سطرهایی از جدول هست که در اون اطلاعات موردنیاز هر رکورد ذخیره شده است.
ولی فیلد در واقع مشخصهی موردنیاز برای یک از ستونهای جدول هست.
سلام منظورم فیلدهای جدولی هستش که من select کرده ام
ومقدار ان نمیتواند خالی باشد
باز هم سوالتون ناواضحه، ولی کوئری زیر رو یه نگاه کنید:
SELECT * FROM table_name WHERE field1 IS NOT NULL AND field2 IS NOT NULL
کوئری بالا تمامی سطرهایی رو میاره که فیلد field1 و field2 اون خالی نباشه.
سلام خدا قوت.
وقتی چندتا دیتا بیس ایجاد کردیم چه دستوری باید وارد کنیم تا اسامی پایگاه داده هایی که داریم رو لیست کنه؟
با سلام و تشکر.
توسط دستور زیر میتونید دیتابیسها رو توی SQL Server ببینید:
SELECT name, database_id, create_date
FROM sys.databases ;
سلام SQL رو خوب و مختصر و مفید آموزش دادید.
سلام خسته نباشید
آموزش ها عالی است.
آیا با sql به تنهایی می شود پایگاه داده طراحی کرد?
با سلام.
DBMSها برای همین کار طراحی شده اند، یعنی طراحی بانکهای اطلاعاتی.
سوالتون تا حدودی واضح نیست، بیشتر توضیح بدید تا بشه دقیق کمکتون کرد.
موفق باشید.
سلام
برای طرای بانک اطلاعاتی (دیتابیس،پایگاه داده) باید از mysql یاsqllite استفاده کرد ایا با sql هم به تنهایی می شود بانک اطلاعاتی را ساخت ؟ یا فقط برای کوئری ها است ؟
سلام بر شما.
دوست عزیز فکر کنم سؤالت کمی اشکال داره.
در گام اول طراحی بانک اطلاعاتی جدا از فاز اجرایی، شامل تحلیل نیازمندیها، طراحی و تشخیص موجودیتها، روابط بین اونها و ... هست.
بعد از اون طراحی جداول و فیلدهای موردنیاز اونها است و ایجاد ارتباطات لازم بین اونها است.
گام سوم نرمالسازی جداول هست تا پدید آنومالی و افزونگی دادهها به حداقل برسه.
این موارد رو که انجام دادی، باید دیتابیس رو ببری تو فاز اجرایی. یعنی اینکه یک DBMS انتخاب کنی و این دیتابیس رو توش طراحی کنی. میتونی از MySQL, SQL Server, MongoDB, SQLLight و یا ... استفاده کنی.
در همهی DBMSهای بالا میتونید از زبان T-SQL برای کدنویسی استفاده کنید.
منظور شما از sql خیلی واضح نیست!!!
سلام.آیا sql و sqLite فرقی دارن؟اگر دارن در چیه؟
باسلام
SQLite یک برنامه مدیریت بانک اطلاعاتی مبتنی بر زبان استاندارد SQL هست که به صورت رایگان عرضه می شود.
بر خلاف مدل های مرسوم بانک اطلاعاتی ( مثل اوراکل ، MySql ، SQL و …) که به صورت Client/Server می باشند و نیازمند نصب و پیکر بندی هستند ، SQLite یک برنامه مدیریت بانک اطلاعاتی مستقل از سیستم عامل و بدون نیاز به نصب و پیکر بندی است.
دقت بفرمایید این دیتابیس برای حجم اطلاعات خیلی زیاد طراحی نشده و با بالا رفتن حجم اطلاعات از سرعت این دیتابیس کاسته می شود .ولی این مورد را نمیتوان به عنوان ضعف محسوب کرد چراکه باید نسبت به کاری که انجام می گیرد و میزان اطلاعات و تراکنش ها ، یک دیتابیس انتخاب کرد .پس در صورتی که حجم اطلاعات شما زیاد نمی باشد بهترین گزینه استفاده از SQLite خواهد بود.
در مقابل sql برای در پروژه های بزرگ که امنیت و جامعیت اطلاعات در آن خیلی مهم است مورد استفاده قرار می گیرد.
سلام. تشکر میکنم بابت این سایت خوبتون .مهمترین مزیت سایتتون اینه که ترجمه شده است.امیدوارم موفق باشید در ادامه کار زیباتون
با سلام
من آموزش SQL را از سایت شما مطالعه کردم و کاملا با آن آشنا شدم. یک دنیا ممنون
سلام
برای استفاد از کدهای sql باید چه کار کرد مثلا در phpmyadmin پایگاه داده ای ساختم حالا میخواهم در مرورگر این اطلاعات رو چاپ کنم چگونه با sql این کار رو بکنم؟
کدهای sql را در چه مکانی باید نوشت و با چه پسوندی؟
با سلام.
زمانی که بانک اطلاعاتی رو ساختید، از طریق برنامه نویسی باید به اون پایگاه داده وصل بشید و توسط کوئری میتونید اطلاعات موردنیاز رو بخونید. فرض میکنیم شما قصد دارید از طریق 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 برای فهم راحت تر شما نوشته شده است. پارامترها رو بر حسب اطلاعات خودتون در دیتابیس تغییر بدید و نتیجه رو مشاهده کنید. اولین خروجی که بگیرید، مطمئنا باقی مراحل رو خودتون میتونید چطوری باید طی کنید.
سلام تفاوت sqlو sql server وmy sql و.....در چیه ؟
سلام
sql : یک زبان برای دسترسی به داده های ذخیره شده در دیتابیس است.
sql server: یک اپلیکیشن است که عملیات sql در آن انجام می شود. در واقع یک سیستم مدیریت پایگاه داده است.
mysql: یک سیستم مدیریت پایگاه داده است.
با اینکه مطالبتون از خودتون نیست و ترجمه شده از w3schools ولی کارتون واقعن درسته!
این کار لازم بود چون معمولن آموزشای فارسی ساختار درستی رو پیش نمیرن.
ولی حداقل روی رابط کاربری سایتتون یکم کار کنید، برازنده شما نیست یه همچین چیز داغونی!
اگه فکر می کنی سایت داغونیه چرا میای اینجا! لطف کن و نیا!
به جای تشکرته!!!
واقعا متاسفم برای بعضی ها که به جای تشکر از دوستمون که کلی زحمت کشیده همچین رفتاری دارن!
ممنون از لطف شما و تشکر از نحوه ی ابراز نظرتون. هدف با یک کلیک بیاموز سادگی و سریع بودن آموزش بدون وجود جلوه های گرافیکی ای است که فراگیر رو درگیر خودش می کنه.
سلام،خیلی مطالب مفید و کاربرذی قرار دادین. تنکس الات
عجب سایتی
فوق العاده است
ترجمه ها عالی هستن . مرسی
بسیار بسیار عالی بود و تشکر بابت این سایته خوبتون :-) ;-)
congradulation for foundament web site :o
تبریک برای تاسیس سایتتون :)