• لمتابعة آخر المقالات و الحيل التقنية و كسب كورسات مجانية انضم لقناتنا الآن   انضم الان

ما هي أساسيات نظام قواعد البيانات العلائقية MySQL


 MySQL Basics | أساسيات MySQL




MySQL هو نظام إدارة قواعد البيانات الشائع والمفتوح المصدر الذي يوفر العديد من الميزات والأدوات لتخزين وإدارة البيانات. يعتبر MySQL موثوقًا وقويًا ومستخدمًا على نطاق واسع في تطبيقات الويب والتطبيقات الأخرى. في هذا المقال، سنقدم لك مقدمة شاملة عن MySQL، بما في ذلك طرق تثبيتها على أنظمة Windows و Linux، وأساسياتها، وأنواع البيانات الرقمية، والأوامر الأساسية، والتطبيقات المستخدمة فيها، وطرق التعامل معها بسهولة، واللغات التي يتم استخدامها مع MySQL مثل Ruby و Python و PHP.


* اولًا كيفية تثبيت MySQL على نظام Windows؟

   يمكنك اتباع الخطوات التالية لتثبيت MySQL على نظام Windows:


   - قم بتنزيل حزمة التثبيت الخاصة بـ MySQL من الموقع الرسمي لـ MySQL (https://dev.mysql.com/downloads/windows/installer/).

   - قم بتشغيل ملف التثبيت واتبع الإرشادات على الشاشة لاستكمال عملية التثبيت.

   - اختر المكونات التي ترغب في تثبيتها، مثل خادم MySQL وأدوات الإدارة.

   - قم بتكوين إعدادات الخادم، مثل المستخدم الجذر (root) وكلمة المرور.

   - انتظر حتى يتم الانتهاء من عملية التثبيت، ثم قم بتشغيل خادم MySQL.


* ثانيًا كيفية تثبيت MySQL على نظام Linux؟

   يمكنك اتباع الخطوات التالية لتثبيت MySQL على نظام Linux (مثال على Ubuntu):


   - افتح التيرمنال وأدخل الأمر التالي لتثبيت MySQL:

     ```

     

sudo apt-get update

     

sudo apt-get install mysql-server

     


   - أثناء عملية التثبيت، سيتم طلب إعداد كلمة مرور للمستخدم الجذر


(root) في MySQL.


   - بعد الانتهاء من التثبيت، يمكنك التحقق من حالة خادم MySQL بإدخال الأمر التالي :


sudo service mysql status

   - يمكنك تشغيل خادم MySQL باستخدام الأمر التالي:


sudo service mysql start

   الآن بعد أن قمت بتثبيت MySQL على نظامك، دعنا نلقي نظرة على بعض الأساسيات وأنواع البيانات الرقمية والأوامر الأساسية في MySQL.


* ثالثًا ما هي أساسيات MySQL؟

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


- أنواع البيانات الرقمية في MySQL : 

- BOOLEAN: قيمٌ منطقيةٌ، وتعتبَر فيها القيم المساوية للصفر (0) على أنَّها false، وبقية القيم true.


- TINYINT: إذا استخدمَت مع الكلمة المحجوزة SIGNED فستُمثِّل المجال من ‎-128 إلى 127، بينما مجالها إن كانت UNSIGNED فهو من 0 إلى 255.


- SMALLINT: إذا استخدمت مع SIGNED فهي تمثِّل المجال من ‎-32768 إلى 32767. بينما مجال UNSIGNED فهو من 0 إلى 65535.


- INT: إذا استخدمت مع SIGNED فهي تغطي المجال من 0 إلى 4294967295، ومن ‎‎-2147483648 إلى 2147483647 فيما عدا ذلك.


- ملاحظة: في أنواع البيانات TINYINT و SMAILLINT و INT، القيمة الافتراضية المرتبطة معها هي SIGNED.


- DOUBLE(M, D): يُمثِّل هذا النوع الأعداد العشرية ذات الفاصلة، حيث M هو العدد الكلي للأرقام و D هو عدد الأرقام بعد الفاصلة العشرية. إذا اُستعمِلَت الكلمة UNSIGND فلن يُسمَح بإدراج قيم سالبة في هذا الحقل.


- أنواع البيانات النصية في MySQL : 

- VARCHAR(M): يُمثِّل هذا النوع السلاسل النصية ذات الطول المتغير حيث M هو عدد الأحرف المسموح الأقصى للسلسلة النصية مقدرًا بالبايت (يمكن أن يبلغ نظريًا 65535 بايت). في حال كانت السلاسل النصية المُدخَلة بالإنكليزية، فسيأخذ كل محرف بايتًا واحدًا، لكن هنالك استثناءٌ لبعض المحارف التي قد تأخذ 3 بايت لكي تُمثَّل، فمثلًا، الحرف الإسباني ñ لا يأخذ بايتًا واحدًا وإنما ثلاثة بايتات.

- TEXT(M): يُمثِّل هذا النوع الأعمدة ذات الطول الأقصى المقدّر 65535 محرفًا، لكن كما في نوع البيانات VARCHAR(M) سينقص طول التخزين الأقصى إذا استعملنا محارف تأخذ أكثر من بايت لتُمثَّل في الحاسوب. إذا حُدِّدَ M فسيُنشأ العمود بأصغر نوع بيانات التي يستطيع تخزين هذا العدد من المحارف.

- MEDIUMTEXT(M) و LONGTEXT(M) شبيهة بنوع البيانات TEXT(M) لكن الطول الأقصى المسموح هو 16777215 و 4294967295 محرفًا على التوالي وبالترتيب.


- الوقت والتاريخ في MySQL : 

- DATE: تمثيل التاريخ بصيغة YYYY-MM-DD.

- TIME: تمثيل الوقت بصيغة HH:MM:SS.sss (أي الساعة والدقيقة والثانية والملي ثانية).

- DATETIME: جمعٌ بين DATE و TIME بالصيغة YYYY-MM-DD HH:MM:SS.

- TIMESTAMP: تُستعمَل بصمة الوقت لتعريف اللحظة التي أضيف أو حُدِّث فيها سجلٌ (row) ما.


- بعد اطلاعك على أنواع البيانات السابقة، فيمكن أن تستطيع الآن تحديد ما هو نوع البيانات الذي ستحتاج له لإسناده إلى عمودٍ معيّن في الجدول.

- على سبيل المثال، يمكن أن يتسع اسم المستخدم بسهولة في عمودٍ بنوع البيانات VARCHAR(50)، لكن محتوى تدوينة سيحتاج إلى نوع TEXT (اختر قيمة M بما يلبي احتياجاتك).


- إنشاء جداول فيها مفاتيح أساسية وأجنبية :

قبل أن نشرع في إنشاء جداول، فمن الضروري استيعاب مفهومين أساسيين عن قواعد البيانات العلائقية: المفتاح الأساسي (primary key) والمفتاح الأجنبي (foreign key).

- يحتوي المفتاح الأساسي قيمةً تُمثِّلُ مُعرِّفًا فريدًا لكل سطرٍ أو سجلٍ (row أو record) فيه


* رابعًا ما هي الأوامر الأساسية في MySQL وأمثلة عليها؟

- إنشاء قاعدة بيانات جديدة :

CREATE DATABASE database_name;

   

- اختيار قاعدة البيانات للاستخدام :   

USE database_name;

- إنشاء جدول جديد :   

CREATE TABLE table_name  (

     column1 datatype,

     column2 datatype,

     ...

   );

- إدراج بيانات في جدول :   

INSERT INTO table

_name (column1, column2, ...)

   VALUES (value1, value2, ...);

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


SELECT * FROM table_name;


- تحديث البيانات في جدول :

UPDATE table_name

   SET column1 = value1, column2 = value2, ...

   WHERE condition;

- حذف بيانات من جدول :


   

DELETE FROM table_name WHERE condition;


- هذه بعض الأمثلة على الأوامر الأساسية في MySQL. يمكنك استكشاف المزيد من الأوامر والتعلم العميق للعمل مع MySQL.


- طرق التعامل مع MySQL بسهولة :

- يتوفر العديد من التطبيقات والأدوات التي تسهل التعامل مع MySQL، بما في ذلك:


1. MySQL Workbench: أداة رسومية قوية توفر واجهة بديهية لإدارة قواعد البيانات وتنفيذ الاستعلامات وتصميم الجداول وأكثر من ذلك.

2. phpMyAdmin: تطبيق ويب يتيح لك إدارة قواعد البيانات MySQL عبر متصفح الويب.

3. HeidiSQL: أداة مفتوحة المصدر توفر واجهة بديهية للتعامل مع قواعد البيانات MySQL وتحرير البيانات وإدارة الجداول.


* خامسًا  ما هي اللغات المستخدمة مع MySQL؟ 

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


   

require 'mysql2'

   

   client = Mysql2::Client.new(:host => "localhost", :username => "root", :password => "password", :database => "database_name")

   

   results = client.query("SELECT * FROM table_name")

   

   results.each do |row|

     puts row["column_name"]

   end

   

 import mysql.connector

   

   mydb = mysql.connector.connect(

     host="localhost",

     user="root",

     password="password",

     database="database_name"

   )

   

   mycursor = mydb.cursor()

   

   mycursor.execute("SELECT * FROM table_name")

   

   for row in mycursor:

     print(row)

   

$servername = 'localhost;
   $username = 'root';
   $password = 'password';
   $dbname = 'database_name';
   
   $conn = new mysqli($servername, $username, $password, $dbname);
   
   $sql = 'SELECT *	FROM table_name';
   $result = $conn->query($sql);
   
   if ($result->num_rows > 0) {

     while($row = $result->fetch_assoc()) {

       echo $row["column_name"];

     }

   } else {

     echo "0 results";

   }

   $conn->close();


* سادسًا MySQL وبرامج مشتقة منها مثل MariaDB؟

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


- بالإضافة إلى MariaDB، هناك العديد من البرامج والمشتقات الأخرى التي تعتمد على MySQL، مثل Percona Server وAmazon RDS وOracle MySQL وغيرها.


* سابعًا كيفية استخدام SQLite3 في Python؟

- إذا كنت ترغب في استخدام SQLite3 في Python بدلاً من MySQL، يمكنك القيام بالخطوات التالية:


1. تثبيت SQLite3 :

   

pip3 install sqlite3


2. إنشاء قاعدة بيانات :

   

import sqlite3

   # Connect to the database

   conn = sqlite3.connect('mydatabase.db')



   # Create a cursor object

   cursor = conn.cursor()



   # Create a table

   cursor.execute('''CREATE TABLE customers

                     (name TEXT, email TEXT)''')



   # Insert data into the table

   cursor.execute("INSERT INTO customers VALUES ('John Doe', 'john@example.com')")

   cursor.execute("INSERT INTO customers VALUES ('Jane Smith', 'jane@example.com')")



   # Commit the changes

   conn.commit()



   # Close the cursor and connection

   cursor.close()

   conn.close()

3. استرداد البيانات :

   

import sqlite3

   # Connect to the database

   conn = sqlite3.connect('mydatabase.db')



   # Create a cursor object

   cursor = conn.cursor()



   # Execute SQL query

   cursor.execute("SELECT * FROM customers")



   # Fetch all rows

   rows = cursor.fetchall()



   # Process rows

   for row in rows:

       print("Name:", row[0], "Email:", row[1])



   # Close the cursor and connection

   cursor.close()

   conn.close()

* ثامنًا ما هو المختصر المفيد؟ 

- في هذا المقال، قدمنا لك مقدمة مفصلة عن MySQL وأساسياتها، وشرحنا طرق تثبيتها على أنظمة Windows و Linux. تعرفنا أيضًا على أنواع البيانات الرقمية في MySQL وقدمنا نبذة عن الأوامر الأساسية ونتائجها في الترمينال. أيضًا، قدمنا لمحة عن التطبيقات المستخدمة في MySQL وطرق التعامل معها بسهولة. وأخيرًا، استعرضنا اللغات المستخدمة في MySQL مع أمثلة في Ruby و Python و PHP، وتعرفنا على بعض البرامج المشتقة من MySQL مثل MariaDB. نأمل أن يكون هذا المقال قد ساعدك على فهم MySQL واستخدامه بكفاءة في تطبيقاتك.


إرسال تعليق

Cookie Consent
We serve cookies on this site to analyze traffic, remember your preferences, and optimize your experience.
Oops!
It seems there is something wrong with your internet connection. Please connect to the internet and start browsing again.
AdBlock Detected!
We have detected that you are using adblocking plugin in your browser.
The revenue we earn by the advertisements is used to manage this website, we request you to whitelist our website in your adblocking plugin.
Site is Blocked
Sorry! This site is not available in your country.