جزوه پایگاه1

17
یاص دس سدسات ه دستMYSQL ذس گشدآ ۺجف آتادی ی ػاتذی فاعو1 یاش دز زدزات ه دستMYSQL رجویان و هنرآموزان هنب خدمت کلیهم و عرض اد با سي در قسمترج شدرات د دست بج با تMY SQL عدم ،زشیای آم محتيي برآن شدم تا جسي دادت کار با پایگازم ج راتج برخی از دست درمار د آن قررات را در از ایه دست شماری دي ومی ای ت. ب آمدي صرف وظر شدي است در کتاراتی ک از دست ذکر استزم ب : زیرا می باشدی کتاب براک ضمیمي ماوىد ی ایه جس. قرار گیرد بزرگوارانستفاده شما مورد ا شدهیه محتوای ته امید است. جف آبادی ی عابدی فاطویص پای92

Upload: kimiyaabedini

Post on 25-Jan-2017

104 views

Category:

Engineering


5 download

TRANSCRIPT

Page 1: جزوه پایگاه1

فاعو ػاتذیی جف آتادیۺ گشدآسذMYSQLدستسات هسد یاص دس

1

MYSQLدستزات هزد یاش دز

با سالم و عرض ادب خدمت کلیه هنرآموزان و هنرجویان

محتای آمزشی، عدم MY SQLبا تج ب دسترات درج شدي در قسمت

درج برخی از دسترات الزم جت کار با پایگاي دادي برآن شدم تا جسي

.ای تی ومدي شماری از ایه دسترات را در آن قرار دم

زیرا : الزم ب ذکر است از دستراتی ک در کتاب آمدي صرف وظر شدي است

.ایه جسي ماوىد یک ضمیم برای کتاب می باشد

. امید است محتوای تهیه شده مورد استفاده شما بزرگواران قرار گیرد

فاطو عابدیی جف آبادی

92پاییص

Page 2: جزوه پایگاه1

فاعو ػاتذیی جف آتادیۺ گشدآسذMYSQLدستسات هسد یاص دس

2

:ایجاد پایگاه داده . تشای ایجاد یک پایگا داد اص دستس ستش استفاد هی ضد

CREATE DATABASE ام پایگا داد ;

. ایجاد واییذmytest1پایگا داد ای ت ام ۺ هثال

Create database mytest1;

. ظاش هی گشددQuery OKدس غستیک دستس ت عس غحیح اسد گشدد پیغام

اص دالیل ػذم هفمیت اجشای دستس فق هی تاى ت اتخاب ام غیش هجاص تشای پایگا داد یا ام تکشاسی

.هجد اضاس ود

جت جلگیشی اص سد ام تکشاسی تشای پایگا داد پیطگیشی اص غذس پیغام خغای هثتوی تش آى هی تاى دس

.اتتذا ام کلی پایگا داد ای هجد سا هطاذ ود

هازدی ک بسای پشتیبای اش شباى فازسی هن ستد

تشای ایک پایگا داد ضوا تا صتاى فاسسی وخای داضت تاضذ، الصم است ک اص هجوػ کاساکتش ایی عثك

. استفاد کیذutf8_persian_ci ت ام COLLATE استفاد کیذ اص utf8استاذاسد

CREATE DATABASE my_first_db DEFAULT CHARACTER SET utf8 COLLATE

utf8_persian_ci;

COLLATE (تغثیك) ای تسیاس هن است هطخع هی کذ ک ػثاست ای COLLATE. تشای ش پایگا داد

ضتاسی ت چ صتای دس پایگا داد رخیش ضذ است پایگا داد تشای جستج دس هیاى ػثاست ا تایذ اص چ

تشای تغثیك MySQLهجوػ کاساکتشای الی ک . هجوػ کاساکتشایی ت ػاى استاذاسد پای استفاد کذ

هی تاضذ latin1_swedish_ciکلو هسد جستج تا ػثاست ای ضتاسی داخل پایگا داد اص آى استفاد هی کذ

تشای صتاى فاسسی الصم است ک اص استاذاسد . ک توام کاساکتشای صتاى اگلیسی سا پطتیثای هی کذ

utf8_persian_ci تشای تغثیك (COLLATE) استفاد کیذ .

Page 3: جزوه پایگاه1

فاعو ػاتذیی جف آتادیۺ گشدآسذMYSQLدستسات هسد یاص دس

