الأخبار

دليل MySQL للمبتدئين

 
نظام MySQL هو نظام إدارة قواعد بيانات علائقية مفتوح المصدر يدعم لغة الاستعلام الهيكلية (SQL) Structured Query Language. يساعد في تطوير مجموعة واسعة من التطبيقات المستندة إلى الويب والمحتوى عبر الإنترنت. يعمل MySQL على جميع أنظمة التشغيل الأساسية مثل Linux/ UNIX و macOS و Windows وهو مكون مهم في حزمة LAMP.

يعد MySQL أحد أكثر أنظمة قواعد البيانات شيوعًا ويقدمها العديد من موفري السحابة كجزء من خدمتهم. يستخدم أوامر مع الاستعلامات والبيانات لأداء المهام والوظائف من خلال التواصل مع قاعدة البيانات. تتناول هذه المقالة عبارات MySQL الأكثر استخدامًا والتي تسمح للمستخدمين بالعمل بكفاءة مع قواعد البيانات.

استخدام MySQL Client
يتيح لك MySQL الاتصال بخادم باستخدام
client مثل أداة command-line, mysql. استخدم العلامتين -u و -p لتوفير اسم المستخدم وكلمة المرور:
mysql -u [username] -p
mysql -u [username] -p [database]

عند الانتهاء، اخرج من MySQL command-line client كما يلي:

exit
العمل مع حسابات المستخدمين  Working With User Accounts
لإنشاء حساب مستخدم جديد، افتح terminal الجديد للوصول إلى MySQL كجذر root وإنشاء مستخدم جديد على النحو التالي:
$ sudo mysql -u root -p
...
mysql> CREATE USER 'username' IDENTIFIED BY 'password';

يمكنك أيضًا إعداد حساب مستخدم له وصول مقيد restricted access عن طريق تحديد مضيف host يجب عليه الوصول إلى قاعدة البيانات من:

CREATE USER 'user'@'localhost';
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';

لتحديد اتصال عن بعد remote connection، يمكنك استبدال "localhost" بعنوان IP الخاص بالجهاز على النحو التالي:

CREATE USER 'username'@'ip_address' IDENTIFIED BY 'password';

أخيرًا، يمكنك حذف حساب بالبيان التالي:

DROP USER 'user'@'ip_address' IDENTIFIED BY 'password';
امتيازات حساب المستخدم  User Account Privileges
قبل الانتقال، ستحتاج إلى تعيين الأذونات المناسبة appropriate permissions لحساب المستخدم الجديد. هذا يتجنب خطر وصول المستخدم غير الضروري داخل قاعدة البيانات.

يمكنك العمل مع امتيازات المستخدم في MySQL باستخدام عبارات مثل GRANT و REVOKE و ALTER. اعتمادًا على الإجراءات التي تريد أن يكون المستخدم قادرًا على تنفيذها، يمكنك تعيين كل الأذونات أو بعضها. هذه الأذونات permissions هي ALL PRIVILEGES, SELECT, UPDATE, INSERT, DELETE, CREATE, DROP، وGRANT.

يمكنك تعيين الامتياز الإداري administrative privilege لإدراج البيانات في كافة الجداول التي تنتمي إلى أي قاعدة بيانات:
GRANT INSERT ON *.* TO 'username'@'ip_address';

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

GRANT SELECT, INSERT, DELETE ON database.* TO 'user'@'ip_address' IDENTIFIED BY 'password';

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

GRANT SELECT, INSERT, DELETE ON database.table_name TO 'user'@'ip_address' IDENTIFIED BY 'password';

يمكنك منح جميع الأذونات لكل جدول داخل قاعدة بيانات معينة على النحو التالي:

GRANT ALL PRIVILEGES ON database.* TO 'user'@'ip_address' IDENTIFIED BY 'password';

لإلغاء أذونات مستخدم من قاعدة بيانات واحدة:

REVOKE ALL PRIVILEGES ON database.* FROM 'user'@'ip_address';

يمكنك سحب جميع امتيازات المستخدم من كل قاعدة بيانات على النحو التالي:

REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'user'@'ip_address';

أخيرًا، يمكنك تعيين كلمات مرور مثل هذا:

SET PASSWORD FOR 'user'@'ip_address' = PASSWORD('new_password');

لاحظ استخدام وظيفة PASSWORD التي تقوم بتجزئة كلمة مرور النص العادي.

