آموزش SQL: معرفی، فهرست مطالب و نمای کلی زبان

آموزش SQL: معرفی، فهرست مطالب و نمای کلی زبان

توسط admin | گروه SQL Server | 1405/05/22

نظرات 0

آموزش SQL: معرفی، فهرست مطالب و نمای کلی زبان

آموزش SQL

تصویر جلد آموزش SQL تصویر اصلی روی جلد منبع آموزش SQL

Tutorials Point — «یادگیری به‌سادگی»؛ tutorialspoint.com

دربارهٔ این آموزش

SQL یک زبان رایانه‌ای پایگاه داده است که برای بازیابی و مدیریت داده‌ها در پایگاه‌های دادهٔ رابطه‌ای طراحی شده است. SQL مخفف Structured Query Language یا «زبان پرس‌وجوی ساخت‌یافته» است.

این آموزش شروعی سریع برای کار با SQL فراهم می‌کند.

مخاطبان

این مرجع برای افراد مبتدی آماده شده است تا به آن‌ها در درک مفاهیم زبان SQL، از سطح پایه تا پیشرفته، کمک کند.

پیش‌نیازها

پیش از شروع تمرین با انواع مثال‌های این مرجع، فرض بر این است که با مفهوم پایگاه داده، به‌ویژه RDBMS، و نیز با یک زبان برنامه‌نویسی رایانه‌ای آشنا هستید.

اطلاعیهٔ حق نشر و سلب مسئولیت

تمام محتوا و گرافیک‌های این آموزش متعلق به tutorialspoint.com است. هیچ‌یک از محتوای tutorialspoint.com یا این آموزش بدون اجازهٔ کتبی tutorialspoint.com نباید به هیچ شکل یا روشی بازتوزیع یا بازتولید شود. انجام چنین کاری نقض قوانین حق نشر است.

ممکن است این آموزش شامل نادقتی یا خطا باشد و Tutorials Point هیچ تضمینی دربارهٔ دقت سایت یا محتوای آن، از جمله این آموزش، ارائه نمی‌کند. در صورت مشاهدهٔ خطا در سایت tutorialspoint.com یا این آموزش، می‌توان موضوع را از طریق نشانی webmaster@tutorialspoint.com اطلاع داد.

فهرست مطالب

شماره‌های صفحه در این فهرست همان شماره‌های درج‌شده در منبع هستند.

