کار با پایگاه داده - آشنایی با زبان SQL

دسته بندی: آموزش
زمان مطالعه: ۲ دقیقه
۰۹ شهریور ۱۳۹۳

در جلسه ی امروز می خوایم در مورد زبان SQL با شما صحبت کنیم و شما رو با این زبون مهم آشنا کنیم . برای اینکه بتونید داده ها از دیتابیس دریافت کنید و یا اونها رو آپدیت و درج کنید زبان SQL مورد نیاز شما خواهد بود !

در این جلسه به تشریح موارد زیر خواهیم پرداخت :

فصل 13 : کار با پايگاه داده ي MySQL و چگونگي اتصال PHP به ديتابيس

  • معرفي سيستم مديريت پايگاه داده ي MySQL
  • آشنايي با ابزار PhpMyAdmin و مديريت جداول پايگاه داده به صورت دستي
  • انجام 4 عمل اصلي پايگاه داده (CRUD) در محيط PhpMyAdmin
  • انجين هاي ذخيره سازي جداول و معايب و مزاياي هر کدام (InnoDB vs MyISAM)
  • معرفي ويژگي هاي مختلف يک ستون از جداول پايگاه داده (نام، نوع، سايز، مقدار پيشفرض و ...)
  • تشريح انواع داده ها (DataTypes) در SQL
  • SQL : زباني براي درخواست اطلاعات و انجام تغيرات در پايگاه داده (Query Language)
  • آموزش زبان SQL : آموزش انجام اعمال اصلي در پايگاه هاي داده (CRUD) با زبان SQL
  • ساخت جداول پايگاه داده (Create)
  • شرح دادن جداول پايگاه داده و ديدن اطلاعات آنها (Describe)
  • حذف جداول پايگاه داده (Drop)
  • خواندن اطلاعات جداول پايگاه داده (Select)
  • درج و ويرايش مقادير در جداول پايگاه داده (Insert & Update)
  • حذف مقادير از جداول پايگاه داده (Delete)
  • ايجاد نسخه ي بکاپ از پايگاه داده و جداول آن
  • ريستور کردن پايگاه داده از بکاپ هاي گرفته شده
  • اجراي دستورات SQL در محيط PhpMyAdmin
:: توجه

این مطلب یک جلسه از آموزش PHP می باشد و برای مشاهده آن باید در دوره ثبت نام کنید.

ثبت نام در آموزش PHP

نویسنده
بیش از 15 سال هست که برنامه نویسی می کنم و از بین همه زبون هایی که کار کردم جاوا، اسمبلی و php رو دوست دارم. دانشجوی دکترای نرم افزارم و توی دانشگاه روی پردازش بیگ دیتا و پردازش موازی کار کردم و عاشق چالش از هر نوعیش هستم! سون لرن مثل بچه منه که 12 سال براش وقت گذاشتم، اینجا همه تلاش می کنیم از شروع یادگیری تا ورود به بازر کار حوزه برنامه نویسی و IT همراهتون باشیم.

جلسات دوره

نظرات کاربران

mahdiyeh

با سلام
لطفا برای آوردن relation view بنده راهنمایی کنید در xampp من این قسمت نیست برای بحث جلسه پیش بود فصل 15

هادی فیروزی وند

با سلام و خسته نباشید.
وقتی می خواستم جدولی رو از دیتابیس، Export کنم امکان انتخاب فرمت sql نبود چون این گزینه موجود نبود. چطوری می تونم این مشکل رو برطرف کنم؟؟؟

هادی فیروزی وند

با سلام و خسته نباشید.
وقتی می خواستم جدولی رو توی دیتابیس Export کنم امکان انتخاب sql نبود چون این گزینه موجود نبود. چطوری می تونم این مشکل رو برطرف کنم؟؟؟

محمدحسین بیطرفان

سلام . چرا سوال من پاسخ داده نمیشه ؟ لطفا بررسی شود. سپاس

محمدحسین بیطرفان

سلام. ممنون از آموزش خوبتون.
سوالی که دارم اینه که در پایگاه داده وقتی یک ستون رو not nulll تعریف میکنیم یعنی اینکه نمیتونه خالی بمونه.
اما وقتی از طریق php یک رکورد insert میکنم و یک ستون که not null هست رو خالی میگذارم قبول میکنه و رکورد رو میسازه.مگه نباید خطا بده ؟
پس کاربرد not null کجاست دقیقا ؟
سپاس

afagh11944

سلام ببخشید فیلد Attributes و Adjust privilegesDocumentation در phpmyadminچه استفاده ای داره و چرا باید برای فیلد id گزینه Attributes را روی UNSIGNED قرار بدیم ممنون میشم اگه یک توضیحی بدید

Seyed Reza Bazyar

سلام
فرض کنید یه فایل index.php دارم که توی اون ابتدا یه دیتابیس فراخوانی میشه. سپس پایین ترش از دیتابیس اطلاعاتی رو از دیتابیس میگیره و نمایش میده
اجرا شدن دیتابیس و کد و… همگی در یک فایل index مشکلی نداره؟