العمل مع قواعد البيانات
يمكنك إنشاء قاعدة بيانات جديدة باسم غير موجود بالفعل:
CREATE DATABASE database_name;

يمكنك تبديل قاعدة البيانات الحالية إلى قاعدة بيانات أخرى تريد العمل معها:

USE database_name;

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

DROP DATABASE database_name;
العمل مع الجداول  Working With Tables
الجدول هو العنصر الهيكلي الرئيسي لقاعدة بيانات MySQL، حيث يجمع مجموعة من السجلات ذات الصلة في شكل صفوف. يحتوي كل صف على أعمدة بأنواع بيانات مختلفة يمكن أن تكون CHAR و VARCHAR و TEXT من بين العديد من الأنواع الأخرى.

الصيغة العامة لإنشاء جدول هي كما يلي:
CREATE TABLE table_name (column_1 data_type1, column_2 data_type2);

يمكنك أيضًا إنشاء جدول جديد من جدول موجود عن طريق تحديد أعمدة معينة على النحو التالي:

CREATE TABLE new_table_name AS SELECT column_1, column_2 FROM existing_table_name;

يمكنك إضافة بيانات إلى جدول باستخدام الأمر التالي:

INSERT INTO table_name (column_1, column_2) VALUES (value_1, value_2);

لحذف جدول، استخدم عبارة DROP TABLE على النحو التالي:

DROP TABLE table_name;

أو تحتفظ بالجدول ولكن تحذف جميع بياناته باستخدام:

TRUNCATE TABLE table_name; 
الوصول إلى قواعد البيانات Accessing Databases
استخدم العبارة التالية لإظهار جميع قواعد البيانات المتاحة داخل MySQL DMS:
SHOW DATABASES;

وبالمثل، يمكنك سرد كافة الجداول في قاعدة البيانات الحالية:

SHOW TABLES;

لعرض كافة الأعمدة داخل جدول:

DESCRIBE table_name;

لعرض معلومات العمود داخل جدول:

DESCRIBE table_name column_name;
الاستعلام عن قواعد البيانات  Querying Databases
يسمح لك MySQL باستخدام عبارة SELECT للاستعلام عن البيانات من قاعدة البيانات. يمكنك استخدام العديد من عبارات MySQL لتوسيع وظائفها الأساسية.

تُرجع العبارة التالية مجموعة نتائج تتكون من عمودين من كل صف في جدول:
SELECT column1, column2 FROM table_name; 

أو اعرض كل الأعمدة كما يلي:

SELECT * FROM table_name; 

يمكنك أيضًا الاستعلام عن قواعد البيانات/ الجداول واسترداد المعلومات باستخدام الشروط على النحو التالي:

SELECT column1, column2 FROM table_name WHERE condition; 

تسمح لك عبارة SELECT أيضًا بتجميع النتيجة التي تم تعيينها بواسطة عمود واحد أو أكثر باستخدام جملة GROUP BY. يمكنك بعد ذلك استخدام الدالات التجميعية لحساب البيانات التلخيصية:

SELECT COUNT(CustomerID), Country FROM Customers GROUP BY Country;
تحديث الجداول  Updating Tables
يمكنك تعديل البيانات داخل الجدول باستخدام عبارات UPDATE أو ALTER. تسمح لك عبارة UPDATE بتحديث سجلات/ صفوف فردية أو متعددة.

يقوم الأمر MySQL التالي بتغيير اسم المستخدم والمدينة لسجل واحد حيث يكون UserID هو 2:
UPDATE Users SET UserName = 'Alfred James', City= 'Munich' WHERE UserID = 2;

بينما يقوم هذا المثال بتحديث جميع أسماء المستخدمين لجميع السجلات التي تقع فيها مدينة ميونيخ Munich:

UPDATE Users SET UserName='Juan' WHERE City='Munich'; 

يمكنك إضافة عمود إلى جدول مثل هذا:

ALTER TABLE table_name ADD COLUMN column_name;

لإزالة عمود من الجدول، استخدم عبارة ALTER TABLE على النحو التالي:

ALTER TABLE table_name DROP COLUMN column_name; 
MySQL للمبتدئين
في هذه المقالة، رأيت أوامر MySQL الأكثر شيوعًا. تمكّنك من إدارة حسابات المستخدمين وتغيير بنية قواعد البيانات ومعالجة البيانات.

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