3

:هشاد ام پایگا داد ای هجد

.جت هطاذ ام کلی پایگا ای داد هجد دستس صیش استفاد هی ضد

SHOW DATABASES;

ای سا ک دس ای داد ایذ تشایتاى لیست هی کذMySQLایي دستس توام پایگا . ساخت

استفاد اش یک پایگا داد

جت استفاد اص پایگا داد . تشای ایک تتاى تا یک پایگا داد کاس ود لثل اص ش ػولی تایذ آى سا فؼال کیذ

ۺدستس صیش تکاس هی سد

Use ام پایگا داد

.ظاش هی ضد Database changed دس غست غحیح تدى ام پایگا داد پیغام

. سا آهاد وایینmytest1هیخاین پایگا داد ۺ هثال

Use mytest1

. یاص ت سویکالي دس اتای دستس ذاسدquit هاذ دستسuseدستس ۺ کت

استفاد اص ایي دستس یک پایگا داد سا اتخاب هی کذ تا تمی ػولیات، ضاهل ساخت جذال سا تتاین دس دسى

. ایي پایگا داد اجام دین

حرف یک پایگا داد

ایذ هی تایذ اص ای ک ساخت . صیش استفاد کیذQUERYتشای حزف پایگا داد

DROP DATABASE نام پایگاه داده;

دس استفاد اص ایي دستس تسیاس دلیك تاضیذ، چشا ک یچگ پیغام اخغاسی جد ذاسد، ت ویي سادگی ۺکت

.کل پایگا داد حزف هی ضد

Page 4: جزوه پایگاه1

فاعو ػاتذیی جف آتادیۺ گشدآسذMYSQLدستسات هسد یاص دس

4

ایجاد جدل

.هی تاى تا استفاد اص دستس صیش یک جذل دس پایگا داد ایجاد ود

Create table 1نوع داده ای فیلد 1نام فیلد )نام جدول , 2نوع داده ای فیلد 2 نام فیلد ,…);

. سا تا د س فیلذ کذ ػضیت ،ام ام خاادگی ایجاد واییذ memberجذل ۺ هثال

Create table member(id numeric, name VARCHAR(20),family VARCHAR(30));

. هشاجؼ فشهاییذmysql جت اعالع اص ااع داد ای ت تخص ااع داد دس

جدال هجد دز پایگا داد فعال هشاد

دس تشخی اص هاسد یاص ت هطاذ ام جذال هجد دس پایگا داد داسین تذیي هظس اص دستس صیش استفاد

.هی وایین

SHOW TABLES;

.ایي دستس ام کلی جذال هجد دس پایگا داد سا لیست هی وایذ

هشاد ساختاز جدل ایجاد شد

یک جذل، طاى هی دذ ک ستى ایتاى سا چگ تؼشیف کشد ایذ، ک ضاهل ام ستى (Structure)ساختاس

(Field) ع داد، لثل یا ػذم لثل داد ،Null هطاذ ساختاس یک . است... ، ع کلیذ، همذاس پیص فشؼ

جذل ت ضوا کوک هی کذ ک توام اعالػات الصم دستاس جذلتاى سا دس یک لیست کاس ن ت عس هظن

ۺ ساختاس یک جذل تا دستس صیش هطاذ هی گشد.هطاذ کیذ

DESCRIBE ام جذل;

ۺ سا هطاذ وایینmemberهیخاین ساختاس جذل ۺ هثال

DESCRIBE member;

Page 5: جزوه پایگاه1

فاعو ػاتذیی جف آتادیۺ گشدآسذMYSQLدستسات هسد یاص دس

5

بسای جدل(Primary Key)کلید اصلی ایجاد دستس ساخت یک جذل، ستی دس توام جذال جد داسد ک ت ام ستى کلیذ اغلی لشاس یلثل اص اجشا

. ایي ستى دس دستس ساخت جذل ت ػاى کلیذ هؼشفی گشددداسد تایذ

ۺضی هؼشفی کلیذ ت غست صیش است

PRIMARYدس گام تؼشیف جذل تؼذ اص ام ستى هسد ظش ک تشای کلیذ دس ظش گشفت ضذ است ػثاست

KEYلشاس هی گیشد .

حال اگش تخاین همذاس کلیذ یک ػذد غحیح تد ت عس اتهاتیک تا ش تاس سد سکسد جذیذ سضذ وایذ