عنوانصفحهٔ منبع
آموزش SQL2
مخاطبان2
پیش‌نیازها2
اطلاعیهٔ حق نشر و سلب مسئولیت2
نمای کلی SQL15
SQL چیست؟15
چرا SQL؟15
تاریخچه16
فرایند SQL16
دستورهای SQL17
DDL — زبان تعریف داده17
DML — زبان دست‌کاری داده17
DCL — زبان کنترل داده17
DQL — زبان پرس‌وجوی داده17
مفاهیم RDBMS در SQL18
فیلد چیست؟19
رکورد یا سطر چیست؟19
ستون چیست؟19
مقدار NULL چیست؟19
محدودیت‌های SQL20
محدودیت NOT NULL20
محدودیت DEFAULT21
مثال21
حذف محدودیت DEFAULT21
محدودیت UNIQUE21
مثال21
حذف محدودیت UNIQUE22
کلید اصلی PRIMARY KEY22
ایجاد کلید اصلی22
حذف کلید اصلی23
کلید خارجی FOREIGN KEY24
مثال24
حذف محدودیت FOREIGN KEY25
محدودیت CHECK25
مثال25
حذف محدودیت CHECK25
ایندکس INDEX26
مثال26
حذف محدودیت INDEX26
یکپارچگی داده26
نرمال‌سازی پایگاه داده27
قاعدهٔ سوم 1NF29
پایگاه‌های دادهٔ RDBMS و SQL32
MySQL32
تاریخچه32
ویژگی‌ها33
MS SQL Server33
تاریخچه33
ویژگی‌ها34
Oracle34
تاریخچه34
ویژگی‌ها35
Microsoft Access36
ویژگی‌ها36
نحو SQL37
دستور SELECT در SQL37
بند DISTINCT در SQL37
بند WHERE در SQL37
بند AND/OR در SQL37
بند IN در SQL38
بند BETWEEN در SQL38
بند Like در SQL38
بند ORDER BY در SQL38
بند GROUP BY در SQL38
بند COUNT در SQL38
بند HAVING در SQL38
دستور CREATE TABLE در SQL38
دستور DROP TABLE در SQL39
دستور CREATE INDEX در SQL39
دستور DROP INDEX در SQL39
دستور DESC در SQL39
دستور TRUNCATE TABLE در SQL39
دستور ALTER TABLE در SQL39
SQL ALTER TABLE Statement (Rename):39
دستور INSERT INTO در SQL39
دستور UPDATE در SQL39
دستور DELETE در SQL40
دستور CREATE DATABASE در SQL40
دستور DROP DATABASE در SQL40
دستور USE در SQL40
دستور COMMIT در SQL40
دستور ROLLBACK در SQL40
انواع داده در SQL41
انواع دادهٔ عددی دقیق41
انواع دادهٔ عددی تقریبی41
انواع دادهٔ تاریخ و زمان42
انواع دادهٔ رشتهٔ نویسه‌ای42
انواع دادهٔ رشتهٔ نویسه‌ای Unicode42
انواع دادهٔ دودویی42
سایر انواع داده43
عملگرهای SQL44
عملگر در SQL چیست؟44
عملگرهای حسابی SQL44
عملگرهای مقایسه‌ای SQL45
عملگرهای منطقی SQL47
عبارت‌های SQL50
نحو50
عبارت‌های بولی در SQL50
عبارت عددی در SQL51
عبارت‌های تاریخ در SQL51
پایگاه داده با CREATE در SQL53
نحو53
مثال53
حذف پایگاه داده با DROP یا DELETE54
نحو54
مثال54
پایگاه داده با SELECT در SQL55
نحو55
مثال55
جدول با CREATE در SQL56
نحو56
نحو56
مثال57
مثال57
جدول با DROP or DELETE در SQL59
نحو59
مثال59
پرس‌وجو INSERT در SQL60
نحو60
مثال60
پرکردن یک جدول با استفاده از جدول دیگر61
پرس‌وجو SELECT در SQL62
نحو62
مثال62
بند WHERE در SQL64
نحو64
مثال64
عملگرهای AND و OR در SQL66
عملگر AND66
نحو66
مثال66
عملگر OR67
نحو67
مثال67
پرس‌وجو UPDATE در SQL69
نحو69
مثال69
پرس‌وجو DELETE در SQL71
نحو71
مثال71
بند LIKE در SQL73
نحو73
مثال74
بند TOP در SQL75
نحو75
مثال75
بند ORDER BY در SQL77
نحو77
مثال77
گروه‌بندی با GROUP BY در SQL79
نحو79
مثال79
کلیدواژهٔ DISTINCT در SQL81
نحو81
مثال81
مرتب‌سازی نتایج SQL83
نحو83
مثال83
محدودیت‌های SQL85
محدودیت NOT NULL85
محدودیت DEFAULT86
مثال86
حذف محدودیت DEFAULT86
محدودیت UNIQUE87
مثال87
حذف محدودیت UNIQUE87
کلید اصلی PRIMARY KEY88
ایجاد کلید اصلی88
حذف کلید اصلی89
کلید خارجی FOREIGN KEY89
مثال89
حذف محدودیت FOREIGN KEY90
محدودیت CHECK90
مثال90
حذف محدودیت CHECK91
ایندکس INDEX91
مثال91
حذف محدودیت INDEX91
حذف محدودیت‌ها92
محدودیت‌های یکپارچگی92
پیوندهای JOIN در SQL93
انواع JOIN در SQL94
INNER JOIN94
نحو94
مثال94
LEFT JOIN95
نحو95
مثال95
RIGHT JOIN96
نحو96
مثال96
FULL JOIN97
نحو97
مثال98
SELF JOIN99
نحو99
مثال99
CARTESIAN JOIN100
نحو100
مثال100
بند UNION در SQL102
نحو102
مثال102
بند UNION ALL103
نحو103
مثال104
مثال105
مقادیر NULL در SQL109
نحو109
مثال109
نحو نام مستعار در SQL111
نحو111
مثال111
ایندکس‌های SQL113
دستور CREATE INDEX113
ایندکس‌های تک‌ستونه113
ایندکس‌های یکتا113
ایندکس‌های مرکب114
ایندکس‌های ضمنی114
دستور DROP INDEX114
چه زمانی باید از ایندکس‌ها پرهیز کرد؟114
دستور ALTER TABLE در SQL115
نحو115
مثال116
دستور TRUNCATE TABLE در SQL118
نحو118
مثال118
استفاده از نماها در SQL119
ایجاد نماها119
مثال119
گزینهٔ WITH CHECK OPTION120
به‌روزرسانی یک نما120
درج سطرها در یک نما121
حذف سطرها از یک نما122
حذف نماها122
بند HAVING در SQL123
نحو123
مثال123
تراکنش‌های SQL125
ویژگی‌های تراکنش‌ها125
کنترل تراکنش125
دستور COMMIT125
مثال126
دستور ROLLBACK126
مثال126
دستور SAVEPOINT127
مثال127
دستور RELEASE SAVEPOINT128
دستور SET TRANSACTION129
عملگرهای نویسهٔ جایگزین در SQL130
نحو130
مثال131
توابع تاریخ در SQL132
ADDDATE(date,INTERVAL expr unit), ADDDATE(expr,days)134
ADDTIME(expr1,expr2)135
CONVERT_TZ(dt,from_tz,to_tz)135
CURDATE()135
CURRENT_DATE and CURRENT_DATE()136
CURTIME()136
CURRENT_TIME and CURRENT_TIME()136
CURRENT_TIMESTAMP and CURRENT_TIMESTAMP()136
DATE(expr)136
DATEDIFF(expr1,expr2)136
DATE_ADD(date,INTERVAL expr unit),137
DATE_SUB(date,INTERVAL expr unit)137
DATE_FORMAT(date,format)138
DATE_SUB(date,INTERVAL expr unit)140
DAY(date)140
DAYNAME(date)140
DAYOFMONTH(date)140
DAYOFWEEK(date)140
DAYOFYEAR(date)140
EXTRACT(unit FROM date)141
FROM_DAYS(N)141
FROM_UNIXTIME(unix_timestamp)141
FROM_UNIXTIME(unix_timestamp,format)141
HOUR(time)142
LAST_DAY(date)142
LOCALTIME and LOCALTIME()142
LOCALTIMESTAMP and LOCALTIMESTAMP()142
MAKEDATE(year,dayofyear)142
MAKETIME(hour,minute,second)143
MICROSECOND(expr)143
MINUTE(time)143
MONTH(date)143
MONTHNAME(date)143
NOW()144
PERIOD_ADD(P,N)144
PERIOD_DIFF(P1,P2)144
QUARTER(date)144
SECOND(time)145
SEC_TO_TIME(seconds)145
STR_TO_DATE(str,format)145
SUBDATE(date,INTERVAL expr unit) and SUBDATE(expr,days)145
SUBTIME(expr1,expr2)146
SYSDATE()146
TIME(expr)146
TIMEDIFF(expr1,expr2)146
TIMESTAMP(expr), TIMESTAMP(expr1,expr2)147
TIMESTAMPADD(unit,interval,datetime_expr)147
TIMESTAMPDIFF(unit,datetime_expr1,datetime_expr2)147
TIME_FORMAT(time,format)148
TIME_TO_SEC(time)148
TO_DAYS(date)148
UNIX_TIMESTAMP(), UNIX_TIMESTAMP(date)148
UTC_DATE, UTC_DATE()149
UTC_TIME, UTC_TIME()149
UTC_TIMESTAMP, UTC_TIMESTAMP()149
WEEK(date[,mode])149
WEEKDAY(date)150
WEEKOFYEAR(date)150
YEAR(date)150
YEARWEEK(date), YEARWEEK(date,mode)151
جدول‌های موقت SQL152
مثال152
حذف جدول‌های موقت153
کپی‌کردن جدول‌ها در SQL154
مثال154
مرحلهٔ ۱154
مرحلهٔ ۲154
مرحلهٔ ۳155
زیرپرس‌وجوهای SQL156
زیرپرس‌وجو با دستور SELECT156
مثال157
زیرپرس‌وجو با دستور INSERT157
مثال157
زیرپرس‌وجو با دستور UPDATE158
مثال158
زیرپرس‌وجو با دستور DELETE158
مثال159
استفاده از دنباله‌ها در SQL160
استفاده از ستون AUTO_INCREMENT160
مثال160
دریافت مقادیر AUTO_INCREMENT161
مثال Perl161
مثال PHP161
شماره‌گذاری مجدد یک دنبالهٔ موجود161
شروع دنباله از یک مقدار مشخص161
مدیریت داده‌های تکراری در SQL163
نحو163
مثال163
تزریق SQL165
جلوگیری از تزریق SQL166
مسئلهٔ LIKE166
توابع کاربردی SQL167
ABS(X)176
ACOS(X)176
ASIN(X)176
ATAN(X)176
ATAN2(Y,X)177
BIT_AND(expression)177
BIT_COUNT(numeric_value)177
BIT_OR(expression)177
CEIL(X)178
CEILING(X)178
CONV(N,from_base,to_base)178
COS(X)178
COT(X)179
DEGREES(X)179
EXP(X)179
FLOOR(X)179
FORMAT(X,D)180
GREATEST(n1,n2,n3,..........)180
INTERVAL(N,N1,N2,N3,..........)180
INTERVAL(N,N1,N2,N3,..........)180
LEAST(N1,N2,N3,N4,......)181
LOG(X)181
LOG(B,X)181
LOG10(X)181
MOD(N,M)181
OCT(N)182
PI()182
POW(X,Y)182
POWER(X,Y)182
RADIANS(X)182
ROUND(X)183
ROUND(X,D)183
SIGN(X)183
SIN(X)183
SQRT(X)184
STD(expression)184
STDDEV(expression)184
TAN(X)184
TRUNCATE(X,D)184
ASCII(str)186
BIN(N)187
BIT_LENGTH(str)187
CHAR(N,... [USING charset_name])187
CHAR_LENGTH(str)187
CHARACTER_LENGTH(str)188
CONCAT(str1,str2,...)188
CONCAT_WS(separator,str1,str2,...)188
CONV(N,from_base,to_base)188
ELT(N,str1,str2,str3,...)189
EXPORT_SET(bits,on,off[,separator[,number_of_bits]])189
FIELD(str,str1,str2,str3,...)189
FIND_IN_SET(str,strlist)189
FORMAT(X,D)189
HEX(N_or_S)190
INSERT(str,pos,len,newstr)190
INSTR(str,substr)190
LCASE(str)191
LEFT(str,len)191
LENGTH(str)191
LOAD_FILE(file_name)191
LOCATE(substr,str), LOCATE(substr,str,pos)191
LOWER(str)192
LPAD(str,len,padstr)192
LTRIM(str)192
MAKE_SET(bits,str1,str2,...)192
MID(str,pos,len)193
OCT(N)193
OCTET_LENGTH(str)193
ORD(str)193
POSITION(substr IN str)193
QUOTE(str)193
expr REGEXP pattern194
REPEAT(str,count)194
REPLACE(str,from_str,to_str)194
REVERSE(str)195
RIGHT(str,len)195
RPAD(str,len,padstr)195
RTRIM(str)195
SOUNDEX(str)196
expr1 SOUNDS LIKE expr2196
SPACE(N)196
STRCMP(str1, str2)196
SUBSTRING(str,pos)197
SUBSTRING(str FROM pos)197
SUBSTRING(str,pos,len)197
SUBSTRING(str FROM pos FOR len)197
SUBSTRING_INDEX(str,delim,count)197
TRIM([{BOTH | LEADING | TRAILING} [remstr] FROM] str)198
TRIM([remstr FROM] str)198
UCASE(str)198
UNHEX(str)198
UPPER(str)199

فصل ۱ — نمای کلی SQL

این آموزش، یادگیری ویژه‌ای دربارهٔ زبان پرس‌وجوی ساخت‌یافته ارائه می‌کند و امکان تمرین دستورهای SQL را فراهم می‌سازد؛ دستورهایی که نتیجهٔ آن‌ها بلافاصله قابل مشاهده است. SQL زبان پایگاه داده است و عملیات ایجاد و حذف پایگاه داده، بازیابی سطرها، تغییر سطرها و موارد مشابه را در بر می‌گیرد.

SQL یک استاندارد ANSI، یعنی مؤسسهٔ ملی استانداردهای آمریکا، است؛ بااین‌حال نسخه‌ها و گویش‌های متفاوتی از زبان SQL وجود دارند.

SQL چیست؟

SQL همان Structured Query Language یا «زبان پرس‌وجوی ساخت‌یافته» است؛ زبانی رایانه‌ای برای ذخیره‌سازی، دست‌کاری و بازیابی داده‌های نگهداری‌شده در پایگاه دادهٔ رابطه‌ای.

SQL زبان استاندارد سامانه‌های پایگاه دادهٔ رابطه‌ای است. سامانه‌های مدیریت پایگاه دادهٔ رابطه‌ای مانند MySQL، Microsoft Access، Oracle، Sybase، Informix، PostgreSQL و SQL Server از SQL به‌عنوان زبان استاندارد پایگاه داده استفاده می‌کنند.

