شرح MySQL Insert Into في Node.js
تعتبر عملية إدخال البيانات إلى قاعدة البيانات من العمليات الأساسية في تطوير التطبيقات الحديثة. في سياق استخدام MySQL مع Node.js، يتم ذلك باستخدام [شركة برمجة مصرية] جملة INSERT INTO. هذه الجملة تسمح لنا بإضافة سجلات جديدة إلى الجداول في قاعدة البيانات. في هذا المقال، سنستعرض كيفية تنفيذ هذه العملية بالتفصيل باستخدام مكتبة MySQL في Node.js مع تقديم أمثلة توضيحية متعددة.
إعداد مكتبة MySQL في Node.js
قبل أن نبدأ بعملية الإدخال، يجب علينا أولاً إعداد مكتبة MySQL في بيئة Node.js. يمكنك تثبيت المكتبة باستخدام npm كما يلي:
npm install mysql
بعد التثبيت، يمكننا الاتصال بقاعدة البيانات باستخدام الكود التالي:
const mysql = require('mysql');
const connection = mysql.createConnection({
host: 'localhost',
user: 'yourUsername',
password: 'yourPassword',
database: 'yourDatabase'
});
connection.connect((err) => {
if (err) {
console.error('خطأ في الاتصال: ' + err.stack);
return;
}
console.log('متصل كـ id ' + connection.threadId);
});
استخدام جملة INSERT INTO لإدخال البيانات
بعد إعداد الاتصال، يمكننا الآن استخدام جملة INSERT INTO لإدخال البيانات. لنفترض أن لدينا جدولًا يُسمى users يحتوي على الأعمدة name وemail. يمكننا استخدام الكود التالي لإدخال بيانات جديدة:
const user = { name: 'John Doe', email: 'john@example.com' };
const sql = 'INSERT INTO users (name, email) VALUES (?, ?)';
connection.query(sql, [user.name, user.email], (err, result) => {
if (err) {
console.error('خطأ في الإدخال: ' + err.stack);
return;
}
console.log('تم إدخال سجل جديد، رقم التعريف: ' + result.insertId);
});
في المثال أعلاه، استخدمنا علامة الاستفهام ? كعناصر نائبة للقيم التي نريد [شركة برمجة مصرية] إدخالها. هذا يساعد في حماية التطبيق من هجمات حقن SQL.
إدخال بيانات متعددة دفعة واحدة
لإدخال بيانات متعددة دفعة واحدة، يمكننا تعديل جملة SQL لتحتوي على عدة مجموعات من القيم. لنفترض أننا نريد إدخال بيانات لعدة مستخدمين دفعة واحدة:
const users = [
{ name: 'Alice', email: 'alice@example.com' },
{ name: 'Bob', email: 'bob@example.com' }
];
const sqlMultiple = 'INSERT INTO users (name, email) VALUES ?';
const values = users.map(user => [user.name, user.email]);
connection.query(sqlMultiple, [values], (err, result) => {
if (err) {
console.error('خطأ في الإدخال المتعدد: ' + err.stack);
return;
}
console.log('تم إدخال سجلات جديدة، عدد السجلات: ' + result.affectedRows);
});
في هذا المثال، استخدمنا map لإنشاء مصفوفة تحتوي على مجموعات القيم لكل مستخدم. هذه الطريقة فعّالة عند الحاجة إلى إدخال كميات كبيرة من البيانات بسرعة.
