• 0
the.scorpion

قواعد البيانات sqlite

سؤال

السلام عليكم ورحمة الله

درسنا ليوم عن قواعد البيانات sqlite

import sqlite3con = sqlite3.connect("db.sq3")cur = con.cursor()cur.execute("create table test(nom text, age integer, rel real)")cur.execute("insert into test(nom, age, rel) values('Belal' , 18, 73.3)")cur.execute("insert into test(nom, age, rel) values('ahmad' , 19, 85.5)")con.commit()cur.close()con.close()

شرح الكود

con = sqlite3.connect("db.sq3")

هنا قمنا بالاتصال بقاعدة البيانات في حال كانت غير موجودة سيتم انشاءها

cur = con.cursor()

انشاء مؤشر للتعامل مع قاعدة البيانات

 

 

هو نوع من الذاكرة العازلة‪ ،‬لتخزين البيانات في الذاكرة بشكل مؤقت عند القيام بمعالجتها‪ ،‬فضل عن عمليات تقوم لها عليها‪،‬‬ قبل نقلها إلى قاعدة البيانات النهائية.

cur.execute("create table test(nom text, age integer, rel real)")

هذه الدالة تقوم باستخدام اوامر sql

طبعا هذا الامر سيقوم بانشاء جدول باسم test يحتوي على ثلاث سجلات هي nom من نوع نص و age من نوع عدد صحيح و rel من نوع عدد حقيقي(انواع البيانات في sql لا تحمل نفس الاسماء في بايثون)

cur.execute("insert into test(nom, age, rel) values('Belal' , 18, 73.3)")cur.execute("insert into test(nom, age, rel) values('ahmad' , 19, 85.5)")

هذا الامر يقوم بادخال البيانات

 

 

في برنامج عملي‪ ،‬البيانات التي تريد تسجيلها يتم حفظها في متغيات تنشأ في الغالب في متغيات بايثون‪ .‬وسوف تحتاج‬ أيضا إلى إنشاء سلسلة نصية تحتوي على طلب استعلم ‪ ،SQL‬لتشمل قيما من هذه المتغييرات‪ .‬فمن المستحسن استخدامها لهذا‬ ‫الغرض في التقنيات الهادية لتنسيق السلاسل ،‬لان هذه قد تفتح ثغرة أمنية في برامجها‪ ،‬وتسمح لقتحامها من خلال طريقة‬ ‫تدعى ‪) SQL Injection‬حقن ‪ . (SQL‬ولذلك يجب التأكد من تنسق استعلاماتك للوحدة الواجهة نفسها‪ .‬والتقنية السليمة‬ أدناه ‪ :‬سلسلة "رئيس" تستخدم علمة استفهام كعلمات التحويل‪ ،‬وتنسيق نفسه معتمد من قبل الاسلوب ب ‪execut()‬‬ للملؤشر:‬‬

data = [('belal', 18, 73.3),('ahmad', 19, 85.5)] for tu in data : 	cur.execute("insert into test(nom, age, rel) values(?,?,?)",tu)
con.commit()

هذه الدالة تقوم بحفض التغييرات من دونها لن يتم حفظ شيء

cur.close()con.close()

ما يحتاجن شرح

الى هنا ينتهي درسنا.

1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

3 إجابة على هذا السؤال .

  • 0

نشتاق الي كثير من الدروس  :)

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

طريقة عرض محتويات قاعدة بيانات موجودة مسبقا

import sqlite3con = sqlite3.connect("db.sq3")cur = con.cursor()cur.execute("select * from dict")ls = cur.fetchall()print lscur.close()con.close()

لا يوجد شيء جديد في الكود سوى

ls = cur.fetchall()print ls

تعرض محتويات الجدول

توجد طريقة اخرى

ls = cur.execute("select * from dict")for l in ls:	print l

 

بعض استعلامات sql

cur.execute("update test set nom='mohamad' where nom='Belal'")

للتعديل على السجلات

cur.execute("delete from test where nom='ahmad'")

حذف سجل

 

طبعا يجب عليك اتقان sql

1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .