العمل مع MySQL من سطر الأوامر. التثبيت التلقائي لـ MySQL على نظام التشغيل Windows قم بتشغيل mysql من سطر أوامر Linux

بدء وإيقاف خادم MySQL من سطر الأوامر

يمكنك تشغيل خادم MySQL يدويًا بإحدى طريقتين:

انقر نقرًا مزدوجًا فوق الملف mysqld-nt.exe الموجود في الدليل الفرعي bin للدليل الذي تم تثبيت MySQL فيه.

افتح نافذة موجه أوامر Windows. للقيام بذلك، انقر فوق الزر "ابدأ"، وحدد "تشغيل" من القائمة، وفي نافذة "تشغيل البرنامج" التي تظهر، في الحقل "فتح"، أدخل الأمر cmd وانقر فوق "موافق". ستظهر نافذة سطر الأوامر على الشاشة (الشكل 1.25).

أرز. 1.25.نافذة موجه الأوامر


في موجه الأوامر، أدخل الأمر

mysqld-nt

واضغط على Enter. سيبدأ خادم MySQL.

إذا، عند إعداد الخادم، لم تتم إضافة المسار إلى الدليل الفرعي bin إلى قيمة متغير نظام المسار، ثم لبدء تشغيل الخادم، يجب عليك إدخال ليس فقط اسم الملف، ولكن أيضًا المسار الكامل إليه، على سبيل المثال :

C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqld-nt

إذا كنت تريد عرض رسائل تشخيصية حول الخادم في نافذة موجه الأوامر، فبدلاً من mysqld-nt، أدخل

mysqld-nt –console

انتباه!

إذا لم تحدد كلمة مرور المستخدم الجذر عند إعداد خادم MySQL، فيجب عليك تعيين كلمة مرور في المرة الأولى التي تقوم فيها بتشغيل الخادم (وإلا يمكن لأي شخص إدارة الخادم كجذر بدون كلمة مرور).

لتعيين كلمة مرور الجذر، افتح نافذة موجه الأوامر الجديدة وأدخل الأمر التالي:

mysqladmin -u كلمة مرور الجذر<пароль>

(أو C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqladmin -u كلمة مرور الجذر<пароль>، إذا لم تتم إضافة المسار إلى الدليل الفرعي bin إلى متغير نظام المسار عند إعداد الخادم) ثم اضغط على Enter.

في المستقبل، إذا كنت بحاجة إلى تغيير كلمة مرور المستخدم الجذر، فقم بتشغيل نفس الأمر، فقط باستخدام الخيار -r:

كلمة مرور mysqladmin -u root -p<новый пароль>

عندما تظهر المطالبة "إدخال كلمة المرور"، أدخل كلمة المرور القديمة واضغط على "إدخال".

وأخيرًا، إذا كنت بحاجة إلى إيقاف خادم MySQL، فقم بتشغيل الأمر

إيقاف تشغيل mysqladmin -u root -p

وفي موجه إدخال كلمة المرور، أدخل كلمة مرور المستخدم الجذر. اضغط دخول. سيتم إيقاف خادم MySQL.

يمكنك أيضًا استخدام الأداة المساعدة MySQL Administrator الرسومية لبدء وإيقاف خادم MySQL.

بدء وإيقاف MySQL Server باستخدام مسؤول MySQL

لبدء تشغيل خادم MySQL باستخدام الأداة المساعدة MySQL Administrator الرسومية، اتبع الخطوات التالية.

1. قم بتشغيل برنامج MySQL Administrator (ابدأ → كافة البرامج → MySQL → MySQL Administrator). ستظهر نافذة اتصال الخادم على الشاشة (الشكل 1.26).

أرز. 1.26.


2. اضغط مع الاستمرار على مفتاح Ctrl وانقر فوق الزر "تخطي" الذي يظهر في الركن الأيمن السفلي من النافذة بدلاً من الزر "إلغاء الأمر". ستظهر نافذة مسؤول MySQL الرئيسية على الشاشة (الشكل 1.27).

أرز. 1.27.النافذة الرئيسية لمسؤول MySQL


4. إذا لم يتم تكوين خادم MySQL كخدمة Windows، فسيظهر زر بدء الخدمة الموجود في الجزء الأيمن من النافذة باللون الرمادي. ويجب اتخاذ الخطوات الأولية التالية:

1) انتقل إلى علامة التبويب تكوين الخدمة. ابحث عن زر تثبيت خدمة جديدة أسفل علامة التبويب وانقر فوقه؛

2) في مربع الحوار الذي يظهر، حدد اسم الخدمة وانقر فوق "موافق"؛

3) في حقل اسم ملف التكوين، أدخل المسار إلى ملف التكوين my.ini (الشكل 1.28)، على سبيل المثال C:\Program Files\MySQL\MySQL Server 5.0\my.ini. لون الخط الأحمر يعني أنه لم يتم العثور على الملف؛ إذا تغير اللون إلى طبيعته، فإن المسار صحيح؛

4) في الحقل المسار إلى الملف الثنائي، أدخل المسار إلى ملف mysqld-nt.exe، على سبيل المثال C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqld-nt;

6) العودة إلى علامة التبويب بدء/إيقاف الخدمة.

أرز. 1.28.تكوين علامة التبويب الخدمة 5. انقر فوق الزر "بدء الخدمة". سيبدأ خادم MySQL.


انتباه!

إذا لم تحدد كلمة مرور المستخدم الجذر عند إعداد خادم MySQL، فيجب عليك تعيينها في المرة الأولى التي تقوم فيها بتشغيل الخادم (وإلا يمكن لأي شخص إدارة الخادم كجذر بدون كلمة مرور). في الإصدار الحالي من MySQL Administrator، لا يتوفر تعيين كلمة مرور الجذر، ولإجراء هذه العملية يجب عليك استخدام الأداة المساعدة لسطر الأوامر mysqladmin (راجع القسم الفرعي "بدء وإيقاف خادم MySQL من سطر الأوامر").

لإيقاف خادم MySQL باستخدام MySQL Administrator، اتبع الخطوات التالية.

1. قم بتشغيل برنامج MySQL Administrator (ابدأ → كافة البرامج → MySQL → MySQL Administrator). ستظهر نافذة اتصال الخادم على الشاشة (انظر الشكل 1.26).

مضيف الخادم - قيمة المضيف المحلي (الكمبيوتر المحلي)؛

المنفذ - رقم المنفذ المحدد عند إعداد الخادم (الافتراضي - 3306)؛

اسم الاستخدام - القيمة الجذرية؛

كلمة المرور - كلمة مرور المستخدم الجذر. انقر فوق موافق.

3. في نافذة مسؤول MySQL الرئيسية، في الجزء الأيسر، انقر فوق التحكم في الخدمة.

4. في الجزء الأيسر من النافذة، انقر فوق زر إيقاف الخدمة. سيتم إيقاف خادم MySQL.

في القسم الفرعي التالي، ستتعلم كيفية بدء تشغيل خادم MySQL باستخدام أدوات Windows الإدارية.

تشغيل وإيقاف خادم MySQL من لوحة التحكم

إذا تم تكوين خادم MySQL كخدمة Windows باستخدام معالج الإعداد (راجع القسم الفرعي "تكوين خادم MySQL") أو باستخدام الأداة المساعدة MySQL Administrator (راجع القسم الفرعي "بدء تشغيل خادم MySQL وإيقافه باستخدام MySQL Administrator")، فابدأ وتوقف يمكنك استخدام مكون الخدمات في لوحة التحكم.

للوصول إلى مكون الخدمات، انقر فوق الزر ابدأ، وحدد لوحة التحكم من القائمة، ثم انقر نقرًا مزدوجًا فوق الأدوات الإدارية في لوحة التحكم، وأخيرًا، انقر نقرًا مزدوجًا فوق الخدمات في نافذة الأدوات الإدارية. ستظهر نافذة الخدمات على الشاشة (الشكل 1.29) مع قائمة بجميع الخدمات المحلية.

أرز. 1.29.خدمة MySQL في لوحة التحكم


في نافذة الخدمات، انقر فوق اسم خدمة MySQL (يتم تحديد الاسم عند إنشاء الخدمة في معالج التكوين أو في MySQL Administrator). ثم انقر فوق الرابط المطلوب تحت اسم الخدمة: بدء الخدمة، أو إيقاف الخدمة، أو إعادة تشغيل الخدمة.

بمجرد تشغيل خادم MySQL، يمكنك الاتصال به. في الأقسام الفرعية التالية سوف تتعلم كيفية القيام بذلك.

الاتصال بالخادم من سطر الأوامر

للاتصال بخادم MySQL من سطر الأوامر، اتبع الخطوات التالية.

1. افتح نافذة موجه أوامر Windows. للقيام بذلك، انقر فوق الزر "ابدأ"، وحدد "تشغيل" من القائمة، وفي نافذة "تشغيل البرنامج" التي تظهر، أدخل cmd في الحقل "فتح" وانقر فوق "موافق".

2. في سطر الأوامر (انظر الشكل 1.25)، أدخل الأمر

الخلية -ح<Имя компьютера>-ش<Имя пользователя>-ص

(أين<Имя компьютера>هو اسم الكمبيوتر الذي يعمل عليه الخادم) ثم اضغط على Enter. عندما يُطلب منك إدخال كلمة المرور، أدخل كلمة مرور المستخدم.

