Get the code: learnsql-ar.sql
-- تبدأ التعليقات بشرطتين. قم بإنهاء كل أمر بفاصلة منقوطة
-- حساسة لحالة الاحرف SQL لا تعتبر
-- فقط ليسهل تمييزها عن أسماه الأعمدة والجداول وقواعد البيانات UPPER-CASE الاوامر الموجودة هنا تستخدم الحالة العليا للاحرف
-- إنشاء ومسح قاعدة بيانات، أسماء قواعد البيانات والجداول حساسة لحالة الأحرف
CREATE DATABASE someDatabase;
DROP DATABASE someDatabase;
-- عرض قواعد البيانات الموجودة
SHOW DATABASES;
--استخدام قاعدة بيانات محددة
USE employees;
-- في قاعدة البيانات المستخدمة departments ارجاع كل السطور والاعمدة في جدول
-- ستظهر النتائج على الشاشة بشكل تلقائي لتتصفحها.
SELECT * FROM departments;
-- فقط dept_name و dept_no لكن سنسترجع عمودي departments استرجاع كل أسطر من جدول
-- لا مانع من تقسيم الاوامر بين السطور
SELECT dept_no,
dept_name FROM departments;
-- لكن هذه المرة سنسترجع ٥ أسطر فقط departments استرجاع كل الاعمدة من جدول
SELECT * FROM departments LIMIT 5;
--en يحتوي علي dept_name في حالة أن عمود departments من جدول dept_name استرجاع عمود
SELECT dept_name FROM departments WHERE dept_name LIKE '%en%';
-- S استرجاع كل أعمدة جدول الاقسام في حالة أن اسم القسم يبدأ بحرف
-- متبوعا بأربعة حروف
SELECT * FROM departments WHERE dept_name LIKE 'S____';
-- استرجاع قيم العناوين من جدول العناوين بدون تكرار
SELECT DISTINCT title FROM titles;
-- نفس المثال السابق مع ترتيب العناوين أبجديا
SELECT DISTINCT title FROM titles ORDER BY title;
-- اظهار عدد السطور في جدول الأقسام
SELECT COUNT(*) FROM departments;
-- en اظهار عدد السطور في جدول الأقسام التي تحتوي في عمود اسم القسم علي
SELECT COUNT(*) FROM departments WHERE dept_name LIKE '%en%';
-- ربط المعلومات بين الجداول، جدول العناوين يظهر رقم كل موظف ومسماه الوظيفي
-- ومتي حصل على هذا المسمى وإلي متى ولكن بدلا من اظهار رقم الموظف سنستخدم هذا الرقم
-- للحصول على اسم الموظف الاول والأخير من جدول الموظفين مع إظهار ١٠ سطور فقط
SELECT employees.first_name, employees.last_name,
titles.title, titles.from_date, titles.to_date
FROM titles INNER JOIN employees ON
employees.emp_no = titles.emp_no LIMIT 10;
-- إظهار كل الجدوال في كل قواعد البيانات
-- النسخ المختلفة تقدم اختصارات لمثل هذا الأمر لقاعدة البيانات المستخدمة
SELECT * FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_TYPE='BASE TABLE';
-- يحتوى على عمودان في قاعدة البيانات المستخدمة tablename1 أنشاء جدول يسمى
-- يوجد العديد من الطرق لتعريف الاعمدة وأنواع البيانات في العمود
CREATE TABLE tablename1 (fname VARCHAR(20), lname VARCHAR(20));
-- هذا بافتراض ان الجدول يمكن اضافة الاسطر له .tablename1 اضافة سطر في جدول
INSERT INTO tablename1 VALUES('Richard','Mutt');
--John إلى fname سنغير قيمة عمود tablename1 في
-- Mutt هي lname في حالة أن قيمة العمود
UPDATE tablename1 SET fname='John' WHERE lname='Mutt';
-- 'M' تبدأ ب lname في حالة أن قيمة عمود tablename1 مسح السطور من جدول
DELETE FROM tablename1 WHERE lname like 'M%';
-- مع ترك الجدول فارغ tablename1 مسح جميع السطور من جدول
DELETE FROM tablename1;
-- تماما tablename1 إزالة جدول
DROP TABLE tablename1;
Got a suggestion? A correction, perhaps? Open an Issue on the GitHub Repo, or make a pull request yourself!
Originally contributed by Bob DuCharme, and updated by 1 contributor.