تحويل CSV إلى SQL
حوّل ملفًا مُصدَّرًا من جدول بيانات إلى سكربت تنفّذه قاعدة بياناتك. يحدد صف العناوين أسماء الأعمدة، ويصبح كل سطر أمر INSERT، وتتبع علامات الاقتباس اللهجة التي تختارها.
محوّل البيانات
أو أفلت ملفات CSV, TSV, TXT … هنا ·
الحد الأقصى 95 MB لكل ملف· حتى 20 ملفًا· تُحذف بعد 30 دقيقة
تُعالج الملفات على خوادمنا وتُحذف بعد 30 دقيقة.
الحرف الذي يفصل الأعمدة في ملفات CSV والنصوص، للقراءة والكتابة معًا. الاكتشاف التلقائي يحدده من المدخلات ويكتب الفواصل.
يعمل UTF-8 مع جميع اللغات. اختر UTF-8 with BOM إذا عرض Excel على Windows الحروف المشكولة أو الآسيوية بشكل مشوّه عند فتح ملف CSV.
لمدخلات Excel وODS وNumbers: حوّل الورقة الأولى فقط أو كل الأوراق (ملف CSV لكل ورقة داخل ZIP، أو مفتاح JSON لكل ورقة).
اسم تبويب الورقة في جدول البيانات الجديد، بحد أقصى 31 حرفًا.
مصفوفة كائنات تستخدم أسماء الأعمدة مفاتيح لكل صف؛ ومصفوفة مصفوفات أكثر إحكامًا وتُبقي الترويسة كأول مصفوفة.
اسم العنصر الخارجي الذي يضم كل الصفوف؛ ويصبح كل صف عنصر <row> داخله.
يُستخدم في عبارتي CREATE TABLE وINSERT. حروف وأرقام وشرطات سفلية فقط.
يختلف اقتباس الأسماء وأنواع الأعمدة قليلًا بين قواعد البيانات؛ اختر القاعدة التي ستستورد إليها.
أعد كتابة خلايا التاريخ بصيغة واحدة. صيغة ISO (2026-10-18) هي الأكثر أمانًا لقواعد البيانات والبرمجة؛ وخيار الإبقاء يتركها كما وردت في المصدر.
طريقة استخدام هذه الأداة
- 1
ارفع ملف CSV
أضف ملف CSV واحدًا أو حتى 20 ملفًا، بحجم أقصاه 95 MB لكل ملف. تُكتشف ملفات الفاصلة المنقوطة وعلامة التبويب تلقائيًا.
- 2
حدّد الجدول واللهجة
ضمن الإعدادات المتقدمة، اكتب اسم جدول SQL واختر لهجة SQL: MySQL أو PostgreSQL أو SQLite أو SQL Server. يكون خيار التواريخ مضبوطًا على ISO لتُحمَّل قيم التواريخ دون تخمين.
- 3
حوّل ونفّذ
اضغط التحويل إلى SQL، وراجع سطر CREATE TABLE، ثم شغّل السكربت في برنامج قاعدة البيانات أو في شاشة الاستيراد.
يكتب محول CSV إلى SQL أمر CREATE TABLE من صف العناوين وأمر INSERT لكل صف بيانات، مع اقتباس مناسب لـ MySQL أو PostgreSQL أو SQLite أو SQL Server، فيُحمَّل جدول البيانات في قاعدة البيانات بتشغيل سكربت واحد.
لماذا تحوّل ملف CSV إلى أوامر SQL INSERT
لكل قاعدة بيانات أداة سريعة لتحميل CSV، ولكل أداة منها عيب. فأمر LOAD DATA LOCAL INFILE معطّل افتراضيًا على الخادم منذ MySQL 8.0، وأمر COPY FROM لملف يتطلب صلاحيات المستخدم المتميز أو عضوية دور خاص في PostgreSQL، وأمر BULK INSERT في SQL Server يقرأ المسارات على جهاز الخادم لا على حاسوبك. وكثيرًا ما لا تتيح قواعد البيانات المستضافة سوى محرر الاستعلامات.
يتجاوز سكربت INSERT هذه القيود كلها. فهو نص يمكنك قراءته وحفظه في نظام التحكم بالإصدارات كبيانات أولية وتشغيله في أي برنامج عميل. والمقابل هو السرعة: عشرات الآلاف من الصفوف تُحمَّل دون مشكلة، أما الملايين فمكانها أداة التحميل الجماعي الأصلية. ويمكن لمن يحتفظ بالبيانات المرجعية في ملف Excel تخطي خطوة CSV عبر Excel إلى SQL.
مثال على تحويل CSV إلى SQL لـ MySQL
CREATE TABLE `my_table` ( `id` INT, `name` VARCHAR(255), `joined` DATE ); INSERT INTO `my_table` (`id`, `name`, `joined`) VALUES (1, 'سارة العلي', '2026-03-02'), (2, 'Liam O''Brien', '2026-04-15');
كيف تختلف لهجات SQL الأربع في الناتج
تُوضع المعرّفات بين علامتي backtick، مثل order date، مما يتيح أيضًا استخدام كلمات محجوزة مثل order أسماءً للأعمدة.
- يناسب MariaDB أيضًا
- خيار افتراضي جيد لعمليات الاستيراد في phpMyAdmin
تستخدم المعرّفات علامات الاقتباس المزدوجة القياسية. تحتفظ الأسماء المقتبسة بحالة الأحرف، فيكون "Email" وemail عمودين مختلفين.
- تُقتطع الأسماء التي تزيد على 63 بايت
علامات اقتباس مزدوجة أيضًا، مع كتابة مرنة للأنواع: يظل العمود المعرَّف INT يقبل النص ما لم يُعرَّف الجدول STRICT، وهو خيار أُضيف في SQLite 3.37.0.
- يعمل في صدفة sqlite3 أو DB Browser for SQLite
تُوضع المعرّفات بين أقواس مربعة، مثل [order date]. تحتاج أعمدة النص التي تحوي أحرفًا غير لاتينية إلى NVARCHAR وقيم بصيغة N'…'.
- يعمل في SSMS أو Azure Data Studio
| الجهة | المتطلب | المصدر |
|---|---|---|
| MySQL 8.0 | القيمة الافتراضية لـ max_allowed_packet هي 64 MB؛ ويُرفض أي أمر واحد أكبر منها | — |
| SQL Server | تقبل قائمة INSERT … VALUES الواحدة 1,000 تعبير قيم صفوف كحد أقصى | — |
| PostgreSQL | تُقتطع المعرّفات التي تزيد على 63 بايت دون تنبيه | — |
| SQLite | يحتوي الجدول على 2,000 عمود كحد أقصى في الإصدار الافتراضي | — |
تحقّق من هذه النقاط قبل تنفيذ السكربت
اقرأ سطر CREATE TABLE أولًا. تُخمَّن أنواع الأعمدة من القيم، وقد يكون التخمين خاطئًا: الرموز البريدية وأرقام الهواتف تبدو أرقامًا لكن يجب أن تبقى نصًا، وإلا فقد 02134 الصفر الذي في بدايته. غيّر النوع في السكربت قبل تشغيله، أو أنشئ الجدول بنفسك وشغّل جزء INSERT فقط.
اكتب الاسم الحقيقي في اسم جدول SQL بدل my_table، وشغّل السكربت داخل معاملة (transaction) إن سمح برنامجك بذلك، ليُلغى كل شيء إذا فشل صف واحد. تجد وجهات أخرى لملف CSV نفسه في مركز محول البيانات.
صيغتا CSV وسكربت SQL
CSV
قيم مفصولة بفواصل
CSV هو تنسيق نص عادي للجداول، يمثل فيه كل سطر صفًّا وتفصل الفواصل بين الأعمدة. يُستخدم منذ بدايات الحوسبة ووصفه المعيار RFC 4180، مع أن كثيرًا من صيغه تستخدم الفاصلة المنقوطة أو علامات الجدولة وترميزات نصية مختلفة. يمكن لكل جداول البيانات وقواعد البيانات وأدوات التحليل تقريبًا استيراده وتصديره، مما يجعله التنسيق الافتراضي لنقل البيانات بين الأنظمة. يخزّن CSV القيم فقط، دون صيغ حسابية أو تنسيق أو أوراق متعددة أو أنواع بيانات.
- الضغط
- –
- الشفافية
- –
- الحركة
- –
- سنة الظهور
- –
SQL
سكربت SQL
ملف SQL هو سكربت نصي بسيط من عبارات لغة الاستعلام الهيكلية، مثل CREATE TABLE وINSERT، تنفذها قاعدة البيانات بالترتيب. يُستخدم عادةً للنسخ الاحتياطي لقواعد البيانات وعمليات الترحيل ومشاركة بيانات نموذجية. اللغة نفسها معيار ISO، لكن لكل من MySQL وPostgreSQL وSQLite وSQL Server لهجتها الخاصة، لذلك تحتاج السكربتات غالبًا إلى تعديلات صغيرة بين الأنظمة. يستطيع أي محرر نصوص فتح ملف SQL، ويلزم عميل قاعدة بيانات لتنفيذه.
- الضغط
- –
- الشفافية
- –
- الحركة
- –
- سنة الظهور
- –
يُحوَّل CSV إلى SQL عندما يجب أن ينتهي الملف جدولًا في قاعدة بيانات لا تصل إليها إلا عبر نافذة استعلام: تهيئة تطبيق جديد ببيانات أولية، أو تحميل قائمة مرجعية، أو نقل جدول بيانات إلى MySQL أو PostgreSQL دون صلاحية الوصول إلى الخادم.
أسئلة حول تحويل CSV إلى SQL
لماذا أستخدم ملف SQL بدلًا من LOAD DATA أو COPY؟
أدوات التحميل الجماعي مثل LOAD DATA INFILE في MySQL وCOPY في PostgreSQL أسرع، لكنها تتطلب الوصول إلى الملفات على الخادم أو خيارات إضافية في العميل. أما السكربت العادي فيعمل في أي مكان يمكنك لصق SQL فيه: وحدة تحكم قاعدة بيانات سحابية أو phpMyAdmin أو ترحيل خاضع للمراجعة.
كيف تُكتب الفواصل العليا في أسماء مثل O'Brien؟
داخل نص SQL تُهرَّب علامة الاقتباس المفردة بمضاعفتها، فتُكتب القيمة هكذا 'O''Brien'. تقبل اللهجات الأربع هذه الصيغة، ولذلك لا يتعطل أمر INSERT عندما يحتوي الاسم على فاصلة علوية.
إلامَ تتحول عناوين أعمدة CSV في الجدول؟
أسماء الأعمدة، مع وضعها بين علامات الاقتباس بالطريقة التي تتوقعها اللهجة المختارة. تعمل عناوين مثل Unit Price، لكن الاسم المقتبس الذي يحتوي على مسافة يجب اقتباسه في كل استعلام لاحق أيضًا، لذا غيّر هذه العناوين إلى unit_price قبل التحويل إن أمكن.
هل يمكنني استيراد ملف SQL عبر phpMyAdmin؟
نعم، من تبويب الاستيراد. الحد هناك هو upload_max_filesize في PHP، وقيمته 2 MB في ملف php.ini الافتراضي؛ وترفعه استضافات كثيرة، وتعرض الصفحة الحد الحالي. قسّم ملف CSV الكبير إلى عدة ملفات إذا كان السكربت أكبر من ذلك.
هل توجد طريقة للعودة من الجدول إلى CSV؟
صدّر الجدول كملف نسخ احتياطي (dump) وحوّله باستخدام SQL إلى CSV، أو استخدم ميزة تصدير CSV في برنامج قاعدة البيانات نفسه. في الحالتين تحصل على صفوف يمكن لبرنامج جداول البيانات فتحها من جديد.
- تحويل Excel إلى SQLحوّل ورقة Excel إلى سكربت SQL لـ MySQL أو PostgreSQL أو SQLite أو SQL Server. العناوين تصبح أعمدة والصفوف عبارات INSERT.
- تحويل SQL إلى CSVحوّل عبارات INSERT في ملف تفريغ .sql إلى صفوف CSV تفتحها في Excel أو Google Sheets. يدعم تفريغات MySQL وphpMyAdmin وSQLite وSQL Server.
- تحويل CSV إلى XLSXحوّل CSV إلى مصنف Excel بصيغة XLSX مع حفظ الأصفار البادئة والمعرّفات الطويلة والأحرف الخاصة. اكتشاف تلقائي للفاصلة والفاصلة المنقوطة وTab.
- تحويل CSV إلى XMLحوّل صفوف CSV إلى XML سليم البنية بوسم جذر من اختيارك. تهريب الأحرف الخاصة، واكتشاف الفاصل تلقائيًا، وإخراج UTF-8. حتى 20 ملفًا معًا.
- تحويل CSV إلى Parquetحوّل CSV إلى Apache Parquet بأعمدة محددة الأنواع وضغط، جاهز لـ pandas وDuckDB وSpark وBigQuery وAthena. دون إعداد Python أو Spark.
- تحويل Parquet إلى CSVحوّل ملفات Apache Parquet إلى CSV اون لاين وافتحها في Excel أو Google Sheets أو أي أداة استيراد. دون Python أو Spark أو DuckDB. حتى 20 ملفًا.