جلسه اول آموزش MySQL – ایجاد جدول

دوره MySQL اکتبر 2014 28

در اولین قسمت آموزش MySQL اساس ایجاد یک جدول را می آموزید. MySQL یکی از پایگاه داده های قدرتمند و اوپن سورس هست که بسیاری از سیستم های تحت php از قبیل وردپرس ، دروپال ، جوملا ، ویبولتین و … از این پایگاه داده برای ذخیره اطلاعات استفاده میکنند . مهمترین مزیت این پایگاه داده اوپن سورس بودن و سرعت و امنیت هست. از این پایگاه داده در هر زبانی که قادر است با آن ارتباط برقرار کند از جمله سی پلاس پلاس ، پایتون ، جاوا ، پی اچ پی و … استفاده میشود.

 

چکیده این آموزش :

_ در پایگاه داده MySQL مهمترین از انواع داده های زیر استفاده میشود:

1) انواع داده عدد صحیح :

– BOOL : فقط برای ذخیره عدد 0 و 1 (برای مقادیر بولین که 0 به مقدار false و 1 به مقدار true)

– TINYINT : در صورت علامت دار بودن از -127 تا 126 و در صورت علامت دار نبودن از 0 تا 255

– SMALLINT : در صورت علامت دار بودن از -32768 تا 32767 و در صورت علامت دار نبودن از 0 تا 65535

– MEDIUMINT : در صورت علامت دار بودن از -8388608 تا 8388607 و در صورت علامت دار نبودن از 0 تا 16777215

– INT : در صورت علامت دار بودن از 2 به توان 32 تا 2 به توان 32 منها 1 و در صورت علامت دار نبودن از 0 تا 2 به توان 32 منها 1

– BIGINT : در صورت علامت دار بودن از 2 به توان 63 تا 2 به توان 63 منها 1 و در صورت علامت دار نبودن از 0 تا 2 به توان 63 منها 1

2) انواع عدد اعشاری :

–  FLOAT

– DOUBLE

3) انواع رشته ای کوتاه :

– VARCHAR

– CHAR

4) انواع رشته ای معمولی و بلند :

– TINYTEXT : حداکثر طول این نوع رشته 2 به توان 8 منها 1

– TEXT : حداکثر طول این نوع رشته 2 به توان 16 منها 1

– MEDIUMTEXT : حداکثر طول این نوع رشته 2 به توان 24 منها 1

– LONGTEXT : حداکثر طول این نوع رشته 2 به توان 32 منها 1

 

_ برای ایجاد جدول با نام stu و چند فیلد(ستون) به شکل زیر اقدام میکنیم :

 

 

_ صفت هایی که میتوان در ساخت فیلد های جداول استفاده کرد به شرح زیر است :

1)NULL : استفاده از این صفت در فیلد ها یعنی در زمان وارد کردن اطلاعات(ردیف) به جدول این فیلد میتواند خالی باشد.

2) NOT NULL : استفاده از این صفت در فیلد ها یعنی در زمان وارد کردن اطلاعات(ردیف) به جدول این فیلد نمیتواند خالی باشد.

3) auto_increment : یعنی هنگام وارد کردن اطلاعات به جدول مقداری برای این فیلد تعیین نگردد و خود MySQL به صورت اتوماتیک یک نقداری را در این فیلد وارد کند که بیشتر برای فیلد ID بکار میرود.

4) primary key : یعنی هیچ کدام از دو سطر یا اطلاعات یک فیلد با هم برابر نباشد که این بیشتر برای فیلد ID بکار میرود

5) default : با استفاده از این صفت میتوان مقدار اولیه برای هر فیلد تعیین کرد که در صورتی که هنگام وارد کردن اطلاعات (سطر) به این فیلد مقداری داده نشد به صورت پیشفرض این مقدار را در خودش ذخیره کنید.

 

دانلود فیلم آموزشی
لینک دانلود54 مگابایت

 