این سامانه‌ها در عین حال گویش‌های متفاوتی نیز به‌کار می‌برند:

  • SQL Server از T-SQL استفاده می‌کند.
  • Oracle از PL/SQL استفاده می‌کند.
  • نسخهٔ SQL در Microsoft Access، در قالب بومی، JET SQL نام دارد و موارد مشابه دیگری نیز وجود دارد.

چرا SQL؟

  • به کاربران اجازه می‌دهد به داده‌های سامانه‌های مدیریت پایگاه دادهٔ رابطه‌ای دسترسی داشته باشند.
  • به کاربران اجازه می‌دهد داده‌ها را توصیف کنند.
  • به کاربران اجازه می‌دهد داده‌ها را در پایگاه داده تعریف و آن‌ها را دست‌کاری کنند.
  • امکان جاسازی SQL در زبان‌های دیگر با استفاده از ماژول‌ها، کتابخانه‌ها و پیش‌پردازنده‌های SQL را فراهم می‌کند.
  • به کاربران اجازه می‌دهد پایگاه داده و جدول ایجاد یا حذف کنند.
  • به کاربران اجازه می‌دهد در پایگاه داده نما، رویهٔ ذخیره‌شده و تابع ایجاد کنند.
  • به کاربران اجازه می‌دهد روی جدول‌ها، رویه‌ها و نماها مجوز دسترسی تعیین کنند.

