الأمر USE
الأمر USE يستخدم لتحديد قاعدة البيانات التي نريد التعامل معها من خلال إسمها.
إذا كنت تريد تنفيذ مجموعة من الإستعلامات دفعة واحدة و بدون الحاجة لتحديد قاعدة البيانات المراد التعامل معها سواء من صفحة phpMyAdmin أو من أي برنامج تستخدمه للتعامل مع قواعد البيانات, يمكنك استخدام هذا الأمر لتحديد قاعدة البيانات المراد التعامل معها قبل تنفيذ الإستعلامات.
عملياً, نستخدم هذا الأمر في العادة عند تجهيز مجموعة من الإستعلامات هدفها بناء قاعدة البيانات و بناء كل شيء موضوع فيها بنقرة واحدة.
الشكل العام لإستخدامه
USE db_name;
مكان الكلمة db_name نضع إسم قاعدة البيانات التي نريد تحديد أننا سنتعامل معها عند تنفيذ أي إستعلام موضوع بعدها.
إنشاء قاعدة بيانات و من ثم تحديدها و التعامل معها
الإستعلام التالي يقوم بإنشاء قاعدة بيانات إسمها harmash و من ثم يقوم بتحديد أننا سنتعامل معها.
بعدها يقوم بإنشاء جدول فيها إسمه users يتألف من 3 أعمدة هي username, email و phone.
ملاحظة: قبل إنشاء قاعدة البيانات harmash تأكدنا من عدم وجود قاعدة بيانات أخرى بنفس الإسم من خلال وضع أمر يقضي بمسح قاعدة بيانات إسمها harmash في حال كانت موجودة قبل محاولة إنشاء واحدة جديدة بهذا الإسم.
الإستعلام
-- سيتم حذفها harmash في حال كان يوجد بالأساس قاعدة بيانات إسمها
DROP DATABASE IF EXISTS harmash;
-- harmash هنا قمنا بإنشاء قاعدة بيانات جديدة إسمها
CREATE DATABASE harmash;
-- harmash هنا قمنا بتحديد أن أي إستعلام جديد سيتم تنفيذه على قاعدة البيانات
USE harmash;
-- phone و email ,username يتألف من ثلاث أعمدة هي users هنا قمنا بإنشاء جدول جديد إسمه
-- لأننا قمنا بتحديدها قبل إستدعاء هذا الأمر harmash سيتم إنشاء هذا الجدول بداخل قاعدة البيانات
CREATE TABLE users (
username VARCHAR(30),
email VARCHAR(50),
phone VARCHAR(20)
);
بعد تنفيذ الإستعلام السابق في phpMyAdmin سيتم إنشاء قاعدة البيانات harmash و إنشاء الجدول users بداخلها كالتالي.
مشكلة عدم وجود قاعدة بيانات محددة
في حال قمت بتنفيذ أي أمر خاص بالتعامل شيء موجود في قاعدة بيانات و لكنك لم تقم بتحديد قاعدة البيانات التي تريده أن يتنفذ عليها سيظهر لك الخطأ التالي.
قم بمحاولة تنفيذ الأمر التالي بدون تحديد أنك تتعامل مع قاعدة البيانات harmash في صفحة phpMyAdmin.
ملاحظة: هنا نتعمد أن نظهر لك خطأ في النتيجة حتى تعرف أهمية تحديد إسم قاعدة البيانات التي تريد التعامل معها.
الإستعلام
-- price و description ,title الأمر التالي يقوم بإنشاء جدول يتألف من ثلاث أعمدة هي
-- سيحدث خطأ عند محاولة تنفيذ هذا الأمر لأنه لم يتم تحديد أي قاعدة بيانات سيتم إنشاؤه فيها
CREATE TABLE products (
title VARCHAR(200),
description VARCHAR(50),
price DECIMAL(5,2)
);
في phpMyAdmin سيظهر الخطأ الذي ذكرناه كالتالي عند تنفيذ الإستعلام.
تذكر: لا يوجد خطأ في الإستعلام بحد ذاته, بل الخطأ فقط هو عدم تحديد قاعدة البيانات التي سيتم تنفيذ الإستعلام عليها.
إذا قمت بتنفيذ الإستعلام السابق مع إضافة الأمر USE harmash; قبله, سيتم تنفيذ الإستعلام بدون أية مشاكل سواء قمت بتحديد أنك تتعامل مع قاعدة البيانات harmash في صفحة phpMyAdmin أم لم تقم بذلك لأنك حددت قاعدة البيانات في الإستعلام.
الإستعلام
-- harmash هنا قمنا بتحديد أن أي إستعلام جديد سيتم تنفيذه على قاعدة البيانات
USE harmash;
-- price و description ,title الأمر التالي يقوم بإنشاء جدول يتألف من ثلاث أعمدة هي
-- لأننا قمنا بتحديدها قبل إستدعاء هذا الأمر harmash سيتم إنشاء هذا الجدول بداخل قاعدة البيانات
CREATE TABLE products (
title VARCHAR(200),
description VARCHAR(50),
price DECIMAL(5,2)
);
بعد تنفيذ الإستعلام السابق سيتم إنشاء الجدول products في قاعدة البيانات harmash و سيصبح فيها جدولين كالتالي.
ملاحظة: قم بالنقر على زر تحديث قائمة قواعد البيانات في حال لم يظهر لك الجدول products حتى يتم إعادة رسمها من جديد.
SQL أمر إضافة سطر جديد في الجدول
الأمر INSERT INTO
الأمر INSERT INTO يستخدم لإضافة سطر جديد ( Row أو Record ) من المعلومات في الجدول.
إذاَ نستخدم هذا الأمر لإضافة بيانات جديدة في الجداول.
الشكل العام لإستخدامه
في حال لم تكن ستمرر قيم لكل الحقول الموجودة في السطر, يجب أن تحدد إسم كل عامود ستمرر قيمة له.
INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);
مكان الكلمة
table_nameنضع إسم الجدول الذي سنضيف فيه السطر.بداخل القوسين اللذين نضعهما بعد إسم الجدول نحدد أسماء الأعمدة التي نريد أن نضع فيها القيم.
بداخل القوسين اللذين نضعهما بعد كلمة
VALUESنمرر القيم التي سيتم وضعها في الأعمدة بنفس الترتيب.
في حال كنت تنوي إدخال قيم لكل الحقول الموجودة في السطر, عندها لا داعي لذكر أسماء الأعمدة و بالتالي يمكن كتابة الإستعلام كالتالي.
INSERT INTO table_name
VALUES (value1, value2, value3, ...);
ملاحظة: في حال لم تحدد أسماء الأعمدة التي ستمرر لها القيم, سيكون عليك إدخال القيم بنفس ترتيب أعمدة الجداول.
تجهيز قاعدة البيانات التي سنطبق عليها
بما أننا سنتعلم كيف نضيف معلومات في الجداول, لا بد لنا أن نتعامل مع قاعدة بيانات فيها جدول جاهز حتى نضيف البيانات فيه.
قم بتنفيذ الإستعلام التالي حتى تنشئ قاعدة بيانات جديدة إسمها harmash و تنشئ فيها جدول إسمه users يتألف من 3 أعمدة.
الإستعلام
-- سيتم حذفها harmash في حال كان يوجد بالأساس قاعدة بيانات إسمها
DROP DATABASE IF EXISTS harmash;
-- harmash هنا قمنا بإنشاء قاعدة بيانات جديدة إسمها
CREATE DATABASE harmash;
-- harmash هنا قمنا بتحديد أن أي إستعلام جديد سيتم تنفيذه على قاعدة البيانات
USE harmash;
-- phone و email ,username يتألف من ثلاث أعمدة هي users هنا قمنا بإنشاء جدول جديد إسمه
-- لأننا قمنا بتحديدها قبل إستدعاء هذا الأمر harmash سيتم إنشاء هذا الجدول بداخل قاعدة البيانات
CREATE TABLE users (
username VARCHAR(30),
email VARCHAR(50),
phone VARCHAR(20)
);
بعد تنفيذ الإستعلام السابق في phpMyAdmin سيتم إنشاء قاعدة البيانات harmash و إنشاء الجدول users بداخلها كالتالي.
الآن, قم بالنقر على إسم قاعدة البيانات harmash من القائمة اليسرى حتى تبدأ بالتعامل معها.
إضافة سطر جديد في الجدول بدون تحديد أسماء الأعمدة
قم بتنفيذ الإستعلام التالي لإضافة سطر جديد من المعلومات في الجدول users.
لاحظ أننا لم نذكر أسماء الأعمدة التي سنمرر لها القيم و لكننا مررنا قيمة لكل حقل في السطر.
الإستعلام
INSERT INTO users
VALUES ('mhamad', 'mhamad@example.com', '+96170123456');
بعد تنفيذ الإستعلام السابق في phpMyAdmin سيتم إظهار عبارة 1 row inserted و التي تعني أنه تم إضافة سطر جديد في الجدول كالتالي.
إضافة سطر جديد في الجدول مع تحديد أسماء الأعمدة
قم بتنفيذ الإستعلام التالي لإضافة سطر جديد من المعلومات في الجدول users.
هنا قمنا بتحديد أسماء الحقول التي سنمرر لها القيم.
الإستعلام
INSERT INTO users (username, email, phone)
VALUES ('rima', 'rima@example.com', '+96301102030');
بعد تنفيذ الإستعلام السابق في phpMyAdmin سيتم إظهار عبارة 1 row inserted و التي تعني أنه تم إضافة سطر جديد في الجدول كالتالي.
إضافة سطر جديد في الجدول مع عدم تمرير قيم لكل الأعمدة
في البداية, تذكر أنه عند عدم تمرير قيم لكل الأعمدة ستكون مجبر على تحديد أسماء الأعمدة التي ستمرر لها القيم, و القيم يجب أن يتم تمريرها بنفس ترتيب الأعمدة التي ذكرت أسماءها.
قم بتنفيذ الإستعلام التالي لإضافة سطر جديد من المعلومات في الجدول users.
لاحظ أننا لم نمرر قيم لكل الحقول الموجودة في السطر.
الإستعلام
INSERT INTO users (username, email)
VALUES ('jana', 'jana@example.com');
بعد تنفيذ الإستعلام السابق في phpMyAdmin سيتم إظهار عبارة 1 row inserted و التي تعني أنه تم إضافة سطر جديد في الجدول كالتالي.
رؤية جميع الأسطر التي تم إضافتها في الجدول في phpMyAdmin
لرؤية جميع الأسطر الموجودة في أي جدول يمكنك النقر على إسم الجدول كالتالي.
لاحظ أن السطر الأخير يظهر فيه القيمة NULL مكان الحقل phone لأنك لم تدخل رقم هاتف المستخدم jana.