إذا كنت بحاجة إلى الاتصال بخادم MySQL الذي يعمل على نفس الكمبيوتر، فيمكن حذف اسم الكمبيوتر (المضيف المحلي)، على سبيل المثال

الخلية -u الجذر -p

بعد الاتصال بالخادم، سيتغير موجه سطر الأوامر إلى mysql> (الشكل 1.30). يمكنك الآن البدء في العمل مع قاعدة البيانات: إضافة الجداول، وإدخال البيانات والاستعلام عنها، وتسجيل مستخدمين جدد، وما إلى ذلك.

أرز. 1.30.الاتصال بخادم MySQL من سطر الأوامر


لقطع الاتصال بالخادم، ما عليك سوى كتابة الأمر في سطر الأوامر

واضغط على Enter.

يتم توفير طريقة بديلة للاتصال بخادم MySQL من خلال الأداة الرسومية MySQL Query Browser.

الاتصال بالخادم باستخدام متصفح MySQL Query

الأداة المساعدة MySQL Query Browser هي واجهة لإنشاء عبارات SQL وتحريرها وتنفيذها. إنه أكثر ملاءمة من سطر الأوامر. إذا قررت استخدام متصفح MySQL Query للعمل مع قاعدة البيانات، فاتبع هذه الخطوات للاتصال بالخادم.

1. قم بتشغيل برنامج MySQL Query Browser (ابدأ → كافة البرامج → MySQL → MySQL Query Browser). ستظهر نافذة اتصال الخادم على الشاشة (الشكل 1.31).

أرز. 1.31.نافذة اتصال خادم MySQL


2. في حقول نافذة اتصال الخادم، أدخل معلمات الاتصال:

مضيف الخادم – اسم الكمبيوتر الذي يعمل عليه خادم MySQL؛

المنفذ – رقم المنفذ المحدد عند إعداد الخادم (الافتراضي – 330 6);

اسم المستخدم - اسم المستخدم؛

كلمة المرور - كلمة مرور المستخدم؛

المخطط الافتراضي - اسم قاعدة البيانات التي ستعمل معها (يمكن أن تكون قاعدة بيانات موجودة أو قاعدة بيانات جديدة).

3. انقر فوق موافق. إذا قمت بإدخال اسم لقاعدة البيانات الجديدة، ففي مربع الحوار الذي يظهر، انقر فوق نعم لإنشاء قاعدة البيانات هذه.

بعد الاتصال بالخادم، ستظهر نافذة MySQL Query Browser الرئيسية على الشاشة (الشكل 1.32). يمكنك من خلاله إجراء أي عمليات على قاعدة البيانات: إضافة الجداول، وإدخال البيانات والاستعلام عنها، وتسجيل مستخدمين جدد، وما إلى ذلك.

أرز. 1.32.النافذة الرئيسية لمتصفح MySQL Query


انتباه!

الخط الافتراضي المستخدم في MySQL Query Browser لعرض استعلامات SQL لا يدعم الحروف الروسية. لإدخال الحروف الروسية في نصوص الاستعلام، يجب عليك تحديد خط مختلف (على سبيل المثال، Arial أو Book Antiqua). للقيام بذلك، في نافذة MySQL Query Browser الرئيسية، افتح قائمة الأدوات وحدد الخيارات. في نافذة الخيارات التي تظهر، في المنطقة اليسرى، انقر فوق خيارات عامة وفي المنطقة اليمنى، في حقل خط الرمز، حدد الخط المطلوب من القائمة. انقر فوق الزر "تطبيق".

لقطع الاتصال بالخادم، ما عليك سوى إغلاق نافذة MySQL Query Browser.

بهذا نختتم مقدمتنا إلى MySQL وننتقل إلى تلخيص النتائج.

1.6. ملخص

تناول هذا الفصل نظام MySQL DBMS والأدوات المساعدة الرسومية MySQL Administrator وMySQL Query Browser. لقد أتقنت إجراءً معقدًا إلى حد ما لتثبيت وتكوين خادم MySQL، وتعلمت كيفية إدارة الخادم والاتصال به. لقد تعلمت أيضًا كيفية عمل قاعدة البيانات العلائقية وكيفية تصميم قاعدة البيانات الخاصة بك.

لذا، فإن الخطوة التالية هي بناء قاعدة بيانات في MySQL. وخصص الفصل الثاني لهذا. سيوضح لك كيفية إنشاء الجداول وإدخال المعلومات فيها والعثور على المعلومات التي تحتاجها في قاعدة البيانات.

الفصل 2
إدارة قواعد البيانات مع SQL

في هذا الفصل، ستتعلم كيفية التعامل مع البيانات في MySQL DBMS، وكيفية تحديد بنيتها، وكيفية إضافة البيانات وتغييرها وحذفها. يتم تنفيذ هذه العمليات بواسطة SQL، وهي لغة استعلام منظمة عالمية وهي وسيلة قياسية للوصول إلى قواعد البيانات العلائقية.

يمكنك استخدام أي من تطبيقات عميل خادم MySQL العديدة لتنفيذ أوامر SQL. لن يغطي هذا الفصل تطبيقات الطرف الثالث. سيتم تعريفك فقط بالتطبيقات التي تم إنشاؤها بواسطة MySQL AB: الأداة المساعدة لسطر الأوامر mysql والأداة المساعدة MySQL Query Browser الرسومية.

جميع عمليات البيانات متوفرة في كلا المرافقين. يعد MySQL Query Browser مناسبًا للعمل مع قاعدة البيانات: يتم عرض مكوناته بوضوح، ويمكنك تحرير البيانات مباشرة (دون استخدام عامل تشغيل SQL UPDATE)، والعمل مع الاستعلامات، على سبيل المثال، بنائها باستخدام أداة خاصة (ولا تحتاج إلى لإدخال أسماء الجداول والأعمدة يدويًا)، وحفظ الاستعلامات في ملف، وتصدير نتائج الاستعلام، وغير ذلك الكثير. يمكنك التعرف على جميع إمكانيات متصفح MySQL Query من خلال الرجوع إلى الوثائق باللغة الروسية، والتي يمكن العثور عليها على http://dev.mysql.com/doc/query-browser/ru/index.html.

ستتعلم أولاً كيفية تشغيل أوامر SQL في متصفح MySQL Query وسطر الأوامر، وبعد ذلك سنغطي فقط بناء جملة أوامر SQL.

2.1. تنفيذ أوامر SQL

قبل تنفيذ أوامر SQL، تحتاج إلى الاتصال بخادم MySQL قيد التشغيل (كيفية القيام بذلك موضحة في الفصل الأول). ستتعلم في هذا القسم كيفية إنشاء أوامر SQL وإرسالها إلى الخادم لتنفيذها.

إذا كنت تستخدم سطر الأوامر، لتنفيذ أمر SQL، أدخل نصه في نافذة سطر الأوامر واضغط على مفتاح Enter لإرسال الأمر إلى الخادم. لتجنب مشاكل ترميز البيانات باللغة الروسية، قم بتشغيل الأمر قبل البدء في العمل مع البيانات

تعيين الأسماء cp866؛

يمكنك رؤية نتيجة تنفيذ هذا الأمر في الشكل. 2.1.

أرز. 2.1.ضبط الترميز على سطر الأوامر


يجب تكرار الأمر SET NAMES عندما الجميعالاتصال بالخادم باستخدام سطر الأوامر. يخبر هذا الأمر الخادم أن تطبيق العميل هذا (الأداة المساعدة mysql) يستخدم ترميز CP-866 (هذا هو ترميز سطر أوامر Windows)، وسيقوم الخادم تلقائيًا بإجراء تحويل الترميز عند الاتصال بتطبيق العميل.

بعد تغيير الترميز، يمكنك إدخال أي أوامر SQL في سطر الأوامر. يتم عرض رسالة حول نتيجة الأمر، وكذلك البيانات المطلوبة، مباشرة في نافذة سطر الأوامر (الشكل 2.2).

أرز. 2.2.تنفيذ استعلام SQL على سطر الأوامر


تتيح لك الأداة المساعدة mysql إدخال أوامر متعددة الأسطر (في الشكل 2.3، تم إدخال أمر إظهار قواعد البيانات بهذه الطريقة). إذا لم يتم إدخال الفاصلة المنقوطة كعلامة على نهاية الأمر، فعند الضغط على مفتاح Enter، لا ترسل الأداة المساعدة الأمر إلى الخادم، ولكنها تطالبك بمواصلة إدخال الأمر. إذا كنت تريد إلغاء أمر متعدد الأسطر، فاكتب \c (الشكل 2.3).

أرز. 2.3.أمر متعدد الأسطر


إذا كنت تستخدم متصفح MySQL Query، فلن تحتاج إلى ضبط الترميز - يعمل هذا البرنامج بتشفير UTF-8 ويقوم بنفسه بإبلاغ الخادم بذلك. ومع ذلك، في متصفح MySQL Query، هناك مشكلة في عرض الحروف الروسية في منطقة الاستعلام (المنطقة التي يتم فيها إدخال نص أوامر SQL، الشكل 2.4). لحل هذه المشكلة، تحتاج إلى تغيير الخط المستخدم في منطقة الاستعلام (تم وصف كيفية القيام بذلك في نهاية الفصل السابق). ما عليك سوى تغيير الخط مرة واحدة.

أرز. 2.4.تنفيذ استعلام SQL في متصفح استعلام MySQL


