دورة MySql5 - الدرس الرابع : String - Data Type
هنتكلم النهاردة عن ال string data type في البداية زي ما احنا شايفين في الصورة عندنا انواع شبه ال numeric الي شرحناها في الدرس الي فات
عندنا ال TinyText , MediumText , LongText ودول كنا اتكلمنا في الدرس الي فات عن ال numeric وهما نفس الكلام تقريبا مافيش اختلاف ممكن تترجع للدرس من الرابط دا هنكمل احنا النهاردة باقي انواع ال string عندنا هنا بقى حاجة اسمها char وهو اختصار لكلمة character وفي نوع تاني اسمه varchar وهو اختصار ل Variable Character طب ايه الفرق مابينهم ؟
- بيقولك بقى يا سيدي ان char دا بيخزن قيمة ثابتة Store Fixed Value يعني لو عندي في الداتا بيز حقل احنا عارفين القيمة او عدد الحروف الي هيتخزن فيه وليكن مثلا 50 حرف او ارقام في الحالة دي انا متأكد ان القيمة دي او العدد دا ثابت ومش هيزيد او يقل فبستخدم النوع دا الي هو char اما النوع التاني الي هو varchar فدا بنسختدمه مع القيم المتغيرة Store Variable Value يعني لو عندي مثلا اسماء منتجات او اشخاص او اي حاجة انا عارف انها قابلة للزيادة او النقصان وغير ثابتة في الحالة دي اختار ال varchar
- عندك برضو ال char دا اقصى عدد حروف ليه هو 255 لكن في ال varchar كان في ال mysql الاصدار 5.0.3 اقصى عدد للحروف هو 255 اما في الاصدارات الاحدث من 5.0.3 اقصى عدد للحروف هو 65.535 طب ازاي تعرف اصدار الmysql الي انت شغال عليه هتلاقي في الصورة دي مكان الاصدار الي موجود عندك
- ال char برضو بيكون اسرع من ال varchar لانه بيستخدم static memory لكن ال varchar بيستخدم dynamic memory يعني ال char هو عارف هيتعامل مع كام حرف قيمة محددة لكن ال varchar مش عارف وهيحدد على اساس القيمة الي هتخزنها فيه عشان كدة بيكون اسرع منه .
- النوع الي بعدة كدة هو ال TEXT وفي برضو نوع اسمه BLOB بالنسبة لل text فدا بيخزن نص كبير Store String اما ال blob فهو Binary Large Object يعني ال text دا ليه ترميز وبستخدمه لما اكون عايز اخزن نص كبير لو مثلا هخزن تفاصيل منتج او خبر جديد ومحتاج حقل يخزن البيانات الكتيرة دي , اما بالنسبة لل blob فدا مالوش ترميز بيخزن البيانات على شكل binary وبيكون استخدامه مثلا لما اكون عايز اخزن مثلا صورة او ملف ككود binary فهو هنا بيخزن الصورة كلها على بعضها مش اللينك بتاعها لان اللينك بتاعها يعتبر string .
طبعا في عندنا برضو ال TinyText , MediumText, LongText وهما طبعا نفس القصة الي اتكلمنا فيها في الدرس الي فات انهم احجام مختلفة وبتختار الحجم المناسب ليك وفي برضو ال TinyBlOB , MediumBLOB , LongBLOB .
- اخر حاجة عندنا هي ال Enum وال SET الEnum دي اختصار ل Enumeration وهي عبارة عن مجموعة بيانات انت بتختار منها زي الصورة دي
زي ما انتو شايفين حطيت انواع اللابات الي عندي مثلا وبامكانك تزود الاختيارات لو دوست على زرار Add Values وتحدد عدد القيم الي انت عايز تزودها .
طبعا في الحقل دا لو جيت تدخل اي قيمة غير القيم الي انت حددتها مش هيتم ادخالها وهيضيف مكانها قيمة فاضية , يعني لازم القيمة الي هتخزنها في الخقل دا تكون واحدة من الي انت حددتهم وماينفعش تدخل اكتر من قيمة لازم تكون قيمة واحدة لكن في النوع ال SET فهو نفس ال Enum لكن بامكانك انك تختار اكتر من قيمة في نفس الوقت وانت بتدخل القيم ودا الاختلاف الي بينهم وبنستخدمهم لما نكون عايزين نخلي المستخدم يلنزم باختيارات معينة ما يدخلش اي قيمة تانية
وبكدة بنكون انتهينا من Sting DataType وهنكمل باقي الانواع وفي الدروس القادمة ان شاء الله .
ليست هناك تعليقات:
إرسال تعليق