10
مارس

أوامر MySQL (الحلقة 1)

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

التعليمات المذكورة ستكون عبارة عن مرجع سريع لأكثر التعليمات شيوعاً واستخداماً لـ MySQL.

إذاً لنبدأ.

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

CREATE DATABASE `dataBaseName` CHARACTER SET utf8 COLLATE utf8_general_ci;

إنشاء قاعدة البيانات (إذا لم تكن موجودة مسبقاً):

CREATE DATABASE IF NOT EXISTS `dataBaseName` CHARACTER SET utf8 COLLATE utf8_general_ci;

استخدام قاعدة بيانات

USE dataBaseName;

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

DROP DATABASE dataBaseName;

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

DROP DATABASE IF EXISTS dataBaseName;

مجموعة المحارف في MySQL

تدعم MySQL مجموعة واسعة من “المحارف” (Character Set) لاستخدامها في لغات عديدة منها “العربية” وعشرات اللغات الأخرى.

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

  • utf8 (موصى به).
  • cp1256.

الأفضل استخدام utf8 لكن لغة PHP لا تدعم UTF8 حتى الآن. والحل يكمن في استخدام مكتبة خارجية لدعم UTF8 كمكتبة PHP UTF8.

كل ما عليك هو تضمين (include) الملف utf8.php في مشروعك،والدوال المتوفرة هي كما يلي:

  • utf8_is_valid :: للتحقق من الترميز هل هو UTF8 أو لا.
  • utf8_strlen :: لحساب عدد المحارف (بدلاً من strlen).
  • utf8_strtoupper :: تحويل الأحرف إلى أحرف كبيرة (بدلاً عن strToUpper).
  • utf8_strrev :: عكس السلسة النصية (بدلاً عن strrev).
  • utf8_substr :: لاستقطاع سلسلة من النص (بدلاً عن substr).

وأما لاستخدام مجموعة المحارف والقضاء على مشاكل الترميز التي تظهر في PHP عند استخدام MySQL للغة العربية (كعلامات الاستفهام وغيرها) فاستخدم الشيفرة التالية:

1
2
3
4
5
6
$enc = 'utf8';
@mysqli_query("SET character_set_client         = $enc");
@mysqli_query("SET character_set_connection     = $enc");
@mysqli_query("SET character_set_database         = $enc");
@mysqli_query("SET character_set_results         = $enc");
@mysqli_query("SET character_set_server         = $enc");

تغيير قاعدة بيانات

ALTER DATABASE `databasename` CHARACTER SET utf8 COLLATE utf8_general_ci;

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

1
2
3
4
5
6
7
8
CREATE TABLE  `dbName`
(
`ID` INT(4) PRIMARY KEY NOT NULL AUTO_INCREMENT,
`name` VARCHAR(20) NOT NULL DEFAULT 'no name',
`country` CHAR(2) NOT NULL DEFAULT 'iq',
`age` SMALLINT(2) NOT NULL DEFAULT 0,
`mstatus` enum('Y','N') NULL
);

يمكنك إضافة if not exists لإنشاء الجدول فقط في حال لم يكن موجوداً مسبقاً.

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

SHOW TABLES;

معلومات عن الجدول

DESCRIBE tableName;

تغيير الجدول

تغيير قيمة الحقل name إلى 100 محرف:

ALTER TABLE `dbname` MODIFY `name` VARCHAR(100);

خيارات متعددة:

ALTER TABLE `dbname`  CHANGE COLUMN `name1` `name2` VARCHAR(50) NOT NULL DEFAULT 'no name' AFTER `ID`;

للمزيد من الخيارات أنظر MySQL’s Manual

حذف جدول

DROP tablename;

تغيير اسم الجدول

RENAME TABLE oldtable TO newtable;

الجداول المؤقتة Temporary Tables

“الجدول المؤقت” أو “Temporary Table” هو عبارة عن جدول يبقى حتى انتهاء “جلسة العمل” وبعد إنقضاء جلسة العمل يتم تدميره كلياً.

مثال:

1
2
3
4
5
6
CREATE TEMPORARY TABLE SalesSummary (
product_name VARCHAR(50) NOT NULL
total_sales DECIMAL(12,2) NOT NULL DEFAULT 0.00
avg_unit_price DECIMAL(7,2) NOT NULL DEFAULT 0.00
total_units_sold INT UNSIGNED NOT NULL DEFAULT 0
);

أنتظروا الحلقات التالية…

بانتظار تعليقاتكم :-)

تعليق واحد

  • calmox95 :

    موضوع رائع جداً اخي الكريم

    المفروض يكون موقعك هذا مشهور واجد عند المبرمجين العرب

    اي خدمه ايميلي موجود عندك

    مساعده او اي شي :)

تعليقك على الموضوع

خلاصات التعليقات RSS   التعقيبات

جميع الحقوق محفوظة لـ مدونة أحمد المياحي © 2017