UltKit

تبدیل CSV به SQL

خروجی صفحه‌گسترده را به اسکریپتی تبدیل کنید که پایگاه داده‌تان بتواند اجرا کند. ردیف سرستون نام ستون‌ها را تعیین می‌کند، هر سطر به یک INSERT تبدیل می‌شود و نقل‌قول‌گذاری طبق گویشی است که انتخاب می‌کنید.

مبدل داده

یا فایل‌های CSV, TSV, TXT … را اینجا رها کنید ·

حداکثر 95 MB برای هر فایل· تا 20 فایل· حذف پس از 30 دقیقه

خروجی

فایل‌ها روی سرورهای ما پردازش می‌شوند و پس از 30 دقیقه حذف می‌شوند.

نحوه استفاده از این ابزار

  1. 1

    فایل CSV را بارگذاری کنید

    یک فایل CSV یا حداکثر ۲۰ فایل را اضافه کنید، هر کدام تا 95 MB. فایل‌هایی که با نقطه‌ویرگول یا تب جدا شده‌اند به‌طور خودکار تشخیص داده می‌شوند.

  2. 2

    نام جدول و گویش را تعیین کنید

    در بخش تنظیمات پیشرفته، نام جدول SQL را وارد کنید و گویش SQL را انتخاب کنید: MySQL، PostgreSQL، SQLite یا SQL Server. گزینهٔ تاریخ‌ها روی ISO تنظیم شده است تا مقدارهای تاریخ بدون حدس‌زدن بارگذاری شوند.

  3. 3

    تبدیل و اجرا کنید

    روی تبدیل به SQL بزنید، خط CREATE TABLE را بخوانید، سپس اسکریپت را در کلاینت پایگاه‌داده یا صفحهٔ ایمپورت اجرا کنید.

CSV به SQL از ردیف سرستون شما یک دستور CREATE TABLE و برای هر ردیف داده یک INSERT می‌نویسد، با گیومه‌گذاری مناسب MySQL، PostgreSQL، SQLite یا SQL Server، تا صفحه‌گسترده با اجرای یک اسکریپت وارد پایگاه‌داده شود.

چرا CSV را به دستورهای INSERT در SQL تبدیل کنیم

هر پایگاه‌داده یک بارگذار سریع CSV دارد و هر کدام یک مشکل. LOAD DATA LOCAL INFILE از MySQL 8.0 به بعد به‌طور پیش‌فرض روی سرور غیرفعال است، COPY FROM از یک فایل در PostgreSQL به دسترسی superuser یا عضویت در یک نقش ویژه نیاز دارد و BULK INSERT در SQL Server مسیرها را روی ماشین سرور می‌خواند، نه لپ‌تاپ شما. پایگاه‌داده‌های میزبانی‌شده اغلب فقط یک ویرایشگر پرس‌وجو در اختیار می‌گذارند.

اسکریپت INSERT همهٔ این مشکلات را دور می‌زند. متن است، پس می‌توانید آن را بخوانید، به‌عنوان داده‌های اولیه در کنترل نسخه ثبت کنید و در هر کلاینتی اجرا کنید. بهایش سرعت است: ده‌ها هزار ردیف به‌خوبی بارگذاری می‌شود، اما میلیون‌ها ردیف جایشان در بارگذار حجیم بومی است. توسعه‌دهندگانی که داده‌های مرجع را در یک workbook نگه می‌دارند می‌توانند مرحلهٔ CSV را با Excel به SQL کنار بگذارند.

نمونهٔ تبدیل CSV به SQL برای MySQL

اسکریپت تولیدشده از id,name,joined با دو ردیف
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 در خروجی

شناسه‌ها داخل بک‌تیک قرار می‌گیرند، مثل order date، که اجازه می‌دهد کلمات رزروشده‌ای مثل order هم نام ستون باشند.

  • با MariaDB هم سازگار است
  • پیش‌فرض خوب برای ایمپورت در phpMyAdmin
محدودیت‌های پایگاه داده که بر اسکریپت تولیدشده اثر می‌گذارند
سازمانالزاممنبع
MySQL 8.0max_allowed_packet به‌طور پیش‌فرض 64 MB است؛ دستوری بزرگ‌تر از آن رد می‌شود—
SQL Serverیک فهرست INSERT … VALUES حداکثر 1,000 عبارت مقدار ردیف می‌پذیرد—
PostgreSQLشناسه‌های بلندتر از 63 بایت بی‌صدا کوتاه می‌شوند—
SQLiteیک جدول در ساخت پیش‌فرض حداکثر 2,000 ستون دارد—

پیش از اجرای اسکریپت این موارد را بررسی کنید

ابتدا خط CREATE TABLE را بخوانید. نوع ستون‌ها از روی مقدارها حدس زده می‌شود و ممکن است حدس غلط باشد: کد پستی و شمارهٔ تلفن عددی به نظر می‌رسند اما باید متن بمانند، وگرنه 02134 صفر ابتدایی‌اش را از دست می‌دهد. نوع را پیش از اجرا در اسکریپت تغییر دهید، یا جدول را خودتان بسازید و فقط بخش INSERT را اجرا کنید.