في منطقة الاستعلام، يمكنك إدخال عدة أوامر SQL مرة واحدة، كما هو موضح في الشكل. 2.4. يتم تمييز الأمر الحالي (يوجد المؤشر على أحد أسطره) بخلفية بيضاء، ويتم عرض الأوامر المتبقية على خلفية رمادية فاتحة. لتنفيذ الأمر الحالي، يمكنك النقر فوق الزر "تنفيذ" الموجود على يمين منطقة المطالبة أو النقر فوق مجموعة المفاتيح Ctrl+Enter. بعد تنفيذ الأمر، يتم عرض البيانات المطلوبة في منطقة النتائج، كما يتم عرض رسالة بنتيجة الأمر في أسفل هذه المنطقة.

الآن بعد أن تعلمت كيفية إدخال أوامر SQL، فلنبدأ في إدارة البيانات باستخدام هذه الأوامر. أولاً، سنلقي نظرة على الأوامر المصممة للعمل مع قاعدة البيانات ككل.

2.2. إنشاء قاعدة البيانات

في هذا القسم، ستتعلم كيفية إنشاء قاعدة بيانات وحذفها، وتغيير الترميز الافتراضي لها، وتحديد قاعدة البيانات الحالية، وكذلك عرض قائمة بجميع قواعد البيانات الموجودة على خادم MySQL محدد.

لإنشاء قاعدة بيانات، قم بتشغيل الأمر

إنشاء قاعدة بيانات<Имя базы данных>;

على سبيل المثال، الأمر

إنشاء قاعدة بيانات قسم المبيعات؛

يقوم بإنشاء قاعدة بيانات باسم SalesDept.

إذا كنت بحاجة لسبب ما إلى تعيين ترميز افتراضي لقاعدة بيانات جديدة يختلف عن الترميز المحدد عند إعداد MySQL، فعند إنشاء قاعدة البيانات، يمكنك تحديد الترميز المطلوب (مجموعة الأحرف) و/أو قاعدة المقارنة (الفرز) لـ قيم الحروف :

إنشاء قاعدة بيانات<Имя базы данных>

مجموعة الأحرف<Имя кодировки>

جمع<Имя правила сравнения>;

على سبيل المثال، إذا قمت باستيراد البيانات إلى قاعدة بيانات جديدة موجودة بتشفير CP-1251، فسنشير إلى هذا التشفير عند إنشاء قاعدة البيانات بهذه الطريقة:

إنشاء قاعدة بيانات قسم المبيعات

مجموعة الأحرف cp1251 COLLATE cp1251_general_ci;

نصيحة

لعرض قائمة الترميزات المستخدمة في MySQL، قم بتشغيل الأمر SHOW CHARACTER SET؛ وللاطلاع على قائمة القواعد لمقارنة القيم الرمزية، استخدم الأمر SHOW COLLATION;. في هذه الحالة، يمكنك استخدام عامل التشغيل LIKE: على سبيل المثال، لرؤية جميع قواعد المقارنة لترميز CP-1251، قم بتشغيل الأمر SHOW COLLATION LIKE %1251%;. النهاية "_ci" (غير حساسة لحالة الأحرف) في اسم قواعد المقارنة تعني أنه عند عدم مراعاة مقارنة وفرز حالة الأحرف، فإن النهاية "_cs" (حساسة لحالة الأحرف) - تؤخذ حالة الأحرف بعين الاعتبار، والنهاية "_bin" (ثنائي) - يتم إجراء المقارنة والفرز بواسطة رموز الأحرف الرقمية. بالنسبة لمعظم قواعد المقارنة، يمكنك العثور على وصف (أي ترتيب الأحرف الذي سيتم وفقًا له ترتيب قيم النص) على صفحة الويب http://www.collation-charts.org/mysql60/.

سيتم استخدام الترميز المحدد عند إنشاء قاعدة البيانات بشكل افتراضي للجداول الموجودة في قاعدة البيانات هذه، ومع ذلك، يمكنك تحديد ترميز مختلف.

يمكنك تغيير قاعدة التشفير و/أو المقارنة لقيم الأحرف لقاعدة البيانات باستخدام الأمر

تغيير قاعدة البيانات<Имя базы данных>

مجموعة الأحرف<Имя кодировки>

جمع<Имя правила сравнения>;

في هذه الحالة، يظل التشفير المستخدم في جداول قاعدة البيانات الموجودة كما هو؛ يتغير فقط الترميز الافتراضي للجداول المنشأة حديثًا.

لإزالة قاعدة بيانات غير ضرورية أو تم إنشاؤها بشكل خاطئ، قم بتشغيل الأمر

إسقاط قاعدة البيانات<Имя базы данных>;

انتباه!

يعد حذف قاعدة بيانات عملية مهمة للغاية لأنها تحذف جميع الجداول الموجودة في قاعدة البيانات والبيانات المخزنة في الجداول. يوصى بإنشاء نسخة احتياطية من قاعدة البيانات قبل الحذف.

يمكنك تحديد إحدى قواعد البيانات التي تم إنشاؤها على خادم MySQL كقاعدة البيانات الحالية باستخدام الأمر

يستخدم<Имя базы данных>;

على سبيل المثال،:

استخدام قسم المبيعات؛

يمكنك بعد ذلك إجراء العمليات على الجداول الموجودة في قاعدة البيانات هذه دون إضافة اسم الجدول إلى اسم قاعدة البيانات. على سبيل المثال، للوصول إلى جدول العملاء في قاعدة بيانات SalesDept، يمكنك ببساطة كتابة العملاء بدلاً من SalesDept.Customers. من خلال تحديد قاعدة البيانات الحالية، يمكنك الوصول إلى الجداول الموجودة في قواعد بيانات أخرى، ولكن يجب عليك استخدام اسم قاعدة البيانات كبادئة. يتم حفظ تحديد قاعدة البيانات الحالية حتى يتم قطع الاتصال بالخادم أو حتى تقوم بتحديد قاعدة بيانات حالية أخرى.

لرؤية قائمة بجميع قواعد البيانات الموجودة على خادم MySQL معين، قم بتشغيل الأمر

عرض قواعد البيانات؛

حتى لو لم تقم بإنشاء أي قواعد بيانات بعد، فسوف ترى ثلاث قواعد بيانات للنظام في القائمة الناتجة.

INFORMATION_SCHEMA هي قاعدة بيانات معلومات يمكنك من خلالها الحصول على معلومات حول جميع قواعد البيانات الأخرى، وبنية البيانات فيها وجميع أنواع الكائنات: الجداول، والأعمدة، والمفاتيح الأساسية والخارجية، وحقوق الوصول، والإجراءات المخزنة، والترميزات، وما إلى ذلك. قاعدة البيانات هذه متاحة إنها للقراءة فقط وافتراضية، مما يعني أنها لا يتم تخزينها كدليل على القرص: يتم توفير جميع المعلومات المطلوبة من قاعدة البيانات هذه ديناميكيًا بواسطة خادم MySQL.

Mysql هي قاعدة بيانات مساعدة يستخدمها خادم MySQL. يقوم بتخزين معلومات حول المستخدمين المسجلين وحقوق الوصول الخاصة بهم والمعلومات المرجعية وما إلى ذلك.

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

لقد أتقنت العمليات الأساسية التي يتم إجراؤها على قاعدة البيانات ككل: الأوامر CREATE DATABASE (إنشاء)، ALTER DATABASE (تغيير)، DROP DATABASE (حذف)، USE (تحديد قاعدة البيانات الحالية) وإظهار قواعد البيانات (عرض قائمة). قواعد البيانات). بعد ذلك سننظر إلى عمليات الجدول. في هذه الحالة، سنفترض أنك قمت بتحديد قاعدة بيانات باعتبارها القاعدة الحالية وأنك تعمل مع جداولها.

2.3. العمل مع الجداول

ستتعلم في هذا القسم كيفية إنشاء جدول وتعديله وحذفه، وكيفية عرض معلومات الجدول، وقائمة بجميع الجداول الموجودة في قاعدة البيانات الحالية. لنبدأ بالأمر الأكثر صعوبة - إنشاء جدول.

إنشاء جدول

لإنشاء جدول، قم بتشغيل الأمر الموضح في القائمة 2.1.

القائمة 2.1.أمر إنشاء جدول

اصنع جدول<Имя таблицы>

(<Имя столбца 1> <Тип столбца 1> [<Свойства столбца 1>],

<Имя столбца 2> <Тип столбца 2> [<Свойства столбца 2>],

[<Информация о ключевых столбцах и индексах>])

[<Опциональные свойства таблицы>];


كما ترون، يمكن أن يتضمن أمر إنشاء جدول العديد من المعلمات، ولكن الكثير منها اختياري (في القائمة 2.1، يتم وضع هذه المعلمات بين قوسين مربعين). في الواقع، لإنشاء جدول، تحتاج فقط إلى تحديد اسمه وأسماء وأنواع جميع الأعمدة؛ يتم استخدام معلمات أخرى إذا لزم الأمر.

دعونا أولا نلقي نظرة على بعض الأمثلة التي ستساعدك على إتقان الأمر CREATE TABLE وعلى الفور، دون دراسة معلماته العديدة، ابدأ في إنشاء الجداول الخاصة بك (بسيطة البنية).

لنفترض أننا نقوم ببناء قاعدة البيانات التي صممناها في الفصل الأول. باستخدام الأوامر من القسم السابق، قمنا بإنشاء قاعدة بيانات SalesDept فارغة وقمنا بتحديدها باعتبارها القاعدة الحالية. لنقم الآن بإنشاء ثلاثة جداول: العملاء والمنتجات والأوامر. تعرض القائمة 2.2 الأمر الخاص بإنشاء جدول العملاء.

القائمة 2.2.أمر إنشاء جدول العملاء

إنشاء عملاء الجدول

(المعرف التسلسلي،

الاسم فارتشار (100)،

هاتف فارتشار(20)،

عنوان فارتشار (150)،

تصنيف إنت,

المفتاح الأساسي (المعرف))


استخدم هذا الأمر معلمات: أولاً، اسم الجدول، وثانيًا، أسماء وأنواع الأعمدة التي سيتكون منها الجدول (انظر أيضًا الجدول 1.1 في الفصل 1).

معرف - معرف السجل. لقد قمت بتعيين النوع SERIAL لهذا العمود، مما يسمح لك بترقيم صفوف الجدول تلقائيًا. تشير الكلمة الأساسية SERIAL إلى BIGINT UNSIGNED NOT NULL AUTO_INCREMENT UNIQUE. وهذا يعني أنه يمكن إدخال أرقام صحيحة كبيرة (كبيرة) موجبة (غير موقعة) في العمود، بينما يتم التحقق تلقائيًا من عدم وجود قيم غير محددة ومكررة (NOT NULL UNIQUE). إذا لم تحدد قيمة لهذا العمود عند إضافة صف إلى جدول، فسيقوم برنامج MySQL بإدخال رقم التسلسل التالي (AUTO_INCREMENT) في هذا العمود.

ملحوظة

NULL هو ثابت يشير إلى عدم وجود قيمة. إذا كان العمود يحتوي على قيمة NULL، فمن المفترض أنه لا توجد قيمة محددة لهذا العمود (وهذا هو السبب في أننا نطلق أيضًا على NULL قيمة فارغة). لا ينبغي الخلط بين NULL والسلسلة الفارغة ("") أو الرقم 0. يتم التعامل مع القيم NULL بشكل مختلف: تُرجع معظم الوظائف والعوامل NULL إذا كانت إحدى الوسائط NULL. على سبيل المثال، نتيجة المقارنة 1 = 1 هي قيمة حقيقية (TRUE)، ونتيجة المقارنة NULL = NULL هي قيمة غير محددة (NULL)، أي أن القيمتين غير المحددتين لا تعتبران متساويتين.

الاسم هو اسم العميل، والهاتف هو رقم الهاتف، والعنوان هو العنوان. لقد قمت بتعيين النوع VARCHAR لهذه الأعمدة لأنها ستحتوي على قيم أحرف. تتم الإشارة إلى الحد الأقصى لعدد الأحرف المسموح به في قيمة العمود بين قوسين.

ثالثًا، قمت بتحديد أن عمود المعرف سيكون المفتاح الأساسي للجدول عن طريق تضمين جملة المفتاح الأساسي (المعرف) في أمر إنشاء الجدول.

رابعاً، لقد قمت بتحديد معلمتين اختياريتين لهذا الجدول. تحدد المعلمة ENGINE نوع الجدول. لقد قمت بتعيين نوع InnoDB لجدول العملاء، حيث أن هذا النوع فقط هو الذي يضمن الحفاظ على سلامة العلاقات بين الجداول (ستتم مناقشة المزيد من التفاصيل حول أنواع الجداول في قسم "خصائص الجدول الاختيارية"). تحدد المعلمة CHARACTER SET الترميز الافتراضي للبيانات الموجودة في الجدول. نظرًا لأنك لم تقم بتعيين الترميز بشكل منفصل لأعمدة الاسم والهاتف والعنوان، فسيتم تخزين البيانات الموجودة في هذه الأعمدة بتنسيق UTF-8، وهو الترميز الافتراضي لجدول العملاء.

المثال التالي الذي سننظر إليه هو أمر إنشاء جدول المنتجات الموضح في القائمة 2.3.

القائمة 2.3.أمر إنشاء جدول المنتجات

إنشاء منتجات الجدول

(المعرف التسلسلي،

وصف فارتشار (100)،

تفاصيل النص,

السعر العشري(8,2),

المفتاح الأساسي (المعرف))

محرك InnoDB CHARACTER SET utf8؛


يشبه هذا الأمر إلى حد كبير أمر إنشاء جدول العملاء ويختلف فقط في اسم الجدول ومجموعة الأعمدة. تحتوي أعمدة المعرف (رقم المنتج) والوصف (اسم المنتج) في جدول المنتجات على أنواع مألوفة لدينا بالفعل. عمود التفاصيل من النوع TEXT. هذا النوع مناسب للاستخدام بدلاً من النوع VARCHAR إذا كان العمود سيحتوي على قيم طويلة: الطول الإجمالي لقيم جميع أعمدة VARCHAR يقتصر على 65.535 بايت لكل جدول، ولا يوجد حد للطول الإجمالي أعمدة النص. عيب نوع TEXT هو عدم القدرة على تضمين مثل هذه الأعمدة في المفتاح الخارجي للجدول، أي إنشاء علاقة بين الجداول بناءً على هذه الأعمدة.

عمود السعر من النوع DECIMAL، وهو مصمم لتخزين المبالغ النقدية والقيم الأخرى التي من المهم تجنب أخطاء التقريب فيها. لقد أشرنا إلى رقمين بين قوسين: الأول منهما يحدد الحد الأقصى لعدد الأرقام في قيمة العمود، والثاني - الحد الأقصى لعدد الأرقام بعد الفاصل العشري. بمعنى آخر، يمكن أن يحتوي سعر المنتج على ما يصل إلى ستة أرقام في الجزء الصحيح (6 = 8–2) وما يصل إلى رقمين في الجزء الكسري.

وأخيرًا، المثال الأخير هو أمر إنشاء جدول الطلبات، الموضح في القائمة 2.4.

القائمة 2.4.أمر إنشاء جدول الطلبات

إنشاء أوامر الجدول

(المعرف التسلسلي،

التاريخ التاريخ,

Product_id كبير غير موقع وغير فارغ،

الكمية INT غير الموقعة,

المبلغ العشري(10,2),

معرف_الزبون كبير غير موقع،

المفتاح الأساسي (المعرف)،

المفتاح الخارجي (product_id) المراجع المنتجات (المعرف)

على قيود الحذف في سلسلة التحديثات،

المفتاح الخارجي (customer_id) المراجع العملاء (المعرف)

على قيود الحذف في سلسلة التحديثات)

محرك InnoDB CHARACTER SET utf8؛


من الميزات الخاصة لجدول الطلبات وجود مفاتيح خارجية: يحتوي عمود Product_id على أرقام المنتجات من جدول المنتجات، ويحتوي عمود customer_id على أرقام العملاء من جدول العملاء (راجع أيضًا الجدول 1.2 في الفصل 1). نظرًا لأن أرقام المنتج والعملاء عبارة عن أعداد صحيحة موجبة كبيرة، فقد قمنا بتعيين عمودين Product_id وcustomer_id لكتابة BIGINT UNSIGNED.

بعد ذلك، للتأكد من الحفاظ على سلامة العلاقات تلقائيًا (تحدثنا عن التكامل في الفصل الأول)، أخبرنا MySQL بالمفتاح الأساسي الذي يتوافق معه كل مفتاح خارجي. وبالتالي، فإن إنشاء FOREIGN KEY (customer_id) REFERENCES Customers (id) يعني أن عمود customer_id يمكن أن يحتوي فقط على قيم من عمود المعرف في جدول العملاء والقيم الخالية، والقيم الأخرى محظورة. بالنسبة لعمود Product_id، قمنا بتعيين قيد مماثل وقمنا بتعيين الخاصية NOT NULL لهذا العمود لمنع تسجيل الطلبات بمنتج غير محدد. بالإضافة إلى ذلك، أشرنا إلى قواعد الحفاظ على سلامة كل من الاتصالات (ناقشناها أيضًا في الفصل الأول). تعني قاعدة ON DELETE RESTRICT أنه لا يمكنك حذف سجل عميل إذا كان لدى هذا العميل طلب مسجل، ولا يمكنك حذف سجل منتج إذا تم طلب هذا المنتج بواسطة شخص ما. تعني قاعدة ON UPDATE CASCADE أنه عند تغيير رقم العميل في جدول العملاء أو رقم العنصر في جدول المنتجات، يتم إجراء التغييرات المقابلة في جدول الطلبات.

ملحوظة

لاحظ أننا قمنا بإنشاء جدول الطلبات أخيرًا لأنه يجب إنشاء المفاتيح الأساسية في جداول العملاء والمنتجات قبل المفاتيح الخارجية في جدول الطلبات التي تشير إليها. ومع ذلك، سيكون من الممكن إنشاء جداول بدون مفاتيح خارجية بأي ترتيب، ثم إضافة مفاتيح خارجية باستخدام أمر ALTER TABLE، والذي سننظر إليه في القسم الفرعي "تغيير بنية الجدول".

