Insert in SQL, DataType

الكاتب: Mr.Aziz

تاريخ النشر: 2021-06-11 19:40:55

مسااءكم الخير..

 

اليوم راح اشرح لكم عن موضوعين لانه كلهم مرتبطين مع بعض وحاب اعطيكم امثله بعد شرح عن النوع data.

طبعآ مهمة جدآ لما تجي تسوي قواعد بيانات وتحتاج تدخل البيانات بطريقة يدوية

 

مثال: لو كنت بالشركة وتعمل قواعد بيانات و تحتاج تدخل بعض البيانات لتعمل عليها أختبارات

و تحتاج تعرف طريقة insert لكي تدخل البيانات بطريقة مناسبة.

 

وايضآ تختلف بالانواع data types بين قواعد بيانات مثلآ في البرنامج microsoft Access يختلف عن MYSQL

وايضآ في اختلاف عن SQL oracle وليس اختلاف كلي.

فقط اختلاف طفيف او قليل راح تلاحظه لما تعمل قواعد بيانات.

 

مثال: يطلع لك خطأ يقولك هذا النوع غير معرف فيه ويجب ان تغيره الى نوع اخر وهكذا…

مثلآ الاسم يكون النوع string و العمر يكون النوع integer وهكذا. وهي نفس data type تبع اي لغات البرمجية مثل سي شارب او سي بلس بلس او غيره. وايضآ يوجد انواع كثيره ولكن راح اشرح لكم الشائعة او المعروفه ولكل يستخدمها…

 

 

  • Data Types:
  • Varchar(length): هذا النوع يقبل أحرف وارقام بسبب انه راح يقبلها كانوع من انواع String اي اسماء. مثلآ لو تحط 5+5 ماراح يطبع لك 10 بسبب لايوجد قيمة فيها كاأرقام هي فقط كأسماء. لو حطيت 5+5 راح يطبع مثل ماهي بضبط 5+5 و كمبيوتر راح يشوفها كذا “5+5”.  المهم هذا النوع له حد بالمسافات الى انت تحددها مثلآ انا بحط Varchar(4) يعني اقدر احط اسمي Aziz لانه يقبل فقط 4 أحرف فقط لازياده ولانقصان. وأيضآ اذا كانت هناك احرف زياده عن 4 راح يحذف الاخير مثلآ Azizo الحرف o راح ينحذف تلقائيآ أو راح يطلع لك خطأ بسبب حد الاقصى عدد الاحرف هو 4 فقط. وتستطيع تضع 20 او اكثر ولكن لو حطينا 20 يعني يقبل 20 حرف فقط لاغير يعني لازياده ولا نقصان. 20 بضبط ليس 21 او 19 :).

هنا مثال بالصوره:

 

 

مثل ماتلاحظون تم بناء جدول و يوجد names و تم وضعه كانوع varchar(4) تمام.

 

الان راح نحاول نحط 5 احرف مثل ماشرحنا و راح تلاحظون بيطلع خطأ بسبب ألاحرف اكبر من الحجم الطبيعي المختار.

 

واذا حطينا فقط 4 احرف اي Aziz راح يقبلها بكل راحة بسبب المساحه مناسبه له.

ملاحظة: تجاهلو التكرار كلمة Aziz بسبب اني اختبرتها قبل ماصورها لكم.

 

  • char: هذا النوع عكس الى فوق varchar ليه لانه character ياخذ 1 byte في كل حرف واحد عكس varchar ياخذ احرف بسبب احنا اعطيناه مساحة من عندنا.

هنا مثال بالصوره:

 

 

هنا تلقائيآ راح يقولك الحد الاقصى حرف واحد فقط وليس 4 كما وضعته انا. لانه نعرف char معناه حرف واحد فقط.

 

  • Number: يقبل أرقام فقط ولكن عدد محدود مثل 21 byte و افضلها يكون primary key

وايضآ من ممكن ان تحدد المسافه مثل Number(6,2) يعني راح يكون هكذا 1000.00.

مثال بالصوره:

 

 

هنا مثل ماتلاحظون اني حطيت نوعين من number العادي و الثاني الى يوجد به قوسين الي هو number(6,2) و النوع الثاني ماراح يقبل رقم زياده عن المطلوب بسبب المساحه المحدده له..

 

  • Date: هذا النوع يقبل فقط بالتاريخ ومهم جدآ تستخدمه في حال استخدامك للتواريخ. راح يتم عمل مثال له.

هذا مثال له بالصوره:

 

 

هنا بالصوره حطيت النوع date عشان يقبل النوع التاريخ فقط.

والمشكلة في insert لازم تكتب هذا النوع format بحيث يقبل معاك بدون اي مشاكل.

 

تقدر تغير بدال مايكون yyyy/mm/dd تقدر تخليه زي كذا dd/mm/yyyy او رقمين فقط او ين كانت.

 

  • Integer: معروف بالكامل الارقام او ارقام بدون عدد عشري الى هي Decimal مثال الارقام راح تكون هكذا 123455 او 444444 و هكذا…

هنا مثال بالصوره:

 

مثل ماتلاحظون هنا حطيت ارقام كثيره ولكن بدون عدد عشري او فاصلة بسبب integer يقبل ارقام بدون عدد عشري.


INSERT:

الادخل بيانات المدخلة الى قواعد بيانات مثل الاسم و العمر وغيرها راح يكون عن طريق Insert

يعني لو انت حاب تدخل بياناتك الى قاعده بيانات راح تحتاج Insert تمام.

هذا Syntax تبعه.

Insert into TableName values(3348,'name',49);

ملاحظة مهمة: في حال انك تبي تدخل الاسماء يجب ان تضع ‘ ‘ وليس دبل ” ” ولا ماراح يقبلها ابدآ..

يوجد طريقتين الاستخدامها واين كانت راح تقبل مافي مشكلة.

مثال لو عندنا هذا الجدول تمام:

create table car(
ids number primary key,
names varchar(20),
yearss  integer
);

طريقة الاول الادخال بيانات ان تكون كذا

insert into car(ids,names,yearss) values(23,'Aziz',2009);

او بالطريقة الثانية المختصره وطبعآ

insert into car values(55,'Aziz',2019);

Insert: تعني أمر طلب الادخال بيانات.

into: الى

car: اسم الجدول او table names

values: هو قيمة الى متواجده داخل القوسين الى راح تدخل الى قاعده بيانات او تحفظ فيها على حسب نوع data types.

 

هنا انتهينا من الشرح وعرفنا ايش هو data types و INSERT

أن شاءالله تكون شرح خفيف و مبسط

 

و أشوفكم بالدرس القادم...