لقمان آوند

طبیعتا کار می کنه ولی درست نیست. یه جورایی ما میگیم کد کثیفه. بهتره منطق برنامه، کانفیگ ها و ثابت ها و بخشی که مربوط به نمایش هست جدا باشند. تو معماری MVC دقیقا چنین چیزی رو داریم.

Alireza Shahsavary

سلام استاد وقتتون بخیر
من از xampp استفاده میکنم و وقتی shell رو باز میکنم نمیتونم از <mysql استفاده کنم
و اینکه اجرا میکنم mariadb بالا میاد ، میشه راهنمایی کنید چیکار باید بکنم؟

مصطفی

با سلام
آقای آوند خیلی ازتون تشکر میکنم. آموزش هاتون خیلی خوبن منتها به این قسمتای جدید که رسیدم متاسفانه کدهارو از قبل نوشتید و فقط کپی میکنید و روی کدها توضیح میدید. آموزش های قبلی که کدها رو از صفر تا صد مینوشتید خیلی خیلی خیلی خیلی بهتر بودند و بیننده خیلی بهتر میتونست ارتباط برقرار کنه ولی توی این قسمتا کدها رو از قبل نوشتید و فقط روشون یه توضیح میدید و بعدشم میگید بقیش رو واگذار میکنم به خودتون که برید تمرین کنید!! درسته که دانشجو هم باید تمرین کنه ولی توی آموزش های مجازی بهتر بود که صفر تا صد خودتون کدها رو مینوشتید و توضیح میدادید. الان به نظرم خیلی سطح آموزشتون توی این بخش ها افت کرده وبه شخصه خیلی مشکل پیدا کردم توی یادگیری.

تا حدی این مسئله برام مشکل ساز شده که کلا آموزشتون رو نصفه ولش کردم چون دیگه نمیتونم باهاش ارتباط برقرار کنم. حالا ان شاالله که در ادامه دوباره آموزش هاتون برگرده به اوج. (هر چند که یکی از کاربرا نوشته بودند که جلوتر هم توی مخصوصا قسمت پروژه ها کدها از قبل نوشته هستند و فقط توضیح میدید. این به نظرم ضعف خیلی بزرگی هست)

ازتون خواهش دارم توی آموزش های جدید این موضوع رو هم مد نظر قرار بدید. لطفا کیفیت رو فدای کمیت نکنید …

تشکر از شما

sadra hakim

سلام استاد
با دستور ALTER میتونیم ستون های جدیدی ایجاد یا حذف و یا ویرایش کنیم. پس ویرایش با این دستور چه فرقی در ویرایش با دستور UPDATE داره ؟
من الان فرق این 2 تا دستور رو نمیفهمم ( هر دوشون میتونن ویرایش کنن که !)

رضا الطافی

سلام جناب آوند خسته نباشید
من آخر نفهمیدم index ها چی هستن و چه فایده ای برای ما دارن ؟ چرا باید ازشون استفاده کنیم ؟ مثلا اگه به ستون id ها یه ایندکس با نام row_id بدیم چه مزیتی میتونه داشته باشه ؟

لقمان آوند

ایندکس مثل فهرست کتاب می مونه. اگر نباشه پیدا کردن یه مبحث خاص تو اون کتاب چقدر سخت و وقت گیره ؟؟؟
دقیقا تو دیتابیسم همینطوره برای اینکه یه داده ها زودتر پیدا شن اول از ایندکسشون استفاده میشه که مستقیما برسن به آدرس داده و نیازه نباشه کل داده ها جستجو بشه!

leo vartoomian

با سلام
استاد چگونه میتونم اطلاعات یک رکورد را که از دیتابیس میخونم داخل textbox قرار بدم؟
یعنی چجوری مشخص کنم اطلاعات این ستون درون textbox مربوطه قرار گیرد.

لقمان آوند

اطلاتی که گرفتی درون یک متغیر بزار و اونو در ویژگی value تگ input مربوطه چاپ کن.

leo vartoomian

با سلام
استاد من موقعی که اطلاعات را میخواهم درون دیتابیس insert کنم بهم ارور زیر را میدهد.
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘1’ at line 1

query :
( ‘insert into tb1(name,family,tel) values (‘$name’,’$family’,’$tel

ستون های دیتابیس :

id’ int auto increment’
name varchar
family varchar
tel varchar

لقمان آوند

کوئری رو درون یه متغیر بریزید و چاپ کنید ببینید اون چیزی که اجرا میشه چی هست …

leo vartoomian

استاد درون متغیر result ریختم و آن را echo کردم عدد 1 چاپ شد. !!

leo vartoomian

استاد ممنون خودم پیدا کردم جوابش را

لقمان آوند

سلام
منظورم این بود که خود کوئری (رشته ی کوئری) رو چاپ کنید نه نتیجه اجرای اون رو …

پایان زمان پشتیبانی

دانشجوی گرامی، بازه پشتیبانی فعال برای این دوره ۳ ماه است که برای شما به پایان رسیده است.

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

نیاز به لاگین

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