في أمثلةنا، نظرنا فقط إلى بعض معلمات أمر إنشاء الجدول. سنقوم الآن بإدراج جميع المعلمات الأساسية التي قد تكون مفيدة لك عند إنشاء الجداول. في قسم "أنواع البيانات في MySQL" سنتحدث عن أنواع الأعمدة، وفي قسم "خصائص العمود" سنتحدث عن إعداد الأعمدة الرئيسية، وأخيرًا في قسم "الأعمدة والفهارس الرئيسية" سنتحدث عن خصائص الجدول الاختيارية .

أنواع البيانات في MySQL

كما تعلم، عند إنشاء جدول، تحتاج إلى تحديد نوع بيانات لكل عمود. يوفر MySQL العديد من أنواع البيانات لتخزين الأرقام والتواريخ/الأوقات وسلاسل الأحرف (النصوص). بالإضافة إلى ذلك، هناك أنواع بيانات لتخزين الأشياء المكانية، والتي لن تتم مناقشتها في هذا الكتاب.

دعونا نلقي نظرة على أنواع البيانات الرقمية.

قليل[(<Количествобитов>)].

رقم بت يحتوي على عدد محدد من البتات. إذا لم يتم تحديد عدد البتات، فإن العدد يتكون من بتة واحدة.

عدد صحيح في النطاق من -128 إلى 127، أو (إذا تم تحديد الخاصية غير الموقعة) من 0 إلى 255.

منطقي أو منطقي.

وهي مرادفات لنوع البيانات TINYINT(1) (الرقم الموجود بين قوسين هو عدد الأرقام المطلوب عرضها، راجع الملاحظة أدناه). في هذه الحالة، تعتبر القيمة غير الصفرية صحيحة (TRUE)، والقيمة الصفرية تعتبر خاطئة (FALSE).

عدد صحيح في النطاق من -32,768 إلى 32,767، أو (إذا تم تحديد الخاصية غير الموقعة) من 0 إلى 65,535.

عدد صحيح في النطاق من -8,388,608 إلى 8,388,607، أو (إذا تم تحديد الخاصية غير الموقعة) من 0 إلى 16,777,215.

إنت أو عدد صحيح.

عدد صحيح في النطاق من -2,147,483,648 إلى 2,147,483,647، أو (إذا تم تحديد الخاصية غير الموقعة) من 0 إلى 4,294,967,295.

عدد صحيح في النطاق من -9,223,372,036,854,775,808 إلى 9,223,372,036,854,775,807، أو (إذا تم تحديد الخاصية غير الموقعة) من 0 إلى 18,446,744,073 70 9,551,615.

مرادف لـ BIGINT UNSIGNED NOT NULL AUTO_INCREMENT UNIQUE (عدد صحيح كبير غير موقّع يقبل القيم الفريدة المتزايدة تلقائيًا؛ والقيم NULL غير مسموح بها). يستخدم لإنشاء قيم فريدة تلقائيًا في عمود المفتاح الأساسي. ستجد وصفًا للخاصيتين UNSIGNED وAUTO_INCREMENT في هذا القسم الفرعي، والخصائص NOT NULL وUNIQUE في قسم "خصائص العمود".

ملحوظة

بالنسبة لجميع أنواع البيانات الصحيحة، باستثناء BOOL (BOOLEAN) وSERIAL، يمكنك تحديد عدد الأرقام المعروضة بين قوسين، والتي يتم استخدامها مع معلمة ZEROFILL: إذا كان الرقم يحتوي على أرقام أقل، فعند الإخراج يتم تعبئته على اليسار مع الأصفار. على سبيل المثال، إذا تم تعريف عمود الجدول على أنه INT(5) ZEROFILL، فسيتم عرض القيمتين "1234567" و"12345" كما هي، ويتم عرض القيمة "123" على أنها "00123". بالنسبة لنوع بيانات BIT، تتم الإشارة إلى حجم الرقم، أي الحد الأقصى لعدد البتات المخزنة، بين قوسين.

فيما يلي قائمة بالأوامر الأكثر فائدة والأكثر استخدامًا ماي إس كيو إلمع الأمثلة.

mysql في بداية السطر يعني أن الأمر يتم تنفيذه بعد تسجيل الدخول ماي إس كيو إل.

الرمز # أو $ في بداية السطر يعني أن الأمر يتم تنفيذه من سطر الأوامر.

للتحقق من حالة الخادم ماي إس كيو إليفعل:

ل فري بي إس دي:

# حالة خادم الخلية

الخامس سينتوس/RHEL:

# حالة خدمة MySQL

ماي إس كيو إلمن وحدة التحكم إذا كان الخادم ماي إس كيو إلموجود على نفس المضيف:

للاتصال بالخادم ماي إس كيو إلمن وحدة التحكم إذا كان الخادم ماي إس كيو إليقع على المضيف البعيد db1.example.com:

$ mysql -u اسم المستخدم -p -h db1.example.com

العمل مع قواعد البيانات والجداول - عرض السجلات وحذفها وتحريرها. وحدة التحكم

إنشاء قاعدة بيانات على ماي إس كيو إلالخادم:

Mysql إنشاء قاعدة بيانات

إظهار قائمة بجميع قواعد البيانات الموجودة على الخادم ماي إس كيو إل:

استخدام الخلية؛

عرض كافة الجداول في قاعدة البيانات:

Mysql إظهار الجداول؛

عرض تنسيق الجدول في قاعدة البيانات:

وصف الخلية؛

حذف قاعدة البيانات:

إسقاط قاعدة بيانات Mysql؛

حذف جدول من قاعدة البيانات:

جدول إسقاط Mysql؛

عرض كافة محتويات الجدول:

Mysql SELECT * من ;

عرض الأعمدة ومحتويات الأعمدة في الجدول المحدد:

Mysql إظهار الأعمدة من؛

عرض صفوف في جدول محدد يحتوي على "مهما":

Mysql SELECT * من أين = "مهما كان"؛

عرض كافة السجلات في جدول محدد يحتوي على "بوب" ورقم الهاتف "3444444:

Mysql SELECT * من أين الاسم = "Bob" ورقم الهاتف = "3444444"؛

إظهار كافة الإدخالات، لاتحتوي على الاسم "بوب" ورقم الهاتف "3444444"، مرتبة حسب حقل رقم الهاتف:

Mysql SELECT * من أين الاسم!= "Bob" AND phone_number = "3444444" الطلب حسب رقم الهاتف؛

إظهار كافة الإدخالات التي تبدأ بالحرفين "bob" ورقم الهاتف "3444444" في جدول محدد:

Mysql SELECT * من حيث الاسم مثل "Bob %" AND phone_number = "3444444"؛

إظهار جميع الإدخالات التي تبدأ بالحرفين "bob" ورقم الهاتف "3444444"، مع تحديد الإدخالات من 1 إلى 5:

Mysql SELECT * من حيث الاسم مثل "Bob %" ورقم الهاتف = "3444444" الحد 1.5؛

استخدام التعبيرات العادية ("REGEXP BINARY") للبحث عن السجلات. على سبيل المثال، بالنسبة إلى البحث غير الحساس لحالة الأحرف، ابحث عن كافة السجلات التي تبدأ بالحرف A:

Mysql SELECT * من حيث RLIKE "^a"؛

إظهار جميع الإدخالات الفريدة:

Mysql SELECT DISTINCT FROM؛ Mysql SELECT، من الطلب حسب الوصف؛

إظهار عدد الصفوف في الجدول:

Mysql SELECT COUNT(*) من ؛

Mysql SELECT SUM(*) من ؛

إزالة عمود:

Mysql تغيير عمود إسقاط الجدول؛

إضافة عمود إلى قاعدة البيانات:

Mysql تغيير الجدول إضافة عمود varchar(20);

تغيير اسم العمود:

تغيير جدول Mysql varchar(50);

قم بإنشاء عمود باسم فريد لتجنب الأسماء المكررة:

إضافة جدول تغيير Mysql فريد () ؛

تغيير حجم العمود:

تعديل جدول Mysql VARCHAR(3);

إزالة عمود من الجدول:

Mysql تغيير مؤشر إسقاط الجدول؛

Mysql LOAD DATA INFILE " /tmp/filename.csv" استبدل INTO TABLE FIELDS TERMINATED BY "،" LINES TERMINATED BY "n" (field1,field2,field3);

مستخدمو خادم MySQL وكلمات المرور - إضافة وتغيير المستخدمين وكلمات المرور. وحدة التحكم

إنشاء مستخدم جديد - الاتصال بالخادم ماي إس كيو إلكجذر، قم بالتبديل إلى قاعدة البيانات، أضف مستخدمًا، قم بتحديث الامتيازات:

# mysql -u root -p mysql use mysql; الخلية INSERT INTO المستخدم (المضيف، المستخدم، كلمة المرور) VALUES("%"، اسم المستخدم "، PASSWORD(" كلمة المرور ")); امتيازات التدفق MySQL؛

تغيير كلمة مرور المستخدم من وحدة التحكم على المضيف البعيد db1.example.org:

# mysqladmin -u اسم المستخدم -h db1.example.org -p كلمة المرور " كلمة المرور الجديدة "

تغيير كلمة مرور المستخدم من وحدة التحكم ماي إس كيو إل- الاتصال كجذر، تحديث كلمة المرور، تحديث الامتيازات:

# mysql -u root -p mysql SET PASSWORD FOR "user "@" hostname " = PASSWORD("passwordhere"); امتيازات التدفق MySQL؛

