برنامج SQLite - عرض البيانات

لعرض بيانات مخزنة في قاعدة بيانات SQLite نستعمل العبارة "SELECT ",
عندما نستعمل هته العبارة ، نكون قد عينا الجدول أو الجداول التي نريد عرض البيانات الموجودة بها. وفي نفس الوقت الأعمدة التي نريد الاستعلام عنها.
يمكن أيضا توفير معايير إضافية لمواصلة تقليص البيانات التي سيتم إرجاعها.

الصيغة المبسطة للعبارة "SELECT ":

استخدمنا في  السابق  عبارة "SELECT" ، في  موضوع  إدراج البيانات.
وكان استعمالها على النحو التالي:
SELECT * FROM enmployers;
عند تنفيد هذا الأمر نحصل على نتائج مشابها لما يلي:

sqlite> SELECT * FROM enmployers;
1|Amar Lakhdar
2|Kamel Benahmed
3|Kamel Benkamel
4|Said
5|Faird
6|Lakhder
7|Nassim
8|Fouad
9|Mounir
10|Nadir
11|Tarik Moussafer

تنسيق البيانات  المعروضة: 

يمكن تنسيق وعرض البيانات بطرق مختلفة وذلك حتى نسهّل عملية قراءتها وهذه بعض التنسيقات الممكنة :

تنسيق الأعمدة : 

يمكن استعمال الأمر ".mode" لتغيير طريقة العرض ، المثال السابق مكافئ للأمر  " .mode list" لعرض البيانات في شكل قائمة. لعرض البيانات في شكل أعمدة نستعمل الكود التالي : 

.mode column
عند ملاحظة هذا العرض يمكن تعديل عرض الأعمدة باستعمال الأمر ".width"  متبوع بعرض  كل عمود، في المثال التالي عرض العمود الأول هو 12 وعرض العمود الموالي هو 20,

.width 12 20

إضافة / أزالة رؤوس الأعمدة:

يمكن إضافة الأمر ".headers" لعرض أم عدم عرض رؤوس الأعمدة، لعرض رؤس الأعمدة نستعمل الكود التالي : 


.headers on
يمكن إخفاء رؤوس الأعمد باستعمال الأمر :

.headers off

عرض الإعدادات :

يمكن عرض الإعدادات السابقة وغيرها باستعمال الأمر ".view" كما يلي : 


sqlite> .show
     echo: off
      eqp: off
  explain: off
  headers: on
     mode: column
nullvalue: ""
   output: stdout
separator: "|"
    stats: off
    width: 12 20

العرض الجديد:

بعد تطبيق الإعدادات السابقة يمكن أن تعرض البيانات بالشكل الجديدالتالي : 
EmployerId    EmployerName  
----------      ------------
1               Amar Lakhdar
2               Kamel Benahmed
3               Kamel Benkamel
4               Said
5               Faird
6               Lakhder
7               Nassim
8               Fouad
9               Mounir
10               Nadir
11               Tarik Moussafer

استعمال جملة WHERE:

يمكننا استخدام جملة" WHERE "لتقليص النتائج المعروضة. هذه الأداة تسمح لنا بوصع  معايير محددة  يمكن تطبيقها على  الاستعلام.
على سبيل المثال، يمكننا عرض السجلات  التي تتوفر فيها شروط معينة،
ففي المثال التالي نريد عرص السجل الذي يكون فيه  EmployerId يساوي 3  فنكتب ما يلي:
SELECT * FROM Employers
WHERE EmployerId = 6;
فتكون النتيجة كما يلي: 
EmployerId      EmployerName          
------------  --------------------
3             Kamel Benkamel
للعثور على جميع العمال الذين تبدأ أسماؤهم  بحرف "N"، يمكننا  أن نكتب الكود التالي :
SELECT * FROM Employers
WHERE EmployerName LIKE 'N%';
فتكون النتيجة:
EmployerId      EmployerName          
------------  --------------------
7               Nassim
10               Nadir
يستخدم رمز النسبة المئوية (%)  لتعويض حرف أو عدة حروف . لذلك، في هذا المثال، نعرض كل العمال التي تبدأ أسماؤهم بالحرف "N" مهما كان عدد احروف التي يحتويها الاسم   (أي أن الاسم يبدأ بالحرف "N" يليه أي حرف أو عدة حروف).

