آموزش 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ها روی اشیایی از پایگاه داده به نام جدول ها ذخیره می شوند.
یک جدول مجموعه ای از داده های مرتبط به هم می باشد و شامل سطر و ستون ها می باشد.
بهتره که اول SQL را آموزش ببینم یا asp.net?
ممنون از سایت خوبتون
آموزش SQL عالی بود. تشکر
برای ایجاد یک role طبق دستور زیر رفتم
[dir=#555] create role CEO
grant select on karmandane_pakhsh to CEO
exec sp_addrolemember 'CEO','rezaei'[/dir]
اما این ارور رو میده
[dir=#555]User or role 'rezaei' does not exist in this databas[/dir]
باید اسم یا فامیلی رو با هم بزنم یا کلا اینا هیچکدوم نمیشه ؟
متن خطا داره میگه rezaei موجود نیست! این رو چک کنید.
میخواستم بپرسم چطور میتونم در sql server 2008 فیلدهایی رو به نمایش در بیارم که not null هستند و نمیتونه مقدار فیلدشون خالی باشه
باتشکر از سایت خوبتون
منظورتون فیلد هست یا رکورد؟؟؟
رکورد سطرهایی از جدول هست که در اون اطلاعات موردنیاز هر رکورد ذخیره شده است.
ولی فیلد در واقع مشخصهی موردنیاز برای یک از ستونهای جدول هست.
ومقدار ان نمیتواند خالی باشد
[dir=#555]SELECT * FROM table_name WHERE field1 IS NOT NULL AND field2 IS NOT NULL[/dir]
کوئری بالا تمامی سطرهایی رو میاره که فیلد field1 و field2 اون خالی نباشه.
وقتی چندتا دیتا بیس ایجاد کردیم چه دستوری باید وارد کنیم تا اسامی پایگاه داده هایی که داریم رو لیست کنه؟
توسط دستور زیر میتونید دیتابیسها رو توی SQL Server ببینید:
[dir=#555]SELECT name, database_id, create_date
FROM sys.databases ;[/dir]
آموزش ها عالی است.
DBMSها برای همین کار طراحی شده اند، یعنی طراحی بانکهای اطلاعاتی.
سوالتون تا حدودی واضح نیست، بیشتر توضیح بدید تا بشه دقیق کمکتون کرد.
موفق باشید.
برای طرای بانک اطلاعاتی (دیتابیس،پایگاه داده) باید از mysql یاsqllite استفاده کرد ایا با sql هم به تنهایی می شود بانک اطلاعاتی را ساخت ؟ یا فقط برای کوئری ها است ؟
دوست عزیز فکر کنم سؤالت کمی اشکال داره.
در گام اول طراحی بانک اطلاعاتی جدا از فاز اجرایی، شامل تحلیل نیازمندیها، طراحی و تشخیص موجودیتها، روابط بین اونها و ... هست.
بعد از اون طراحی جداول و فیلدهای موردنیاز اونها است و ایجاد ارتباطات لازم بین اونها است.
گام سوم نرمالسازی جداول هست تا پدید آنومالی و افزونگی دادهها به حداقل برسه.
این موارد رو که انجام دادی، باید دیتابیس رو ببری تو فاز اجرایی. یعنی اینکه یک DBMS انتخاب کنی و این دیتابیس رو توش طراحی کنی. میتونی از MySQL, SQL Server, MongoDB, SQLLight و یا ... استفاده کنی.
در همهی DBMSهای بالا میتونید از زبان T-SQL برای کدنویسی استفاده کنید.
منظور شما از sql خیلی واضح نیست!!!
SQLite یک برنامه مدیریت بانک اطلاعاتی مبتنی بر زبان استاندارد SQL هست که به صورت رایگان عرضه می شود.
بر خلاف مدل های مرسوم بانک اطلاعاتی ( مثل اوراکل ، MySql ، SQL و …) که به صورت Client/Server می باشند و نیازمند نصب و پیکر بندی هستند ، SQLite یک برنامه مدیریت بانک اطلاعاتی مستقل از سیستم عامل و بدون نیاز به نصب و پیکر بندی است.
دقت بفرمایید این دیتابیس برای حجم اطلاعات خیلی زیاد طراحی نشده و با بالا رفتن حجم اطلاعات از سرعت این دیتابیس کاسته می شود .ولی این مورد را نمیتوان به عنوان ضعف محسوب کرد چراکه باید نسبت به کاری که انجام می گیرد و میزان اطلاعات و تراکنش ها ، یک دیتابیس انتخاب کرد .پس در صورتی که حجم اطلاعات شما زیاد نمی باشد بهترین گزینه استفاده از SQLite خواهد بود.
در مقابل sql برای در پروژه های بزرگ که امنیت و جامعیت اطلاعات در آن خیلی مهم است مورد استفاده قرار می گیرد.
grant select, insert, update, delete
on shop_sc.*
to shop_sc@localhost identified by 'password';[/dir]
میخواستم بپرسم این تیکه دستور مشکلش کجاست لطفا کمکم کنتید ممنون
بهتره برای این کار در اس کیو ال دیتابیس رو بسازید و برای وارد کردن جداول، فقط کدههای مربوط به جداول رو وارد کنید.
کدی که گذاشتید، برای ایجاد دسترسی به کار میره...
تو ایجاد سطح دسترسی، مشکلی وجود داره.
من آموزش SQL را از سایت شما مطالعه کردم و کاملا با آن آشنا شدم. یک دنیا ممنون
برای استفاد از کدهای sql باید چه کار کرد مثلا در phpmyadmin پایگاه داده ای ساختم حالا میخواهم در مرورگر این اطلاعات رو چاپ کنم چگونه با sql این کار رو بکنم؟
کدهای sql را در چه مکانی باید نوشت و با چه پسوندی؟
زمانی که بانک اطلاعاتی رو ساختید، از طریق برنامه نویسی باید به اون پایگاه داده وصل بشید و توسط کوئری میتونید اطلاعات موردنیاز رو بخونید. فرض میکنیم شما قصد دارید از طریق php به بانک اطلاعاتی وصل بشید.
نام دیتابیس شما db_name هست و نام کاربری پیش فرض هم root بدون پسورد هست.
در کد php زیر شما میتونید به بانک وصل بشید و اطلاعات موردنیاز از جدول tbl_test رو بخونید.
[dir=#555]<?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) . '';
?>[/dir]
کد بالا خیلی ساده و با استفاده از توابع mysql برای فهم راحت تر شما نوشته شده است. پارامترها رو بر حسب اطلاعات خودتون در دیتابیس تغییر بدید و نتیجه رو مشاهده کنید. اولین خروجی که بگیرید، مطمئنا باقی مراحل رو خودتون میتونید چطوری باید طی کنید.
sql : [color=#FF0000]یک زبان[/color] برای دسترسی به داده های ذخیره شده در دیتابیس است.
sql server: یک اپلیکیشن است که عملیات sql در آن انجام می شود. در واقع یک سیستم مدیریت پایگاه داده است.
mysql: یک سیستم مدیریت پایگاه داده است.
راجع به دستور select جداول سوال داشتم. چندتا جدول می خوام با هم join کنم از داخل هر جدولی دو تا ستون تقریبا لازمه. مثلا select name, company from tbl_customer inner join tbl_company این خط کد تمامی فیلدای دو جدول در نظر میگیره بعد دو ستون لازم دارم نمایش میده؟ پس سرعت کار کم می کنه؟ چه جوری باید بنویسم اول باید ستونایی که می خوام select کنم بعد join کنم؟ میشه کدشو بنویسین؟ ممنون
در Join کردن هر چه تعداد جداول بیشتر باشه، مسلما سرعت واکشی کمتر میشه. همینطور نوع JOIN هم تا حدودی دخیل هست. مثلا INNER بیشتر از LEFT هست.
بهتره برای واکشی سریعتر جدول بزرگ اول بیاد و به ترتیب جداول از نظر بزرگی بعدش بیان. همینطور فقط فیلدهایی رو واکشی کنید که نیاز دارید. شاید اینطوری کمی کوئری شما بزرگ بشه، ولی سرعت واکشی بهتری داره نسبت به زمانی که تمامی فیلدها رو توسط * واکشی کنید.
این مفهوم در بانکهای اطلاعاتی به «کاردینالیتی» معروف هست. در کاردینالیتی شما مشخص میکنید که ارتباط درس و دانشاموز مثلا تا سقف (1, 20) هست. یعنی هر دانشآموز میتونه حداقل یک درس و حداکثر 20 درس برداره.
در مورد عبارت کاردینالیتی در اینترنت سرچ کنید. مطالب خوبی به دست میارید.
مقدار NULL چه تاثیری در نتیجه JOIN دارد؟
[dir=#555]IF (NULL = NULL) PRINT ‘It Does’ ELSE PRINT ‘It Doesn’’t’
IF (NULL != NULL) PRINT ‘It Does’ ELSE PRINT ‘It Doesn’’t’[/dir]
سؤالتون واضح نیست. ما حالتهای مختلفی از JOIN داریم که در اون جدولی با یک جدول دیگه توسط فیلدهای مشخصی که براشون تعیین میکنیم،به هم متصل میشن.
منظورتون از NULL و همینطور JOIN رو واضحتر بیان کنید.
این کار لازم بود چون معمولن آموزشای فارسی ساختار درستی رو پیش نمیرن.
ولی حداقل روی رابط کاربری سایتتون یکم کار کنید، برازنده شما نیست یه همچین چیز داغونی!
به جای تشکرته!!!
واقعا متاسفم برای بعضی ها که به جای تشکر از دوستمون که کلی زحمت کشیده همچین رفتاری دارن!
من mysql رو دانلود کردم.یکیش 5 مگابایت بود و یکیش رو از سایت رسمیش دانلود کردم 300 مگابایت
هیچ کدومش کار نکرد
میشه یکی لینک دانلود بده تا نصبش کنم و بتونم این آموزش ها رو روش کار کنم؟
ممنون
برای اجرای mysql در ویندوز بهتره نرم افزار wamp یا xamp رو از اینترنت دانلود کرده و سپس اون رو نصب و اجرا کنید. mysql به تنهایی کمی قلق داره.
بعد از نصب نرم افزارهای فوق میتونید از طریق مرورگر اینترنت و تایپ آدرس localhost/phpmyadmin در نوار آدرس mysql رو اجرا کنید.
فوق العاده است
ترجمه ها عالی هستن . مرسی