استعادة/تغيير كلمة مرور خادم الجذر ماي إس كيو إل- قف ماي إس كيو إل، ابدأ بدون جداول امتيازات، واتصل كجذر، وقم بتعيين كلمة مرور جديدة، ثم اخرج وأعد التشغيل ماي إس كيو إل.

# /etc/init.d/mysql stop # mysqld_safe -skip-grant-tables & # mysql -u root mysql use mysql; قام مستخدم تحديث MySQL بتعيين كلمة المرور = PASSWORD ("newrootpassword") حيث User = "root"؛ الخلية؛ امتيازات التدفق؛ إنهاء MySQL # /etc/init.d/mysql stop # /etc/init.d/mysql start

قم بتعيين كلمة مرور الجذر إذا كانت هناك كلمة مرور الجذر.

# mysqladmin -u كلمة مرور الجذر newpassword

تحديث كلمة مرور الجذر:

# mysqladmin -u root -p oldpassword newpassword

ضبط الحق في الاتصال بالخادم من المضيف المحلي باستخدام كلمة المرور "passwd" - الاتصال بالجذر الفرعي، والتبديل إلى قاعدة البيانات، وتعيين الامتيازات، وتحديث الامتيازات:

# mysql -u root -p mysql use mysql; يمنح mysql الاستخدام على *.* إلى bob @localhost الذي تم تحديده بواسطة "passwd"؛ امتيازات التدفق MySQL؛

تعيين امتيازات المستخدم لاستخدام قاعدة البيانات - الاتصال كجذر، والتبديل إلى قاعدة البيانات، وتعيين الامتيازات، وتحديث الامتيازات:

# mysql -u root -p mysql use mysql; mysql INSERT INTO db (Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv,Create_priv,Drop_priv) VALUES ("%"، "databasename"، "اسم المستخدم"، "Y"، "Y"، "Y"، " Y"،"Y"،"N")؛ امتيازات التدفق MySQL؛

يمنح MySQL كافة الامتيازات الموجودة على اسم قاعدة البيانات .* لاسم المستخدم @localhost؛ امتيازات التدفق MySQL؛

تحديث المعلومات في قاعدة البيانات:

مجموعة تحديث Mysql Select_priv = "Y"،Insert_priv = "Y"،Update_priv = "Y" حيث = المستخدم"؛

حذف صف في جدول:

Mysql DELETE from Where = "مهما كان";

تحديث الامتيازات في قاعدة البيانات:

امتيازات تدفق Mysql؛

النسخ الاحتياطية - إنشاء واستعادة قواعد البيانات. وحدة التحكم

قم بإنشاء نسخة احتياطية (تفريغ) لجميع قواعد البيانات في ملف alldatabases.sql:

# mysqldump -u root -p كلمة المرور -opt؛ /tmp/alldatabases.sql

قم بعمل نسخة احتياطية من قاعدة بيانات واحدة إلى ملف dataname.sql:

# تفريغ MySQL -u اسم المستخدم -p كلمة المرور -اسم قاعدة البيانات لقواعد البيانات؛ /tmp/databasename.sql

قم بعمل نسخة احتياطية من جدول واحد إلى الملف dataname.tablename.sql:

# mysql dump -c -u اسم المستخدم -p كلمة المرور اسم قاعدة البيانات tablename ؛ /tmp/databasename.tablename.sql

استعادة قاعدة بيانات (أو جدول) من نسخة احتياطية:

# mysql -u اسم المستخدم -p اسم قاعدة البيانات كلمة المرور< /tmp/databasename.sql

إنشاء جداول قاعدة البيانات. وحدة التحكم

تتم الإشارة إلى أسماء الأعمدة بأحرف صغيرة؛
الحروف الكبيرة - أنواع وسمات الأعمدة؛
بين (بين قوسين) - قيمة نوع العمود.

إنشاء جدول، المثال 1:

Mysql إنشاء جدول (الاسم الأول VARCHAR(20)، الاسم الأوسط VARCHAR(3)، الاسم الأخير VARCHAR(35)، اللاحقة VARCHAR(3)، معرف المكتب VARCHAR(10)، معرف المستخدم VARCHAR(15)، اسم المستخدم VARCHAR(8)، البريد الإلكتروني VARCHAR(35) )، الهاتف VARCHAR(25)، المجموعات VARCHAR(15)، التاريخ DATE، الطابع الزمني TIME، pgpemail VARCHAR(255));

إنشاء جدول، المثال 2:

Mysql إنشاء جدول (personid INT(50) NOT NULL AUTO_INTCREMENT PRIMARY KEY، VARCHAR(35)، الاسم الأوسط VARCHAR(50)، الاسم الأخير VARCHAR(50) الافتراضي "bato");

من المؤلف:فتاة، سيارتك لن تعمل؟ ربما يمكننا تجربتها "من انتهازي"؟ سوف اساعد! لا أعرف كيف هو؟ هل قمت فقط ببدء تشغيل خادم DBMS عبر cmd؟ هذا يعني أنك تعرف كيفية تشغيل MySQL عبر سطر الأوامر، لكنك لا تعرف حتى كيفية تشغيل السيارة. يا آنسة، أنتِ شقراء "غريبة"!

الشذوذات في وصف MySQL

عند إعداد كل مقالة، يجب عليّ أن أقوم بالبحث "الشامل" في الإنترنت بحثًا عن مواد مرجعية حول هذا التخصص أو ذاك من مجالات "بناء المواقع". بالنسبة للجزء الأكبر، هناك العديد من الأدلة والبرامج التعليمية التفصيلية المنشورة على الإنترنت، ولكن ليس لـ MySQL.

بالطبع، هناك تعليم جدير، ولكن الجزء الرئيسي في نظام إدارة قواعد البيانات يوفر فقط أمثلة على أوامر الكتابة، وحتى بدون الإشارة إلى بناء الجملة. في مثل هذه الحالة، يكاد يكون من المستحيل على أي "دمى" أن يفهموا، على سبيل المثال، كيفية الاتصال بـ MySQL عبر سطر الأوامر.

للعثور على إجابة للمبتدئين، سيتعين عليك البحث في عشرات المنتديات المواضيعية، حيث سيتنازل المطورون المحترفون (يتظاهرون بأنهم "أكاديميون" تقريبًا) لشرح شيء عادي على الأقل للمبتدئين.

يجدر بنا أن نفهم أن المسؤول الحقيقي يجب أن يعرف جميع طرق التشغيل والعمل مع خادم قاعدة البيانات. من الواضح أن قذائف البرامج هي الطريقة الأكثر ملاءمة، لكنها قد لا تكون دائما في متناول اليد. لذلك، فإن معرفة كيفية تمكين MySQL عبر سطر الأوامر ستوفر أكثر من مرة بيانات الموقع وسمعتك كمتخصص (إذا كنت تخطط للانخراط في تطوير الويب بشكل احترافي).

دعونا ننظر إلى هذا الموضوع بمزيد من التفصيل. ويرجى عدم التلفظ بوجه إذا كان أي شيء مذكور في هذه المادة يبدو لك بسيطًا مثل بدء تشغيل السيارة "من محرك الدفع".

إطلاق كمد

لتشغيل MySQL من سطر الأوامر، قم أولاً بتنشيط الأداة المساعدة نفسها (cmd)، والتي تم تضمينها في مجموعة Windows القياسية. بل إنني مهتم في القراءة أكثر:

اختصار لوحة المفاتيح Win + R، ثم في مربع الحوار "Run" الذي يظهر، أدخل cmd

من خلال لوحة البداية.

بالإضافة إلى ذلك، قد يأتي MySQL مع غلاف أصلي. على سبيل المثال، إذا قمت بتثبيت خادم قاعدة بيانات على جهاز محلي باعتباره "تطبيقًا" مستقلاً غير مضمن في حزمة "السادة".

يتم تشغيل سطر أوامر MySQL الأصلي تمامًا مثل cmd العادي. ستظهر الاختلافات في تشغيل كلتا الخدمتين لاحقًا. سنتحدث عن هذا في القسم التالي.

العمل مع سطر الأوامر

أولا، دعونا نتعامل مع الأداة المساعدة المضمنة في نظام التشغيل. دعونا نلقي نظرة على كيفية تشغيل MySQL من سطر أوامر Windows. للقيام بذلك تحتاج:

المسار إلى المجلد الموجود في نظام ملفات الكمبيوتر حيث قمت بتثبيت خادم قاعدة البيانات.

حساب المستخدم - تسجيل الدخول وكلمة المرور.

إذا كنت تعمل مع Denver، فإن الملف القابل للتنفيذ موجود على القرص الظاهري الذي تم إنشاؤه بعد بدء تشغيل الخادم المحلي، على هذا المسار: Z:\usr\local\mysql-5.5\bin

كما قلت سابقًا، يتم تشغيل سطر أوامر MySQL في Denwer عبر cmd OC. أي أننا نقوم أولاً بتشغيله، ثم نحدد المسار إلى الملف القابل للتنفيذ DBMS. يمكن تحديد كلمة المرور وتسجيل الدخول للوصول أولاً أو لاحقًا بعد تنشيط الأداة المساعدة MySQL. بالنسبة لي، فمن الملائم أكثر تسجيل كل شيء مرة واحدة: Z:\usr\local\mysql-5.5\bin\mysql.exe -u root

