مبانی SQL
قبل از اینکه اقدام به دسترسی و تغییر دیتابیس ها کنید لازم است در مورد مبانی SQL اطلاعاتی داشته باشید. از این زبان برای پرس و جو در دیتابیس استفاده می شود.درک SQL بسیار ساده و آسان است. از SQL تنها برای پرس و جوی داده استفاده نمی شود، بلکه تقریبا از آن برای انجام هر کاری مثلا ایجاد، بروزرسانی و حذف دیتابیس و جداول استفاده می شود. از آن جاییکه این کتاب در مورد SQL نیست فقط در مورد مباحثی از آن که مورد نیازمان است توضیح می دهیم.
انواع داده های SQL
SQL همانند اکثر زبان ها دارای انواع داده ای است که در جدول زیر به مهمترین آنها اشاره شده است :
نوع داده | توضیح | مثال |
int | داده های صحیح | -3, 1, 12, 57 |
char(n) | رشته ای با طول ثابت که در آن n نهایت طول رشته است | ‘hello’, ‘goodbye’ |
varchar(n) | رشته ای با طول متغیر که در آن n نهایت طول رشته است | ‘hello’, ‘goodbye’ |
datetime | برای ذخیره ساعت و روز | Jan 1, 2010 3:00PM |
date | برای ذخیره فقط روز | Jan 1, 2010 |
time | برای ذخیره فقط ساعت | 3:00PM |
money | برای ذخیره نوع پول | 123.45 |
به این نکته توجه کنید که char(n) و varchar(n) به نظر می رسد شبیه هم باشند. char(n) ثابت است و سایز آن یکبار توسط شما مشخص می شود و و حافظه اشغال شده توسط آن، بستگی به همین سایز دارد. اگر سایزی که شما انتخاب کرده اید 100 باشد و رشته ای که ذخیره می کنید دارای 3 کاراکتر باشد در اینصورت char(n) باز هم مقدار حافظه ای معادل 100 کاراکتر را اشغال می کند. varchar(n) کمی متفاوت است و فقط مقدار حافظه ای را که لازم دارد اشغال می کند. به این نکته هم توجه کنید که کاراکترهای رشته در داخل کوتیشن محصور هستند. برای مشاهده لیست کامل داده های SQL به لینک زیر مراجعه کنید :
دستورات SQL
SQL دارای دستوراتی برای کار با بانک اطلاعاتی مانند ایجاد بانک، ایجاد و حذف جداول و کار با داده های ذخیره شده در بانک می باشد که در جدول زیر به مهمترین آنها اشاره شده است :
دستور | نحوه استفاده | کاربرد |
ALTER TABLE | ALTER TABLE table_name ADD column_name datatype
or ALTER TABLE table_name DROP COLUMN column_name |
برای اضافه کردن، حذف کردن یا تغییر ستون ها در جدول موجود استفاده می شود. |
CREATE DATABASE | CREATE DATABASE database_name | یک دیتابیس جدید ایجاد می کند. |
CREATE TABLE | CREATE TABLE table_name ( column_name1 data_type, column_name2 data_type, column_name3 data_type, … ) |
یک جدول جدید ایجاد می کند. |
DELETE | DELETE FROM table_name WHERE some_column=some_value
or DELETE FROM table_name DELETE * FROM table_name |
برای حذف یک رکورد یا همه رکوردهای جدول به کار می رود. |
DROP DATABASE | DROP DATABASE database_name | برای حذف دیتابیس به کار می رود. |
DROP TABLE | DROP TABLE table_name | برای حذف جدول به کار می رود. |
INSERT INTO |
INSERT INTO table_name VALUES (value1, value2, value3,….)
or INSERT INTO table_name (column1, column2, column3,…) VALUES (value1, value2, value3,….) |
برای اضافه کردن یک یا چند رکورد به جدول به کار می رود. |
LIKE | SELECT column_name(s) FROM table_name WHERE column_name LIKE pattern | به همراه دستور WHERE برای پیدا کردن یک الگوی خاص در یک ستون استفاده می شود. |
ORDER BY | SELECT column_name(s) FROM table_name ORDER BY column_name [ASC|DESC] | برای مرتب کردن نتیجه پرس و جو بر اساس ستون مشخص شده به صورت صعودی یا نزولی به کار می رود. |
SELECT | SELECT column_name(s) FROM table_name | برای استخراج داده های ستون های خاصی از جدول به کار می رود. |
SELECT * | SELECT * FROM table_name | برای استخراج داده های یک جدول به کار می رود. |
UPDATE | UPDATE table_name SET column1=value, column2=value,… WHERE some_column=some_value | برای به روز رسانی رکوردهای موجود در یک جدول استفاده می شود. |
WHERE | SELECT column_name(s) FROM table_name WHERE column_name operator value | برای استخراج رکوردهایی که در شرط خاصی صدق می کنند کاربرد دارد. |
SQL به تنهایی زبان پیشرفته و بزرگی است. بیشتر از این در مورد آن توضیح نمی دهیم. برای مشاهده لیست کامل دستورات SQL یه لینک زیر مراجعه کنید :
حال که با مفاهیم پایه ای آن آشنا شدید، در درس بعد با کاربرد این دستورات به صورت عملی آشنا می شوید.
سلام ،،، ببخشید من میخام به دیتابیسی که توی اس کیو ال ساختم وصل بشم نمیتونم .
Sqldatasource را میزنم ولی وقتی فایل mdf را میخام بیارم میگه پرمیشن نداری . میشه لطفا راهنماییم کنید . بینهایت ممنونم
سلام، ممنون میشم سوالتونو تو بخش پرسش و پاسخ مطرح بفرمایید
http://www.w3-farsi.com/forum/
سلام آقای ابراهیمی.
من میخوام در مورد چهار عمل اصلی روی پایگاه داده از روش دیتاست و دیتا آدابتور یه چیزایی بدونم و کار کنم،
در مورد این مباحث چیزی توی سایتتون هست که بتونم استفاده منم.
حق عضویت سایت هم پرداخت کردم.
سلامريال قسمت Ado.net رو بخونید
سلام آقای ابراهیمی میشه لطفا این دستورات SQL را یک بار کامل توضیح بدید لطفا؟ممنون
واقعا ممنون
خواهش می کنم
سلام آقای ابراهیمی ، خواستم از زحماتتون و همتتون نهایت تشکر را داشته باشم . امیدوارم که ادامه داشته باشد .
ممنون دوست عزیز از اینکه نظر دادین…حتما ادامه خواهد داشت…فقط از شما و دوستای عزیز دیگه خواهش می کنم اگه کدی دارین به ایمیلم (younes_ebrahimi_1391@yahoo.com) ارسال کنید تا واسه بقیه به اشتراک بذارم…