دیدگاه ها
  • اقا هوار کمک گفت:

    خیلی ممنون از منتشر کردن اموزش اما حیف امروز باید برای آزمون فردا بخونم هر چه زودتر نحوه درج اطلاعات رو هم بگید لطفا طی یکی دو روز اینده بگید اخه خیلی وقت بود اپدیت نکرده بودید یه شک وارد کنید!!!
    نکات امنیتی رو هم در آموزش ها بگید مثلا در ساخت آپلود سنتر که گفته بودید خیلی از نکات امنیتی رعایت نکردید این جوری یه هکر راحت میاد با آپلود یه فایل php با تابع unlink یهو میزنه همه فایلا رو حذف میکنه یا همه فایلا رو میخونه

    • حسین شفیعیان گفت:

      نحوه وارد کردن اطلاعات را ضبط کردم و فردا منتشر خواهم کرد.
      در مورد نکات امنیتی الان زوده ، آموزش های php یکم حرفه ای تر بشه چشم چون قصد دارم در مورد جلوگیری از حملات به دیتابیس و اینا را همه در یک جلسه توضیح بدم باید اون ها رو هم آموزش داده باشم

      • اقا هوار کمک گفت:

        میگم حدود دو ماهه سایتم رو زدم هنوز تو الکسا هیچی نزده رتبه اش رو مشکل چیه
        ورودی یاهو و گوگل هم حتی دارم (البته ربتی نداشت )
        میگم چرا یهو بعضی وقتا ورودی گوگل همش سقوت میکنه
        ورودی گوگلم داشت بالا می رفت
        از 5 تا رفت 10 تا بعد 13 بعد افت شروع شد
        9 شد امروز هم تا الان 6 تا بنظرتون رتبه گوگلم کم شده؟
        راه حل چیه
        من خیلی رو سئو سایتم هم کار کردم مثلا تو مطالب عنوانشانون همه بین 40 تا 60 کاراکتره همشون چگالی کلمات کلیدی خوبه تگ h2 دارن مطلبام لینک خارجی هم دارن عکس ها alt , name , descriptin دارند و تقریبا همه چیز رو رعایت کردن 35 مطلب زدم
        بنظرتون ورودی گوگلم نسبت به تعداد مطالبم خوبه؟
        میشه تعداد مطالب و میانگین ورودی گوگل روزانه تون رو بگید تا یه مقایسه کوچیک انجام بدم؟

        • حسین شفیعیان گفت:

          اطلاع دقیقی ندارم ولی چند وقت پیش شنیدم الکسا ایران را تحریم کرده البته دقیق مطمئن نیستم
          برای رتبه پیدا کردن الکسا باید از سایر سایت ها لینک داشته باشی و بازدید نسبتا بالایی داشته باشی
          ورودی گوگل به خیلی چیز ها ربط داره و نمیشه اینطوری برسی کرد ، ببینید سایت شما با کلمات خاصی در صفحه اول هستند و هر چه اون کلمات در گوگل سرچ بشن ورودی های سایت شما بیشتر میشن ، طبیعتا این کلمات ممکنه در یک روز بیشتر سرچ بشن و یک روز کمتر
          البته وقتی در آمار گیر میزنه ورودی گوگل 10 تا معنیش این نیست که 10 نفر از گوگل وارد سایت شما شدند ، خیلی از این ورودی ها ربات هستند برای برسی سایتتون
          توصیه من اینه که اصلن کاری باسئو نداشته باشد و فقط به کاربران سایتتون اهمیت بدید ، همه ی سیاست های گوگل برای اینه که بهترین سایت را معرفی کنه و اگر متوجه بشه که شما سعی دارید با استفاده از ترفند سئو فقط ورودی گوگل بگیرید خیای باهاتون بد میشه
          سایتی هم که زیر یکسال است تاسیس شده خیلی نباید در رتبه بندی الکسا و ورودی گوگل تاکید داشت ، نتیجه و جوابدهی یک سایت بد از یکسال معلوم میشه

          • اقا هوار کمک گفت:

            میگم این ربات تکستی که کدش رو قرار دادید مطمئنید سالمه؟
            آخه امروز کاهش داشت ورودی ام باز هم
            به نظر شما چیکار کنم بره بالا
            اگه وقت کردید یه نگاهی به سایت مپم و این چیزا بندازید
            و مشکلاتش رو بگید

          • حسین شفیعیان گفت:

            خیر روبوت مشکلی نداره

  • امید گفت:

    سلام

    من توی سایتی خوندم که دیگه از mysql پشتیبانی نمیشه و نمیشه ازش استفاده کرد و باید از pdo استفاده کنیم

    ممنون میشم توضیح بدید که آیا درسته یا نه

    • حسین شفیعیان گفت:

      سلام
      سوالتون کمی ابهام داره
      خیر پایگاه داده MySQL یک پایگاه داده قدرتمنده و در کنار سایر پایگاه داده ها قدرتنمایی میکنه بنا به دلایلی که عرض کردم
      اما pdo چیه ? از شما شما اینطور اسنتباط میشه که pdo یک پایگاه داده است اما چنین نیست بلکه pdo یک راه ارتباط زبان php به پایگاه داده MySQL است
      زبان هایی مثل php , java و … از طریق راه هایی اطلاعاتی را در پایگاه داده MySQL ذخیره میکنند که در php نیز راه های متعددی است که بهترین راه و امن ترین راه استفاده از pdo است

  • ehsan گفت:

    سلام آقا حسین خسته نباشید.
    ببخشید در cpanel و در قسمت دیتابیس , PHP Myadmin چیه و اصلا دیتابیس چیه و چرا ماباید برای سایت دیتابیس ایجاد کنیم.

    • حسین شفیعیان گفت:

      سلام احسان جان
      دیتابیس یا در واقع همون پایگاه داده برای ذخیره کردن اطلاعات به فرمت خاصی استفاده میشه
      برای ذخیره دائمی اطلاعات به چندین و چند روش میشه اقدام کردن مثلا ذخیره در فایل و … که یکی از بهترین گزینه ها دیتابیس ها هستند
      دلیل استفاده از دیتابیس برای ذخیره اطلاعات سرعت و حجم پایین و انعطاف پذیری بالا هست
      PHP Myadmin هم یک سیستم خیلی ساده برای کار با دیتابیس هستش ،مثلا به صورت دستی و بدون برنامه نویسی میتونی اطلاعات یک دیتابیس را ویراش یا اضافه کنی

  • leaden گفت:

    با سلام
    من موقع ای که میخوام یک دیتابیس را از طریق کد SQL حذف کنم با خطای زیر مواجع می شوم
    DROP DATABASE” statement are disabled”
    چکار کنم ؟؟؟

  • ali_nilofar گفت:

    سلام جناب شفیعیان
    یه مشکلی دارم وقتی که نرم افزار xamp رو اجرا می کنم و در مرورگر localhost/phpmyadmin رو میزنم با خطای Unable to connect to the Internet مواجه میشم و نمی دونم باید چیکار کنم تا صفحه لود بشه؟ اگه امکانش هست راهنماییم کنید ممنون.

    • حسین شفیعیان گفت:

      مطمپن بشید که apache و mysql را run کرده باشید. اگر حل نشد میتونید از سایر شبیه ساز هایی مثل wamp استفاده کنید

  • Nobody گفت:

    با سلام و تقدیم احترام، و تشکر از زحمات، ای کاش از نحوه‌ی نصب و راه‌اندازی روی لینوکس شروع کرده بودید. امکانش هست یک ویدیوی شماره‌ی صفر به این موضوع اختصاص بدید؟

  • نیما گفت:

    سلام خسته نباشید
    مرسی از شما .. میشه آموزش php رو بیشتر بزارید یه آموزش کامل ..
    ممنونم ازتون

  • xiaoyu گفت:

    سلام اقای برنامه نویس .
    خواهش می کنم این اموزش mysql و اموزش php پیشرفته رو هم قسمتاشو بزارین.
    اگه تونستین.خیلی لازمشون دارم.
    واقعا ممنون از اموزش هاتون.

  • xiaoyu گفت:

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

  • xiaoyu گفت:

    سلام .
    ببخشید که زود زود مزاحم می شم.ولی یک سوالی واسم پیشومده.
    بعضیا می گن که قبل از این که mysql رو یاد بگیری باید sql server رو هم بلد باشی!
    ایا این درسته؟
    ممنون از زحماتتون.
    انشالله هر چی از خدا میخوای بهتون بده.

    • xiaoyu گفت:

      میدونم شاید سوالم خیلی مبتدی یانه باشه ولی اگه شما بگین لازمه حتما یاد بگیرم
      میرم یاد میگیرم.
      ممنون از زحماتتون ساییتون عالیه .
      انشالله این دوره را هم تموم کنین.

  • xiaoyu گفت:

    دستتون درد نکنه.پس اول باید sql رو یاد بگیرم نه sql server.
    ممنون از شما اقای شفیعیان.