تاریخچه

  • ۱۹۷۰: دکتر E. F. «Ted» Codd از IBM به‌عنوان پدر پایگاه‌های دادهٔ رابطه‌ای شناخته می‌شود. او یک مدل رابطه‌ای برای پایگاه‌های داده توصیف کرد.
  • ۱۹۷۴: زبان پرس‌وجوی ساخت‌یافته پدیدار شد.
  • ۱۹۷۸: IBM برای توسعهٔ ایده‌های Codd کار کرد و محصولی با نام System/R ارائه داد.
  • ۱۹۸۶: IBM نخستین نمونهٔ اولیهٔ پایگاه دادهٔ رابطه‌ای را توسعه داد و این فناوری توسط ANSI استاندارد شد. نخستین پایگاه دادهٔ رابطه‌ای توسط Relational Software عرضه شد؛ شرکتی که بعدها به Oracle تبدیل شد.

فرایند SQL

هنگامی که یک دستور SQL را برای هر RDBMS اجرا می‌کنید، سامانه بهترین روش انجام درخواست را تعیین می‌کند و موتور SQL مشخص می‌کند وظیفه چگونه تفسیر شود.

اجزای مختلفی در این فرایند حضور دارند؛ از جمله توزیع‌کنندهٔ پرس‌وجو، موتورهای بهینه‌سازی، موتور کلاسیک پرس‌وجو و موتور پرس‌وجوی SQL. موتور کلاسیک پرس‌وجو همهٔ پرس‌وجوهای غیر SQL را مدیریت می‌کند، در حالی که موتور پرس‌وجوی SQL فایل‌های منطقی را مدیریت نمی‌کند.

