الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

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

بدأه the.scorpion في 4 أبريل 2014 · 3 رد · 3,375 مشاهدة · في لغة Python
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

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

import sqlite3

con = 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
#2

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

#3

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

import sqlite3

con = sqlite3.connect("db.sq3")
cur = con.cursor()
cur.execute("select * from dict")
ls = cur.fetchall()
print ls
cur.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

مواضيع مشابهة