. سا تؼذ اص تؼشیف ع داد دسج وایینAUTO_INCREMENTػال تش کلو فق الصم است ػثاست

ضواس کاستشی ). سا ت وشا فیلذ ام کاستش ضواس کاستشی تؼشیف وایینUSER2هی خاین جذل ۺ 1هثال

(کلیذ اغلی

CREATE TABLE USER2( IDUSER INT PRIMARY KEY,USERNAME

VARCHAR(20));

. کلیذ اغلی است اها همذاسش تا ش تاس سد داد ت جذل تؼشیف هیطدIDUSERدس ایي هثال فیلذ

ضواس کاستشی ). سا ت وشا فیلذ ام کاستش ضواس کاستشی تؼشیف وایینUSER2هی خاین جذل ۺ 2هثال

(کلیذ اغلی همذاسش اتهاتیک دسج گشدد

CREATE TABLE USER2( IDUSER INT AUTO_INCREMENT PRIMARY

KEY,USERNAME VARCHAR(20));

لی همذاسش ت غست اتهاتیک تا دسج سکسد جذیذ افضایص کلیذ اغلی استIDUSER دس ایي هثال فیلذ

.هی یاتذ

حرف جدل

تاس . تشای حزف یک جذل استفاد کشدDROP TABLE، هی تاى اص دستس DROP DATABASESواذ

. هحتاط تاضیذQUERYدیگش یادآس هی ضم ک یچ پیغام خغایی جد ذاسد، دس استفاد اص ایي

Page 6: جزوه پایگاه1

فاعو ػاتذیی جف آتادیۺ گشدآسذMYSQLدستسات هسد یاص دس

6

زد اطالعات ایی تشای ش فیلذ (ستى)اسد کشدى اعالػات ت یک جذل، یؼی اضاف کشدى یک سغش جذیذ ک ضاهل داد

جد داسد ک ت آا اضاس خاین SQLتشای سد اعالػات دسى یک جذل، چذیي سش تسظ . هی تاضذ

. کشد

. جد داسدINSERT LOAD DATAتشای اجام ایي ػول د دستس

اضافه کردن داده به جدول از طریق یک فایل متنی: روش اول

دس یکی اص یشایطگشای هتی ایجاد واییذ دس شخظ اص ایي هتي TXT دس ایي سش یک فایل هتی تا پسذ

. اص یکذیگش جذا ضذ تاضذTABیک سکسد اعالػاتی خد سا تیسیذ ت عسی ک هحتای فیلذا تا

ۺسپس اص دستس صیش استفاد واییذ

LOAD DATA LOCAL INFILE '/ ام فایل هتی/هسیش پض.txt' INTO TABLE ام جذل

INSERTاستفاده از دستور :روش دوم

.دس ایي سش اعالػات هشتط ت ش سکسد ت س ضکل صیش هی تاذ اسد گشدد

همادیش فیلذای سکسد جذیذی سا ک هی خاین ت جذل اسد کین سا ت Insert Intoدس دستس -الف

. لشاس هیذینInsert Into دس دستس valuesتشتیة دس پشاتض هماتل ػثاست

ۺ تػست صیش است Insert Intoضکل کلی دستس

INSERT INTO table_name VALUES ( value1 , value2 , value3 ,... ) ;

. ام فیلذ ا سا وی یسین، تا همادیش سدی سا اسد هی کینضکل سد اعالػات دس ایي

INSERT INTO users VALUES (NULL,‘webco’,‘info@webco’,‘2013-06-8’);

Page 7: جزوه پایگاه1

فاعو ػاتذیی جف آتادیۺ گشدآسذMYSQLدستسات هسد یاص دس

7

داخلی پاساتض سا ت داخل جذل (VALUES) هی گیذ ک همادیش MySQL، ت QUERYخظ ال دس ایي

users اسد (INSERT INTO) ػثاست ای ضتاسی دس داخل . همادیش تسظ کاها اص یکذیگش جذا هی ضذ. کذ

. همادیش ت واى تشتیة فیلذ ا تایذ ضت ضد تا ش کذام دس ستى خد جای گیشد. کتیطي لشاس هی گیشد

سثت داد ضذ user_idایي همذاس اص ایي جت ت . هی تاضذSQL، ت هؼی همذاس اهؼلم تشای NULLهمذاس

ایي فیلذ اص ) لاتل همذاس دی یست (Auto Increment)است ک ایي فیلذ ت غست اتهاتیک سضذ هی کذ

