ما هو SQLite
SQLite قاعدة بيانات مخزّنة في ملف واحد (مثلاً web.db). لا تحتاج تثبيت خادم كبير – مثالية للتعلّم والمشاريع الأصغر. البيانات فيها تبقى بعد إعادة تشغيل Node.js.
في Node.js نستخدم حزمة better-sqlite3:
cd my-server
npm install better-sqlite3
شاهد معي: جدول وأول سجل
في server.js (أو database.js جديد تستورده):
const Database = require("better-sqlite3");
const db = new Database("web.db");
// Create the table if it doesn't exist yet
db.exec(`
CREATE TABLE IF NOT EXISTS vzkazy (
id INTEGER PRIMARY KEY AUTOINCREMENT,
jmeno TEXT NOT NULL,
text TEXT NOT NULL,
vytvoreno TEXT DEFAULT CURRENT_TIMESTAMP
)
`);
// Insert one row
const vloz = db.prepare("INSERT INTO vzkazy (jmeno, text) VALUES (?, ?)");
vloz.run("Martin", "First message in the database! 🎉");
// Read all rows
const vse = db.prepare("SELECT * FROM vzkazy").all();
console.log(vse);
شغّل node server.js (أو سكربت اختبار قصير). سترى array من objects في الـ console. يظهر ملف اسمه web.db في مجلد مشروعك – تلك قاعدة البيانات كلها.
SQL باختصار: CREATE TABLE = جدول جديد (مثل ورقة في Excel). INSERT = أضف صفاً. SELECT = اقرأ بيانات. علامات الاستفهام ? في prepare تحمي من SQL injection – لا تُدخل نص المستخدم مباشرة في سلسلة الاستعلام أبداً!
دورك الآن 💪
- ثبّت
better-sqlite3في مجلد خادمك. - أنشئ جدول
vzkazyحسب المثال (الأعمدة: id، jmeno، text، vytvoreno). - أدخل 3 رسائل اختبار بـ
INSERT. - أوقف السكربت، شغّله مجدداً، و
SELECTمرة أخرى – هل البيانات لا تزال هناك؟ - أضف
web.dbإلى.gitignore(في الإنتاج، كل خادم له قاعدة بيانات خاصة؛ أحياناً تُصدَّر منفصلة).
تحقق: الملف web.db موجود، والبيانات تبقى بعد إعادة التشغيل. في الدرس القادم سنوصل سجل الزوار كله بها عبر API.
ما ستخرج به من هذا الدرس
- SQLite = قاعدة بيانات في الملف
web.db. CREATE TABLE،INSERT،SELECT– أساسيات SQL.- استعلامات ذات معاملات (
?) للأمان.
© 2026 Ing. Martin Polak / AlgoRhino · شروط استخدام المحتوى