لقد قمنا بتسجيل الدخول إلى خادم DBMS بحقوق المسؤول. ليس لدي كلمة مرور محددة للجذر، لذلك لم يتم تحديد قيمتها. بعد أن قمنا بتشغيل MySQL من سطر الأوامر، ستظهر أدناه معلومات المساعدة حول إصدار الأداة المساعدة والخادم ومعرف الاتصال.

الآن دعونا نتحقق من صحة الإجراء و"قوة" حقوقنا. على سبيل المثال، لنعرض قائمة بجميع الجداول المستخدمة حاليًا على الخادم:

عرض الجداول المفتوحة؛

عرض الطاولات المفتوحة؛

أعطانا MySQL في سطر أوامر Windows فقط الجداول التي تشكل جزءًا من قاعدة بيانات النظام. وذلك لأن جميع البيانات المخزنة فيه يتم استخدامها في المثيل قيد التشغيل لنظام إدارة قواعد البيانات (DBMS). بهذه الطريقة عرفنا أن الخادم كان قيد التشغيل وأننا قمنا بتسجيل الدخول إليه باستخدام حقوق المسؤول، كما هو مخطط له.

يختلف مخطط العمل مع الغلاف المثبت مع نظام إدارة قاعدة البيانات قليلاً. "لتجربة" كل هذا بأنفسنا، دعونا نقوم بتنشيط MySQL من خلال سطر الأوامر هذا.

بعد تشغيله، تظهر نافذة يجب عليك فيها إدخال كلمة المرور على الفور. وبخلاف ذلك، فإن عملية التفاعل مع الأداة المساعدة برمتها هي نفسها.

العمل مع التطبيقات الأخرى

لا يقتصر تكوين المجموعة القياسية من أدوات إدارة قواعد البيانات على خادم واحد قابل للتنفيذ. يمكن عرض مجموعتها من خلال البحث في نفس المجلد الذي يوجد به خادم قاعدة البيانات. على سبيل المثال، لنقم بتشغيل أداة تفريغ MySQL عبر سطر الأوامر.

أولا، انتقل إلى القرص الظاهري، ثم استخدم الأمر cd إلى المجلد حيث يتم تخزين الأداة المساعدة. اسمحوا لي أن أذكرك أنه مخصص لإنشاء نسخ احتياطية من قواعد البيانات.

في الخطوة التالية، قبل تسجيل الدخول إلى MySQL عبر سطر الأوامر، سنحتاج إلى تحديد حساب وكلمة مرور له. مثال على استخدام الأمر mysqldump:

mysqldump -uroot العالم>C:\Users\home\Desktop\dump\copy.sql

لكي يعمل الأمر بشكل صحيح، يجب إنشاء الدليل المحدد في وقت التنفيذ. وبخلاف ذلك، ستُرجع الأداة المساعدة رسالة تفيد بعدم وجود مثل هذا المسار.

ومن الجدير بالذكر أيضًا أن مستخدم MySQL المحدد في سطر الأوامر يجب أن يتمتع بحقوق تعديل قاعدة البيانات أو حساب المسؤول.

يتم تشغيل الأدوات المساعدة الأخرى المضمنة في المجموعة القياسية بطريقة مماثلة. بمساعدتهم، يمكنك تنفيذ جميع عمليات إدارة نظام إدارة قواعد البيانات الأساسية: إدارة الأدوار، وإنشاء نسخ احتياطية، وتحرير محتويات المخازن. وقم أيضًا بتثبيت خدمة MySQL من سطر الأوامر. بشكل عام، كل شيء، بدونه لن يبدأ خادم قاعدة البيانات "من انتهازي".

بالنسبة لنظام التشغيل Win 32، حدد التوزيع: Windows (x86، 32 بت)، أرشيف مضغوط.

لنظام التشغيل Win 64: Windows (x86، 64 بت)، أرشيف مضغوط.

بعد الضغط على زر التحميل ستظهر لك استمارة التسجيل، يمكنك تخطيها بالضغط على الرابط أدناه - لا شكرا، فقط خذني إلى التنزيلات.

2. قم بإنشاء مجلد التثبيت. على سبيل المثال . وقم بفك محتويات الأرشيف فيه بحيث تكون المجلدات بن والبيانات والمستندات وغيرهاكانت في جذر مجلد التثبيت.

3. دعنا ننتقل إلى إنشاء ملف التكوين (my.ini). نأخذ أحد الملفات القياسية كأساس:

  • my-small.ini - مناسب لأولئك الذين يستخدمون MySQL من وقت لآخر ولا يريدون أن يستهلك الخادم الكثير من الموارد.
  • my-medium.ini هو أيضًا تكوين منخفض الموارد، ولكنه مناسب لأولئك الذين يستخدمون MySQL بشكل مستمر (اختيار جيد لخادم ويب منزلي).
  • my-large.ini وmy-huge.ini - للأنظمة المستخدمة كخادم MySQL مخصص. ومع ذلك، يمكن استخدام my-large.ini لخادم منزلي إذا كنت بحاجة إلى أداء MySQL إضافي (512 ميجابايت من ذاكرة الوصول العشوائي ليست كثيرة جدًا في هذه الأيام).
  • my-innodb-heavy-4G - للخوادم المخصصة التي تحتوي على 4 جيجابايت على الأقل من ذاكرة الوصول العشوائي وتستخدم جداول InnoDB فقط.

في هذا المثال، اخترت my-medium.ini كأساس. أعد تسميته إلى my.ini وضعه في جذر مجلد التثبيت ( C:\ملفات البرنامج\MySQL\MySQL Server 5.5).

مفتوح للتحرير (في المفكرة العادية) وبعد السطر مباشرة أضف معلمتين:

Basedir=C:/Program Files/MySQL/MySQL Server 5.5 datadir=C:/Program Files/MySQL/MySQL Server 5.5/data

لاحظ أن المسارات تستخدم الخطوط المائلة للأمام (/) بدلاً من الخطوط المائلة العكسية (\).

Basedir هو المسار إلى مجلد التثبيت.

datadir - المسار إلى مجلد البيانات (حيث يتم تخزين كافة قواعد البيانات). في بعض الأحيان يكون من المنطقي وضع البيانات على قرص منفصل لتحسين الأداء أو ضمان الموثوقية.

تحسبًا لذلك، إليك جزء من ملف التكوين بعد إجراء التغييرات:

# خادم MySQL Basedir=C:/Program Files/MySQL/MySQL Server 5.5 datadir=C:/Program Files/MySQL/MySQL Server 5.5/data port = 3306 المقبس = /tmp/mysql.sock Skip-external-locking key_buffer_size = 16M max_allowed_packet = 1M table_open_cache = 64sort_buffer_size = 512K net_buffer_length = 8K read_buffer_size = 256K read_rnd_buffer_size = 512K myisam_sort_buffer_size = 8M

4. والخطوة التالية هي إضافة المسار C:\ملفات البرنامج\MySQL\MySQL Server 5.5\binإلى متغير بيئة PATH لتسهيل تشغيل MySQL من سطر الأوامر. للقيام بذلك، افتح خصائص النظام -> إعدادات النظام الإضافية -> في علامة التبويب خيارات متقدمة، في الجزء السفلي، زر "متغيرات البيئة...". في النافذة التي تفتح، قم بالتمرير خلال متغيرات النظام حتى تجد المسار. حدد هذا السطر وانقر فوق "تغيير ...". في نهاية السطر نضيف مسارنا، مع الحفاظ على المعلمات الموجودة:

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

5. قبل إجراء اختبار التشغيل، افتح منفذ TCP الوارد رقم 3306 في جدار حماية Windows:

إذا كان لديك جدار حماية إضافي مثبت على نظامك، فيجب عليك أيضًا فتح منفذ TCP رقم 3306 للاتصالات الواردة.

6. الآن نقوم بإجراء اختبار التشغيل. في سطر الأوامر الذي تم تشغيله كمسؤول (هذا مطلوب إذا تم تمكين UAC على Seven أو Vista)، قم بتشغيل:

Mysqld --console

سيتم عرض عدة خطوط على الشاشة. إذا تم الإطلاق بنجاح، فسيبدو السطر الأخير كالتالي:

الإصدار: مقبس "5.5.9-log": "" المنفذ: 3306 MySQL Community Server (GPL)

نترك هذه النافذة مفتوحة، ونفتح نافذة أخرى لسطر الأوامر، ندخل فيها:

Mysql -u الجذر

إذا كان الاتصال ناجحًا، فسترى موجه الأوامر: الخلية>

دعونا نرى ما هي قواعد البيانات لدينا:

إظهار قواعد البيانات؛

الفاصلة المنقوطة في نهاية استعلام SQL إلزامية!

رد الفريق:

والآن اقتنعنا أخيرًا أن الخادم يعمل.

7. دعنا ننتقل إلى الخطوة التالية - تحتاج إلى تعيين كلمة مرور مسؤول MySQL (المستخدم الجذر). لا توجد كلمة مرور يتم تعيينها بشكل افتراضي، ويجب إصلاح ذلك. في نفس نافذة MySQL، أدخل الأوامر التالية:

استخدم mysql UPDATE user SET كلمة المرور = PASSWORD("your_password") WHERE user = "root";

دعونا نتحقق من النتيجة:

حدد المستخدم والمضيف وكلمة المرور من المستخدم؛

كما ترون في لقطة الشاشة، عمود كلمة المرور ممتلئ، مما يعني أنه تم تعيين كلمة المرور.

قبل الخروج، قم بتشغيل الأمر:

امتيازات التدفق؛