همذاس email ت فیلذ username ،info@webcoتشای فیلذ ’ webco‘همذاس . (ع کلیذ اغلی هی تاضذ

. تخػیع داد هی ضدcreate_date ت 2013-06-18

این پاساتضا سا SET اص کلو کلیذی VALUESدس ایي سش ت جای استفاد اص کلو کلیذ -ب استفاد کشد

این این، الثت هی تاستین ت user_idدلت کیذ ک هاذ سش ال، دیگش همذاسی تشای فیلذ . حزف کشد ضت

. ضکل صیش ایي لسوت سا یض اسد کین لی احتیاجی ت ایکاس یست

INSERT INTO users SET username=‘webco’, email=‘info@webco’,

create_date ‘2013-06-18’;

وچیي هی تاى ضت

INSERT INTO users SET user_id=NULL,username=‘webco’,

email =‘info@webco’, create_date=‘2013-06-18’;

دس . چشاک همذاس ش فیلذ تا ام آى فیلذ دلیما هطخع ضذ است. دس ایي سش هی تاى تشتیة فیلذ ا سا تغییش داد

DEFAULTایي سش هی تاین فیلذ، یا فیلذ ایی سا دس ظش گیشین، دس آى گام دس دسى آى فیلذ ا همادیش

سا تشای ش ستى دس گام ساختي DEFAULTواغس ک دس همال لثلی اضاس کشدین، همادیش . لشاس هی گیشد

همذاس غفش سا تشای ستای ػذدی، همذاس MySQL اگش ایکاس سا اجام ذاد تاضیذ، . جذال هطخع کیذ

. سا تشای ستای تاسیخ، رخیش هی کذ00-00-0000خالی سا تشای ستایی ضتاسی، همذاس

Page 8: جزوه پایگاه1

فاعو ػاتذیی جف آتادیۺ گشدآسذMYSQLدستسات هسد یاص دس

8

همادیش ش فیلذ سا اسد VALUESسا اسد هی کذ تؼذ کلو کلیذ (ستا) دس ایي سش اتتذا ام فیلذ ا -ج

این، اسد کین. هی کین . دس ایي سش یض تایذ همادیش سا ت واى تشتیثی ک ام فیلذا سا ضت

دس ایي حالت همادیش تػست هتاظش اسد فیلذای تؼییي ضذ اسد ضذ تایستی تؼذاد فیلذا همادیش یکساى

. تاضذ

ۺ تػست صیش است Select Intoضکل کلی حالت دم دستس

INSERT INTO table_name ( Column 1 , Column 2 , Column 3 , ... )

VALUES ( value1 , value2 , value3 ,... ) ;

INSERT INTO users (email, username, create_date)

VALUES (‘info@webco’, ‘web.co’, ‘2013-06018’);

حل هشکل ازد کسدى اطالعات فازسی

تغییش utf-8 الصم است ک ع کاساکتش سا ت PHPدس گام اسد کشدى اعالػات ت صتاى فاسسی تا استفاد اص

. تشای تغییش ع کاساکتشا اص دستس صیش استفاد خاین کشد. دین تا اضکالی دس سد اعالػات پیص یایذ

SET NAMES 'utf8';

ای فاسسی سا یض ت دسستی دس پایگا داد اص ع MySQLایي دستس تاػث هی ضد ک . رخیش کذutf-8 داد

Page 9: جزوه پایگاه1

فاعو ػاتذیی جف آتادیۺ گشدآسذMYSQLدستسات هسد یاص دس

9

تازیخ شهاى

تشای ایک ایي ع داد سا . رخیش هی ضدYYYY-MM-DD H:M:S تا فشهت MySQLتاسیخ صهاى دس

است، سا تشاتش create_dateتتاین رخیش کین، الصم است ک ع داد فیلذ تاسیخ ک دس هثال ها

DATETIMEتا ایي لسوت اص هثال، ها ع داد ایي فیلذ سا . دس ظش تگیشینDATE گشفت تدین ک تا تاسیخ

. سا دس خد رخیش هی کشد

ت هثال صیش تج . صهاى حال سیستن ضوا سا تا فشهتی ک لثال اضاس ضذ، خشجی هی دذSQLدس ()NOWدستس

. کیذ

INSERT INTO users SET create_date = NOW(),username=’webco’;

تشاتش تا صهاى سیستوی ک create_date اضاف هی کذ ک دس آى users سغشی سا ت جذل QUERYایي

MySQLایي . تش سی آى ػة ضذ است لشاس داد ضذ استQUERY یک خغا خاذ داضت، ک خیلی

است حال آک ع DATE دس هثال ها اص ع create_dateواغس ک لثال گفتن، ع داد . هن یست

اص ایي س، دس ایي سغش ت ػلت استفاد طذى لسوت صهاى، . داسای تخص صهاى یض ستNOWخشجی دستس

MySQLتشای اجتاب اص ایي خغا، هی تاى ع داد . یک پیغام خغا وایص هی دذcreate_date سا ت حالت

DATETIMEیا ایک ت جای استفاد اص دستس تثذیل کشد NOW اص دستس CURDATE استفاد کین ک

. تا همذاس تاسیخ سا خشجی هی دذ

. صیش استفاد کیذQUERYتشای هطاذ صهاى حال سیستن خد هی تایذ اص :نکته

SELECT NOW();

هشکل ذخیس تازیخ شوسی

لاتلیت رخیش تاسیخ ضوسی سا داسا وی تاضذ، الصم است ک تشای وایص تاسیخ ضوسی، تؼذ اص MySQLاص آجا ک

رخیش تاسیخ ت ضکل هیالدی، آى سا ت ضکل ضوسی تثذیل کین وایص دین، یا تؼذ اص گشفتي تاسیخ ضوسی،

. آى سا ت ضکل تاسیخ هیالدی تثذیل کشد دس پایگا داد رخیش کین

Page 10: جزوه پایگاه1

فاعو ػاتذیی جف آتادیۺ گشدآسذMYSQLدستسات هسد یاص دس

10

یسایش یک جدل

جذیذی ت جذل اضاف یا کن ضد، یا هطخػات (field)دس تسیاسی اص هالغ پیص هی آیذ ک الصم است ستى

ایي دستس . اجام هی گیشد (تغییش دادى) ALTER تسظ دستس SQLتوام ایي س ع تغییش دس . ستی تغییش کذ

تشیي کاسآهذتشیي آا سا اضاس خاین کشد . جاة تسیاسی داسد ک دس ایجا ت ساد

اضاف کسدى یک ستى

ALTER TABLE users

ADD email VARCHAR(100)

AFTER username;

طاى ADD اػوال خاذ ضذ، خظ دم تا کلو کلیذی usersخظ ال، طاى هی دذ ک تغییش دس جذل

کاساکتش هی تاذ تاضذ ت 100 ک حذاکثش داسای VARCHAR تا ع داد emailهی دذ ک ستی ت ام

. جا داد ضدusernameخظ سم طاى هی دذ ک ایي ستى تؼذ اص ستی ت ام . جذل اضاف ضد

حرف یک ستى

، تذى یچگ پیغام خغایی، تشای حزف ستى DROPای لثلی اص دستس QUERY ن هثل QUERYایي

.استفاد هی کذ

ALTER TABLE users

DROP email;

تغییس ستى

دس دسى CHANGEتشای ایکاس اص دستس . تؼضی هالغ الصم است تا هطخػات یک ستى سا تغییش دیذ

ALTERت ضکل صیش استفاد هی کین .

ALTER TABLE users

CHANGE username

user_name VARCHAR(30);

Page 11: جزوه پایگاه1

فاعو ػاتذیی جف آتادیۺ گشدآسذMYSQLدستسات هسد یاص دس

11

username هی گیذ ک ستى MySQL سا تشای تغییش اتخاب هی کذ خظ دم، ت usersخظ ال، جذل

دس ایي هثال ام . ت چ ضکلی تغییش خاذ کشدusernameخظ ستم طاى هی دذ ک ستى . تغییش خاذ کشد

تا هطاذ . تغییش داد ضذ است30 ت 20 تغییش داد ضذ است عل ع داد آى اص user_nameستى ت

. ساختاس جذل تغییش اجام ضذ سا هی تاین هطاذ کین

Page 12: جزوه پایگاه1

فاعو ػاتذیی جف آتادیۺ گشدآسذMYSQLدستسات هسد یاص دس

12

:در هنگام وارد کردن دستورات باید به نکات زیر توجه نمود فزامیه ب طر وزمال با سمی کلن پایان می یابىد.

خزيجی در جدايلی دارای سطز ي ستن ومایش داد می شود

وشت (کچک یا بشرگ)کلم کلیدی را می تان ب ز حالتی.

می تان چىدیه فزمان را در یک خط يارد کزد يلی باید تج داشت ک فزامیه با عالمت سمی کلن اس م

:مثال. جدا شود

Select version(); select now();

لشيمی ودارد کل دستر در یک خط وشت شد پایان دستر جاییست ک عالمت سمی کلن گذاشت شد.

هشاد کیدmy sqlجدل شیس حای خط فسهاى ایی است ک هوکي است دز

خط فرمان معىی آن

<My sql آمادي برای فرمان جدید

<- در یک فرمان چىد خطی، مىتظر برای فرمان بعدی

مىتظر برای رد دستر بعدی با یک عالمت وقل

قل احد'>

مىتظر برای رد دستر بعدی با یک عالمت وقل

قل دتایی">

Page 13: جزوه پایگاه1

فاعو ػاتذیی جف آتادیۺ گشدآسذMYSQLدستسات هسد یاص دس

13

MySQLااع داد دز

نوع های عددی

MySQLتؼشیف دسست ع ای داد عل آا تسیاس هن است تایذ ت آى دلت ضد دس حال حاضش

ع ػذدی داسد9

BIT اضاف ضذ است۵٫۰٫۳ایي ع دس سطى ۺ

. تیت عل داسد ۱ ایي ع Defaultدس حالت

تیت جا داسد۶۴ هی تاذ یک سدی ن تگیشد ک تا حذاکثش

TINYINT تایت ۱حذاکثش عل

۱۲۸ تا ۱۲۸-اص ۺ هثال حمیمی

ت غست خد کاس ت ایي ع تثذیل هی ضذ یؼی BOOL, BOOLEAN ع ایۺ تج

ۺکذTINYINT(1)

SMALLINT تایت ۲حذاکثش عل

۳۲۷۶۸ تا ۳۲۷۶۸-اص ۺ هثال حمیمی

MEDIUMINT تایت ۳حذاکثش عل

۸۳۸۸۶۰۸ تا ۸۳۸۸۶۰۸-اص ۺ هثال حمیمی

INTEGER , INT تایت ۴حذاکثش عل

۲۱۴۷۴۸۳۶۴۸ تا ۲۱۴۷۴۸۳۶۴۸-اص ۺ هثال حمیمی

BIGINT تایت ۸حذاکثش عل

۹۲۲۳۳۷۲۰۳۶۸۵۴۷۷۵۸۰۸ تا ۹۲۲۳۳۷۲۰۳۶۸۵۴۷۷۵۸۰۸-اص ۺ هثال حمیمی

DECIMAL(M,D) , NUMERIC(M,D) هتغییش است

سدی هیگیشد ک ضاهل عل ػذد اص تشای هثال۲ایي ع ۺ هثال حمیمی

Page 14: جزوه پایگاه1

فاعو ػاتذیی جف آتادیۺ گشدآسذMYSQLدستسات هسد یاص دس

14

ۺکذDECIMAL(10,1);

است۱۰ تا ۱ت هؼای

اػذاد اػطاسی

FLOAT تایت ۴حذاکثش عل

تا ایي تفات ک هی تاذ اػطاسی تاضذ INT هاذ ع

DOUBLE تایت ۸حذاکثش عل

تا ایي تفات ک هی تاذ اػطاسی تاضذ BIGINT هاذ ع

هی تاذ یک سدی تگیشذ TINYINT , MEDIUMINT , INT , BIGINT ع ای

ک حذاکثش عل همذاسضاى سا هطخع هی کذ تشای هثال

ۺکذCREATE TABLE tb1(

col1 TINYINT(1),

col2 INT(20)

);

سدی تگیشذ ک ضاهل هحذد ضشع پایاى ۲هی تاذ DECIMAL , DOUBLE , FOLAT ع ای

ػذد است

تشای هثال

ۺکذCREATE TABLE tb1(

co1l DOUBLE(10.5,5.4)

co12 FOLAT(11,4),

col3 DECIMAL(20,4)

);

سیچ هن جد داسد۲تشای ااع اػذاد

UNSIGNED دس غستی ک ایي همذاس سا اسد کیذ ت غست وی تاذ ػذد هفی تاضذ ت هؼای ایکۺ

ایي سیچ سا فؼال پس تتش است دس غستی ک تا اػذاد هفی سش کاس ذاسیي. هی ضد SIGNEDپیطفشؼ

کیذ

Page 15: جزوه پایگاه1

فاعو ػاتذیی جف آتادیۺ گشدآسذMYSQLدستسات هسد یاص دس

15

ZEROFILL غفش گزاضت هی ضد لثل اص ػذد .ت اذاص عل هجاص . تا فؼال کشدى ایي سیچ ۺ

—————————————————————-

تشای هثال تشای ستی ک هشتط ت سي است تایذ تسیاس هن است هطخع کشدى عل

ۺکذCREATE TABLE tb1(

age TINYINT(2) UNSIGNED

);

طد ۹۹تا تیطتش اص . تاضذ ۲حذاکثش عل

فؼال است UNSIGNEDسیچ . ویغس ک هیثییذ

تا هفی اسد طد

نوع داده رشته

اػذاد هن است . تؼشیف ع عل سضت یض هاذ

ع داد سضت پطتیثای هی کذ۱۴اص MySQLدس حال حاضش

CHAR کاسکتش ۲۵۵تا حذاکثش .

VARCHARفشق ایي ع تا . کاسکتش سا ت ایي ع اختػاظ دیذ ۴تتش است داد ای صیش

اتست ت همذاس اعالػاتی ک دس خد داسد عل خد سا ػؼ هی کذ VARCHARایي است ک

داسای عل ثاتت استCHARاها

تشای هثال. حتوا تایذ عل تذیذ ت ایي ع داد

ۺکذ

CHAR(3)

SQLدس استاذاسد CHARACTER. NATIONAL CHAR دس حمیمت تشاتش است تا CHAR همذاس

BINARY هاذ ۺCHAR (تایشی) لی ت غست ددی

Page 16: جزوه پایگاه1

فاعو ػاتذیی جف آتادیۺ گشدآسذMYSQLدستسات هسد یاص دس

16

VARCHAR تایت ۶۵,۵۳۵عل هتغییش لاتل تغییش تا حذاکثش

VARCHAR(243)ۺتشای هثال کذ. ت ایي ع داد حتوا تایذ عل تذیذ

جذا اص تؼشیف عل تست ت همذاسی ک . ایي ع داد داسای یک لاتلیت خاظ است آى ایي است ک

اعالػات دس آى لشاس داسد فضا اضغال هی کذ

VARBINARY هاذ ۺVARCHAR (تایشی) لی ت غست ددی

TINYTEXT تایت ۸ ت تاى ۲ تا حذاکثش ۱اص

تایت۲۵۵ک هی ضد

TEXT تایت ۱۶ ت تاى ۲ تا حذاکثش ۲اص

تایت۶۵,۵۳۵ک هی ضد

MEDIUMTEXT تایت ۲۴ ت تاى ۲ تا حذاکثش ۳اص

تایت۱۶,۷۷۷,۲۱۵ک هی ضد

LONGTEXT تایت ۳۲ ت تاى ۲ تا حذاکثش ۴اص

گیگاتایت۴ تایت یا ۴,۲۹۴,۹۶۷,۲۹۵ک هی ضد

TINYBLOB هاذ TINYTEX لی ت غست تایشی

BLOB هاذ TEXT لی ت غست تایشی

MEDIUMBLOB هاذ MEDIUMTEXT لی ت غست تایشی

LONGBLOB هاذ LONGTEXT لی ت غست تایشی

ENUM همذاس۶۵,۵۳۵حذاکثش . یک یا د تایت

SET ػض۶۴حذاکثش , تایت ۸ یا ۴ ,۳ , ۲, یک

آا CHAR, VARCHAR, TEXT, ENUM, SET ت ع ای. BINARY ضوا هی تایذ تا اضاف کشدى

سا تثذیل ت

تشای هثال. تایشی کیذ

Page 17: جزوه پایگاه1

فاعو ػاتذیی جف آتادیۺ گشدآسذMYSQLدستسات هسد یاص دس

17

ۺکذCREATE TABLE tb1(

col TEXT BINARY

col2 ENUM(1,2,3) BINARY

);

تاریخ و زمان (date and time)