به‌جای my_table، نام واقعی را در نام جدول SQL بنویسید و اگر کلاینت اجازه می‌دهد اسکریپت را داخل یک تراکنش اجرا کنید تا با خطای یک ردیف همه‌چیز برگردانده شود. مقصدهای دیگر برای همین CSV در مرکز مبدل داده هستند.

فرمت‌های CSV و اسکریپت SQL

CSV

مقادیر جداشده با کاما

CSV یک قالب متن ساده برای جدول‌هاست که در آن هر خط یک ردیف است و ستون‌ها با کاما از هم جدا می‌شوند. این قالب از روزهای نخست رایانه استفاده می‌شده و در RFC 4180 توضیح داده شده است، هرچند بسیاری از گونه‌ها از نقطه‌ویرگول یا تب و رمزگذاری‌های متنی متفاوت استفاده می‌کنند. تقریباً هر صفحه‌گسترده، پایگاه داده و ابزار تحلیلی می‌تواند آن را وارد یا صادر کند و به همین دلیل قالب پیش‌فرض انتقال داده بین سیستم‌هاست. CSV فقط مقادیر را ذخیره می‌کند و فرمول، قالب‌بندی، چند برگه یا نوع داده ندارد.

فشرده‌سازی
–
شفافیت
–
انیمیشن
–
سال معرفی
–
مبدل CSV

SQL

اسکریپت SQL

فایل SQL یک اسکریپت متنی ساده از دستورهای Structured Query Language مانند CREATE TABLE و INSERT است که پایگاه داده آن‌ها را به ترتیب اجرا می‌کند. معمولاً برای پشتیبان‌گیری، مهاجرت و اشتراک‌گذاری داده‌های نمونه از پایگاه داده به کار می‌رود. خود زبان استاندارد ISO است، اما MySQL، PostgreSQL، SQLite و SQL Server هر کدام گویش خود را دارند، بنابراین اسکریپت‌ها اغلب میان سیستم‌ها به تغییرات کوچک نیاز دارند. هر ویرایشگر متنی فایل SQL را باز می‌کند و برای اجرای آن به کلاینت پایگاه داده نیاز است.

فشرده‌سازی
–
شفافیت
–
انیمیشن
–
سال معرفی
–
مبدل SQL

وقتی یک فایل باید در پایگاه‌داده‌ای که فقط از طریق پنجرهٔ پرس‌وجو به آن دسترسی دارید به جدول تبدیل شود، CSV به SQL تبدیل می‌شود: مقداردهی اولیهٔ یک برنامهٔ جدید، بارگذاری یک فهرست مرجع یا انتقال صفحه‌گسترده به MySQL یا PostgreSQL بدون دسترسی به سرور.

پرسش‌های رایج دربارهٔ تبدیل CSV به SQL

چرا به‌جای LOAD DATA یا COPY از فایل SQL استفاده کنیم؟

بارگذارهای حجیم مثل LOAD DATA INFILE در MySQL و COPY در PostgreSQL سریع‌ترند، اما به دسترسی به فایل روی سرور یا پرچم‌های اضافی در کلاینت نیاز دارند. یک اسکریپت ساده در هر جایی که بتوانید SQL را جای‌گذاری کنید اجرا می‌شود: کنسول پایگاه‌دادهٔ ابری، phpMyAdmin یا یک مهاجرت (migration) بازبینی‌شده.

آپاستروف در نام‌هایی مثل O'Brien چگونه نوشته می‌شود؟

داخل رشتهٔ SQL، علامت نقل‌قول تکی با دوبار نوشتن آن escape می‌شود، پس مقدار به‌صورت 'O''Brien' نوشته می‌شود. هر چهار گویش این شکل را می‌پذیرند و برای همین نامی که آپوستروف دارد INSERT را خراب نمی‌کند.

سرستون‌های CSV من در جدول به چه تبدیل می‌شوند؟

نام ستون‌ها، با گیومه‌گذاری مطابق انتظار گویش انتخاب‌شده. سرستون‌هایی مثل Unit Price کار می‌کنند، اما نامی که فاصله دارد باید در همهٔ پرس‌وجوهای بعدی هم داخل گیومه بیاید؛ پس اگر می‌توانید، پیش از تبدیل چنین سرستون‌هایی را به unit_price تغییر دهید.

آیا می‌توانم فایل SQL را از طریق phpMyAdmin وارد کنم؟

بله، در تب Import. سقف آن‌جا upload_max_filesize در PHP است که در php.ini پیش‌فرض 2 MB است؛ بسیاری از هاست‌ها آن را بالا می‌برند و صفحه حد فعلی را نشان می‌دهد. اگر اسکریپت بزرگ‌تر از این بود، CSV بزرگ را به چند فایل تقسیم کنید.

آیا راهی برای تبدیل جدول به CSV وجود دارد؟

جدول را به‌صورت dump خروجی بگیرید و با SQL به CSV تبدیل کنید، یا از خروجی CSV خود کلاینت پایگاه‌داده استفاده کنید. هر دو ردیف‌هایی می‌دهند که صفحه‌گسترده دوباره بتواند باز کند.