شکل زیر معماری سادهٔ SQL را مطابق نمودار منبع نشان می‌دهد:

معماری SQL جریان پرس‌وجوی SQL از پردازشگر زبان پرس‌وجو به موتور DBMS و پایگاه دادهٔ فیزیکی، همراه با تجزیه‌گر، بهینه‌ساز، مدیر فایل و مدیر تراکنش. پرس‌وجوی SQL پردازشگر زبانپرس‌وجو تجزیه‌گر + بهینه‌ساز موتورDBMS مدیر فایل+مدیر تراکنش پایگاه دادهٔ فیزیکی

دستورهای SQL

دستورهای استاندارد SQL برای تعامل با پایگاه‌های دادهٔ رابطه‌ای شامل CREATE، SELECT، INSERT، UPDATE، DELETE و DROP هستند. این دستورها بر اساس ماهیتشان در گروه‌های زیر دسته‌بندی می‌شوند:

DDL — زبان تعریف داده

دستورتوضیح
CREATEیک جدول جدید، نمایی از یک جدول یا شیء دیگری در پایگاه داده ایجاد می‌کند.
ALTERیک شیء موجود پایگاه داده، مانند جدول، را تغییر می‌دهد.
DROPکل یک جدول، نمای یک جدول یا شیء دیگری را از پایگاه داده حذف می‌کند.

DML — زبان دست‌کاری داده

دستورتوضیح
INSERTیک رکورد ایجاد می‌کند.
UPDATEرکوردها را تغییر می‌دهد.
DELETEرکوردها را حذف می‌کند.

DCL — زبان کنترل داده

دستورتوضیح
GRANTیک امتیاز یا مجوز را به کاربر می‌دهد.
REVOKEامتیاز یا مجوزی را که به کاربر داده شده است پس می‌گیرد.

DQL — زبان پرس‌وجوی داده

دستورتوضیح
SELECTرکوردهای مشخصی را از یک یا چند جدول بازیابی می‌کند.

امتیاز کاربران به این مقاله

☆☆☆☆☆

0 نفر امتیاز داده اند. میانگین: 0.0 از 5

 

0 نظر

نظر محترم شما در مورد مقاله های وب سایت برنامه نویسی و پایگاه داده

نظرات محترم شما در خدمات رسانی بهتر ما را یاری می نمایند. لطفا اگر مایل بودید یک نظر ما را مهمان فرمائید. آدرس ایمیل و وب سایت شما نمایش داده نخواهد شد.

0 / 500

اطلاعات تماس

  • آدرس:اصفهان-خیابان ام کلثوم غربی - بعد خیابان تخم چی - بیست متر بعد از پیتزا ننه شب - کوچه تعمیر گاه سمار زغالی - پلاک 354 - درب مشکی - طبقه هفتم
  • آدرس ایمیل:najafzade@gmail.com
  • وب سایت:http://www.a00b.com/
  • تلفن ثابت:(+98)9131253620
  • تلفن همراه:09131253620