ما الذي يتغير عند تحويل البيانات بين JSON وCSV وYAML وXML؟
الصيغ الأربع تمثّل البيانات بطرق مختلفة: JSON وYAML تحملان التداخل والأنواع، وCSV جدول مسطّح من النصوص، وXML يفرّق بين العناصر والسمات. لذلك يضطر المحوّل إلى اتخاذ قرارات — كيف تُسطَّح الكائنات المتداخلة إلى أعمدة، وكيف تُفسَّر "42" و"true"، وأين تُوضع السمات — والقرار الصحيح يعتمد على ما يتوقعه النظام المستقبِل.
كيفية استخدام محوّل CSV إلى SQL
- الصق CSV (صف الترويسة مطلوب).
- حدّد اسم الجدول واللهجة والمفتاح الأساسي وحجم الدفعة.
- انسخ جمل DDL وINSERT إلى سكربت الترحيل أو التعبئة الأولية لديك.
مزايا محوّل CSV إلى SQL
- اكتشاف الفاصل (فاصلة أو فاصلة منقوطة أو علامة جدولة أو شريط عمودي) تلقائياً
- استنتاج الأنواع INT وBIGINT وDECIMAL وBOOLEAN وDATE وTIMESTAMP وUUID وVARCHAR(n)
- توليد CREATE TABLE مع NOT NULL ومفتاح أساسي (PRIMARY KEY) اختياري
- جمل INSERT متعددة الصفوف مجمّعة في دفعات مع قيم حرفية صحيحة لكل لهجة
- توحيد أسماء الأعمدة إلى معرّفات آمنة بصيغة snake_case
- جدول المخطط يعرض كل نوع مستنتَج للمراجعة
مثال على محوّل CSV إلى SQL
استنتاج مخطط
الإدخال:
id,email,signed_up,score
1,layla@example.com,2026-03-14,87.5النتيجة:
CREATE TABLE IF NOT EXISTS users (
id INT NOT NULL,
email VARCHAR(40) NOT NULL,
signed_up DATE NOT NULL,
score DECIMAL(3,1) NOT NULL
);
INSERT INTO users (id, email, signed_up, score) VALUES
(1, 'layla@example.com', '2026-03-14', 87.5);الأسئلة الشائعة حول محوّل CSV إلى SQL
كيف تُستنتج أنواع الأعمدة؟
تُفحص كل قيمة في العمود. فتصبح الأعداد الصحيحة INT/BIGINT، والأعداد العشرية DECIMAL(p,s)، وقيم true/false من النوع BOOLEAN (أو BIT/TINYINT(1))، وتواريخ ISO من النوع DATE/TIMESTAMP، ومعرّفات UUID من النوع UUID/CHAR(36)، وما تبقّى VARCHAR بهامش إضافي: ضعف طول أطول قيمة مقرّباً لأعلى إلى مضاعف للعدد 10، وبحد أقصى 4000. أما الأعمدة المختلطة فتُعامل كنص.
ماذا يحدث لأسماء الأعمدة التي تحتوي على مسافات أو رموز؟
تُحوَّل إلى معرّفات بصيغة snake_case ("Order ID" → order_id) وتُقتبس عندما تتعارض مع الكلمات المحجوزة. ويعرض جدول المخطط هذا التحويل.
هل يمكنني تخطي CREATE TABLE؟
نعم، ألغِ تفعيل «تضمين CREATE TABLE» (Include CREATE TABLE) عندما يكون الجدول موجوداً بالفعل.
هل هناك حد للحجم؟
تُعالَج الملفات التي يصل حجمها إلى 2 ميغابايت في المتصفح. أما عمليات الاستيراد الأكبر، فاستخدم أداة التحميل بالجملة الأصلية لقاعدة بياناتك (LOAD DATA أو COPY أو BULK INSERT).
المراجع
- RFC 8259: The JavaScript Object Notation (JSON) Data Interchange Formatقواعد JSON: الكائنات والمصفوفات والنصوص والأرقام والقيم الثلاث الثابتة، وUTF-8 كترميز للتبادل.
- RFC 4180: Common Format and MIME Type for Comma-Separated Values (CSV) Filesقواعد CSV الشائعة: الفاصلة كفاصل، ونهايات الأسطر CRLF، وتحويط الحقول التي تحتوي فواصل أو علامات اقتباس أو أسطر جديدة.
- YAML Ain't Markup Language (YAML™) version 1.2.2نموذج بيانات YAML 1.2 وصياغته وعلاقته بـ JSON (كل مستند JSON هو YAML 1.2 صالح).
- PostgreSQL Documentation: SQL Syntaxالبنية المعجمية لـ SQL في PostgreSQL: المعرّفات والاقتباس والثوابت النصية والتهريب.