الآن، عند الاتصال، يجب عليك إدخال كلمة المرور. للقيام بذلك، استخدم رمز التبديل -p:

Mysql -u الجذر -p

لإيقاف تشغيل MySQL:

Mysqladmin -u root -p اغلاق

8. الخطوة الأخيرة هي تشغيل MySQL كخدمة نظام Windows.

تأكد من عدم وجود عمليات MySQL نشطة على النظام.

في سطر الأوامر الذي يعمل كمسؤول، قم بتشغيل:

"C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld" --تثبيت

يجب تحديد المسار إلى mysqld بالكامل (حتى لو كان مدرجًا في PATH)!

لبدء الخدمة، افتح "إدارة الكمبيوتر" وابدأ تشغيل خدمة MySQL يدويًا:

أو أسهل عبر سطر الأوامر:

صافي بداية الخلية

لإزالة خدمة، أوقفها أولاً:

صافي توقف الخلية

وتنفيذ:

"C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld" --إزالة

من المؤلف:هل ضاعت مرة أخرى ولا تعرف كيفية تسجيل الدخول إلى MySQL؟ أنت لست الأول! اجمع كل المفقودين، والآن دعنا نذهب مباشرة لزيارتها. لمن "لها"؟ إلى نظام إدارة قواعد البيانات (DBMS) الأكثر شهرة على شبكة الإنترنت العالمية!

أين يقع MySQL في دنفر؟

وهذا لا يعني عاصمة ولاية كولورادو في الولايات المتحدة الأمريكية، بل حزمة برامج لإنشاء واختبار التطبيقات بلغة PHP. تشتمل مجموعة "السادة" على خادم Apache محلي، وخادم MySQL، وقشرة phpMyAdmin. بمساعدة حزمة البرامج هذه، غالبًا ما يتعلم "المبتدئون" جميع تعقيدات العمل مع نظام إدارة قاعدة البيانات هذا.

قبل تسجيل الدخول إلى MySQL من خلال متصفح، تحتاج إلى تشغيل خادم محلي، ثم كتابة localhost في شريط العناوين، وفي النافذة التي تظهر، "مرحبًا، إنه يعمل!" في قسم الأدوات المساعدة، حدد phpMyAdmin.

وبعد ذلك ستجد نفسك هناك (في phpMyAdmin).

نذهب إلى قواعد البيانات من خلال “المتاهة”

سنذهب أنا وأنت إلى الغابة "الكثيفة" ونحاول "الوصول" إليها إلى خادم قاعدة البيانات. لا تظن أننا نختبئ من أحد، الآن فقط سنتصرف مثل... يذهب!

قبل تسجيل الدخول إلى MySQL عبر سطر الأوامر، يجب عليك معرفة مكان وجود دليل خادم قاعدة البيانات الرئيسية. إذا كنت تستخدم نظام إدارة قواعد البيانات في شكله "الخالص" بدون "شوائب" (خارج مجموعة "الرجل المحترم")، فإن المجلد الجذر للخادم موجود هنا: C:\Program Files\MySQL\MySQL Server 5.5\bin\mysql.exe

إذا كنت تستخدم Denver، فالملف الذي تبحث عنه موجود في هذا المسار: Z:\usr\local\mysql-5.5\bin\mysql.exe،

حيث Z هو القرص الظاهري الذي يتم إنشاؤه بعد بدء تشغيل خادم الويب المحلي. قد يكون لديك تحت اسم مختلف (بتعبير أدق، حرف).

نحن مهتمون بملف mysql.exe. لنقم بتشغيله عن طريق تحديد اسم خادم قاعدة البيانات وكلمة المرور والمستخدم الذي سيتم من خلاله تسجيل الدخول إلى MySQL.

كيفية تمكين MySQL عبر سطر الأوامر: انتقل إلى "ابدأ"، وحدد "موجه الأوامر" من البرامج القياسية. نطلق الأداة المساعدة، ومن الآن فصاعدًا سنصف الإجراء الكامل "للمشي" في الغابة الكثيفة خطوة بخطوة، حتى لا تضيع المجموعة بأكملها من الأشخاص "المفقودين" مرة أخرى. فلنبدأ:

في نافذة CMD (سطر الأوامر) السوداء، أدخل المسار حيث يتم تخزين ملف MySQL القابل للتنفيذ، وبجانبه حدد اسم مستخدم DBMS وكلمة المرور. نظرًا لأن لدينا خادمًا محليًا، فإننا ندخل اسم المستخدم الجذر بدون كلمة مرور بعد المعرف u.

هذا في الواقع غير صحيح ويجب أن يكون لدى كل مستخدم لخادم MySQL كلمة مرور محددة. سننظر في جميع مشكلات أمان نظام إدارة قواعد البيانات (DBMS) بمزيد من التفصيل في أحد منشوراتنا التالية.

إليك الجزء الكامل من "الكود": Z:\usr\local\mysql-5.5\bin\mysql.exe -u root

إذا سارت الأمور على ما يرام، فيجب أن تظهر أدناه في نافذة سطر الأوامر معلومات حول إصدار الخدمة قيد التشغيل وسنة الإصدار والمعلومات الأخرى "غير الضرورية" بالنسبة لنا.

الآن، للتحقق من صحة الاتصال، سوف نقوم بإدخال استعلام بعد عامل التشغيل mysql> الذي سيعرض جميع قواعد البيانات المخزنة على الخادم. كود الطلب:

إظهار قواعد البيانات؛

لا تنس وضع فاصلة منقوطة في نهاية الطلب، وإلا سيعرض النظام رسالة خطأ. بعد إدخال الاستعلام والضغط على مفتاح "Enter"، حصلنا على قائمة بجميع قواعد البيانات المخزنة على خادم DBMS:

لكن هذا لا يكفي بالنسبة لنا. دعونا نحفر بشكل أعمق في الهيكل. دعونا نلقي نظرة على كيفية تسجيل الدخول إلى قاعدة بيانات MySQL والحصول على قائمة بجميع جداولها. اسمحوا لي أن أذكرك أننا الآن مخولون بالفعل على الخادم، لذلك نحتاج فقط إلى إدخال طلب آخر:

إظهار الجداول من db1؛

إظهار الجداول من db1؛

db1 هو اسم قاعدة البيانات التي نحتاجها.

في لقطة الشاشة نرى أن قاعدة البيانات المطلوبة تحتوي على جدول واحد فقط.

دعونا نحفر أعمق!

وكما يقولون فإن "الشهية" تأتي بعد تلقي نتائج تنفيذ الكود. ولذلك، سنحاول التعمق أكثر للحصول على البيانات المخزنة في الجدول. قبل تسجيل الدخول إلى MySQL مرة أخرى، إليك مثال لاستعلام SQL يمكننا من خلاله إنجاز خططنا:

اختر * من الحيوان؛

اختر * من الحيوان ;

نقوم بإدخال الطلب وتشغيله للتنفيذ و... لسبب ما أعطانا الخادم خطأ.

وكل ذلك لأننا نسينا إخبار MySQL بقاعدة البيانات التي نهتم بها. لذلك "يقسم" الخادم أنه لم يتم تخصيص أي من قواعد البيانات. يثبت هذا مرة أخرى أن العمل مع نظام إدارة قواعد البيانات من خلال سطر الأوامر يختلف تمامًا عن التفاعل معه من خلال غلاف البرنامج.

في phpMySQL، سيتم تنفيذ هذا الاستعلام بنجاح وسيقوم الخادم بإرجاع مجموعة مختارة من جميع الصفوف الموجودة في الجدول المطلوب.

دعونا نصحح إغفالنا الشائع (من الصعب دائمًا الاعتراف بالذنب)، وقبل تسجيل الدخول إلى MySQL من خلال وحدة التحكم مرة أخرى، سنقوم بإعداد استعلام "محدد" سنوجه به النظام إلى قاعدة البيانات المطلوبة:

استخدم db1؛

بعد إدخال هذا السطر وتنفيذه، سيعرض الخادم رسالة تؤكد أنه تم تخصيص قاعدة البيانات المطلوبة.

والآن دعونا ندخل وننفذ استعلامًا لاسترداد جميع البيانات من جدول الحيوانات مرة أخرى. "فليكن هناك بيانات!" - قال المسؤول، وأطلقت SELECT. وصلنا إلى الجزء السفلي من db1 وحصلنا على محتويات جدول الحيوانات. لا عجب أنه قبل الدخول إلى قاعدة بيانات MySQL، قمنا بتنفيذ "طقوس" كاملة وكتبنا "التهجئة" الصحيحة في SQL.

ماذا يمكنك حفر؟

لقد بحثنا بعمق في الجزء السفلي من MySQL. الآن دعونا نحفر قليلاً إلى الجانب. ما هي المعلومات الأخرى التي يمكن الحصول عليها من خلال سطر الأوامر عن طريق الاستعلام عن MySQL؟ هل تريد معرفة بنية الجدول وأنواع البيانات لجميع الأعمدة والمفتاح الأساسي؟ لو سمحت! قم بتشغيل هذا الاستعلام:

وصف الحيوان؛

وصف الحيوان؛

في بعض الأحيان، لمعرفة كيفية تمكين خادم MySQL، تحتاج إلى الحصول على قائمة بجميع المستخدمين المسجلين لنظام إدارة قواعد البيانات (DBMS). يتم استخدام الاستعلام التالي لهذا الغرض.