مثال آخر على استخدام جملة WHERE هو لاسترداد مجموعة من القيم. على سبيل المثال، يمكن عرض السجلات التي تكون فيهاا قيمة الحقل EmployerId  أقل من عدد ما ، أكبر من عدد ما ، أو داخل نطاق معين.

وهنا مثال على اختيار سجلات فقط مع EmployerId أقل من عدد معين :

SELECT * FROM Employers
WHERE EmployerId < 4;
وتكون النتيجة:
EmployerId    EmployerName  
----------      ------------
1               Amar Lakhdar
2               Kamel Benahmed
3               Kamel Benkamel
وهنا مثال على اختيار السجلات مع EmployerId  داخل نطاق معين فقط :

SELECT * FROM Employers
WHERE EmployerId BETWEEN 2 AND 5;
فنحصل على مايلي :
EmployerId    EmployerName  
----------      ------------
2               Kamel Benahmed
3               Kamel Benkamel
4               Said
5               Faird

اختيار الأعمدة

يمكننا عرض بعض الأعمدة  فقط من مجموعة النتائج. ويكون بكتابة أسماء الأعمدة  مفصولة بفواصل في الاستعلام.
من الأفضل كتابة أسماء الأعمدة التي نحتاجها فقط، فاستعمال * في الاستعلام هو أمر غير محبب فهو يعتبر حمل زائد في تنفيد الأمر ويؤدي إلى عرض أعمدة غير مطلوبة أو غير ضرورية. 
فلنقم بكتابة الاستعلام السابق، لكن في هذه المرة نعرض فقط أسماء العمال :
SELECT EmployerName FROM Employers
WHERE EmployerId BETWEEN 2 AND 5;
فتكون النتيجة :
EmployerName  
------------
Kamel Benahmed
Kamel Benkamel
Said
Faird

استعمال جملة ORDER BY:

يمكننا  استخدام جملة ORDER BY لترتيب  السجلات التي يتم إرجاعها.
يمكننا  إضافة ASC لترتيب تصاعدي أو DESC لترتيب تنازلي. إذا لم نضف أي عبارة ، فإنه سيتم استخدام الترتيب التصاعدي.
في المثال التالي نقوم بعرض السجلات مرتبة حسب  EmployerName بترتيب تصاعدي:


SELECT * FROM employers
ORDER BY EmployerName;
فتكون النتيجة كما يلي :


EmployerId    EmployerName  
----------      ------------
1               Amar Lakhdar
5               Faird
8               Fouad
2               Kamel Benahmed
3               Kamel Benkamel
6               Lakhder
9               Mounir
10              Nadir
7               Nassim
4               Said
11              Tarik Moussafer
أما إذا أرادنا أن يكون الترتيب تنازليا فإننا نكتب ما يلي :
SELECT * FROM employers
ORDER BY EmployerName DESC;
فتكون النتيجة كما يلي:
EmployerId    EmployerName  
----------      -----------
11          Tarik Moussafer
4           Said
7           Nassim
10          Nadir
9           Mounir
6           Lakhder
3           Kamel Benkamel
2           Kamel Benahmed
8           Fouad
5           Faird
1           Amar Lakhdar

استعمال جملة "LIMIT":

يمكن استعمال الجملة "LIMIT " للحد من عدد السجلات المعروضة ، هذا الأمر يكون مفيد في حالة ما إذا كان عدد السجلات كبير جدا، ونريد عرض البعض منها فقط.
في المثال التالي نريد تحديد العرض في خمس سجلات فقط :
SELECT * FROM employers LIMIT 5;
وهذه النتيجة المطلوبة :
EmployerId    EmployerName  
----------      ------------
1               Amar Lakhdar
2               Kamel Benahmed
3               Kamel Benkamel
4               Said
5               Faird

ليست هناك تعليقات:

إرسال تعليق

المشاركات الشائعة