Tapi bagaimana Anda mengimpor data Excel di MySQL? . Ini berguna bagi pengembang yang perlu memigrasikan data dari satu platform CMS atau lingkungan pengembangan ke yang lain
Tutorial ini akan menjelaskan proses ini langkah demi langkah. Berbagai opsi untuk penyetelan basis data dan rangkaian karakter berada di luar cakupan tutorial ini. Berikut adalah langkah-langkah yang harus diikuti untuk mengimpor data Excel ke MySQL menggunakan phpMyAdmin
Langkah 1
Buka file Excel Anda. Pilih lembar kerja yang ingin Anda ekspor terlebih dahulu. Jika Anda memiliki beberapa lembar kerja dalam satu buku kerja atau file Excel, Anda perlu mengekspor banyak file. Anda tidak dapat mengimpor dokumen Excel dengan banyak lembar kerja dalam satu gerakan cepat (sayangnya, setidaknya setahu saya)
Langkah 2
Setelah lembar kerja Anda dipilih, buka menu 'File' dan pilih 'Save As'. Di menu tarik-turun pemformatan, pilih 'Nilai Terpisah Koma (. csv)’. Anda akan melihat prompt yang memberi tahu Anda Simpan Sebagai. opsi csv tidak dapat menyimpan buku kerja yang berisi banyak lembar (seperti yang dijelaskan pada langkah 1). Cukup klik 'OK' dan pilih jalur untuk dokumen yang Anda simpan. Ulangi proses ini untuk setiap lembar kerja di dokumen Excel Anda
Langkah 3
Setelah Anda menyimpan setiap lembar kerja Excel Anda secara terpisah ke dalam format CSV, Anda siap menggunakan fungsionalitas impor phpMyAdmin
Langkah 4
Sebagian besar penyedia layanan hosting menggunakan program phpMyAdmin untuk mengelola database MySQL. Jika Anda tidak yakin cara mengakses database di server Anda, hubungi penyedia layanan Anda
Langkah 5
Setelah Anda mengakses phpMyAdmin, Anda harus membuat database baru. Klik tautan 'Database'. Anda akan melihat bidang berlabel 'Buat database baru'. Masukkan nama yang sesuai untuk database Anda dan kemudian klik tombol 'Buat'. Kueri SQL yang membuat database baru Anda akan ditampilkan di layar
Langkah 6
Anda sekarang perlu membuat tabel untuk database Anda. Di bawah bidang input 'Buat tabel baru di basis data (Nama yang Anda berikan ke basis data)', masukkan nama tabel baru Anda dan 'Jumlah bidang' untuk tabel Anda. Jumlah bidang harus sesuai dengan jumlah kolom di lembar kerja yang Anda ekspor (dan akan diimpor). Setelah Anda memasukkan nilai yang sesuai, pilih 'Go'
Langkah 7
Selanjutnya, Anda perlu mengetikkan nama 'Bidang' secara manual untuk tabel ini. Nama bidang harus sesuai dengan nama tajuk kolom lembar kerja Anda. Anda juga harus memasukkan 'Panjang/Nilai' maks untuk bidang yang sesuai. Nilai maks ini bervariasi tergantung pada jenis data apa yang akan disertakan. Kolom database yang memiliki U. S. kode pos (tanpa nomor ekstensi pos) hanya perlu menetapkan panjang/nilai 5. Kolom basis data yang menyimpan alamat pos akan membutuhkan lebih banyak karakter, sehingga panjang/nilai maksimumnya lebih besar. Setelah Anda menetapkan bidang tajuk ini dan nilai maksimalnya, klik 'Simpan'
Langkah 8
Sekarang Anda siap untuk mengimpor Anda. file csv. Di kolom sebelah kiri antarmuka phpMyAdmin, pilih tabel yang baru saja Anda buat. Selanjutnya, klik pada tab 'Impor'
Langkah 9
Pilih tombol 'Jelajahi' dan pilih. file csv yang Anda buat. Pastikan 'CSV' dipilih di bawah 'Format file yang diimpor'. Selanjutnya, Anda harus mengganti nilai kolom 'Bidang diakhiri oleh' menjadi koma (,). Anda dapat membiarkan yang lainnya apa adanya. Terakhir, klik tombol ‘Go’
Langkah 10
Untuk memastikan semua data Anda telah diimpor, klik tab ‘Jelajahi’. Anda akan melihat semua baris dan data yang telah diimpor dari. file csv
Langkah 11
Untuk mengimpor beberapa lembar kerja Excel, cukup ulangi langkah 6 hingga 10 dari tutorial ini
Jika Anda menemukan artikel ini bermanfaat, silakan bagikan dengan orang lain. Jika Anda memerlukan bantuan lebih lanjut dengan proyek Anda, Anda dapat memanfaatkan layanan pengembangan web saya
Menentukan jenis file input. Ini hanya diperlukan jika file masukan memiliki ekstensi file non-standar. Jika parameter ini tidak ditentukan, jenis impor berasal dari ekstensi file input
Parameter ini mendukung penyelesaian kode. Jika dipanggil, ini hanya akan menampilkan jenis impor yang tersedia
-modeMendefinisikan bagaimana data harus dikirim ke database. Nilai yang mungkin adalah 'insert', 'update', 'insert,update' dan '-preTableStatement="set identity_insert ${table.name} on" -postTableStatement="set identity_insert ${table.name} off"0'
Untuk beberapa DBMS, mode tambahan. '-preTableStatement="set identity_insert ${table.name} on" -postTableStatement="set identity_insert ${table.name} off"1' dan '-preTableStatement="set identity_insert ${table.name} on" -postTableStatement="set identity_insert ${table.name} off"2' didukung. Untuk detailnya silahkan simak dan penjelasannya
Parameter ini mendukung penyelesaian kode
-mengajukanMenentukan nama lengkap file input. Atau Anda juga dapat menentukan direktori (menggunakan -preTableStatement="set identity_insert ${table.name} on" -postTableStatement="set identity_insert ${table.name} off"3) dari mana semua file diimpor
-mejaMenentukan tabel tempat data harus diimpor
Parameter ini diabaikan, jika file diimpor menggunakan parameter -preTableStatement="set identity_insert ${table.name} on" -postTableStatement="set identity_insert ${table.name} off"3
Parameter ini mendukung penyelesaian kode
-sumberDirMenentukan direktori yang berisi file impor. Semua file dari direktori itu akan diimpor. Jika sakelar ini digunakan dengan file teks dan tidak ada tabel target yang ditentukan, maka diasumsikan bahwa setiap nama file (tanpa ekstensi) menentukan tabel target. Jika tabel target ditentukan menggunakan parameter -preTableStatement="set identity_insert ${table.name} on" -postTableStatement="set identity_insert ${table.name} off"5, maka semua file akan diimpor ke tabel yang sama. -preTableStatement="set identity_insert ${table.name} on" -postTableStatement="set identity_insert ${table.name} off"6 akan diabaikan jika beberapa file diimpor ke dalam satu tabel
-perpanjanganSaat menggunakan sakelar -preTableStatement="set identity_insert ${table.name} on" -postTableStatement="set identity_insert ${table.name} off"_3, ekstensi untuk file dapat ditentukan. Semua file yang diakhiri dengan nilai yang diberikan akan diproses. (mis. g. -preTableStatement="set identity_insert ${table.name} on" -postTableStatement="set identity_insert ${table.name} off"_8). Ekstensi yang diberikan peka terhadap huruf besar-kecil (mis. e. -preTableStatement="set identity_insert ${table.name} on" -postTableStatement="set identity_insert ${table.name} off"_9 adalah sesuatu yang berbeda dari xml0
-abaikan PemilikJika nama file yang diimpor dengan dari direktori yang ditentukan dengan -sourceDir berisi informasi pemilik (skema), informasi pemilik (skema) ini dapat diabaikan menggunakan parameter ini. Jika tidak, file mungkin diimpor ke skema yang salah, atau tabel target tidak akan ditemukan
-mengecualikanFileMenggunakan -excludeFiles, file dari direktori sumber (saat menggunakan -sourceDir) dapat dikecualikan dari impor. Nilai untuk parameter ini adalah daftar nama parsial yang dipisahkan koma. Setiap file yang berisi setidaknya satu nilai yang diberikan dalam parameter ini akan diabaikan. xml1 akan mengecualikan file apa pun yang berisi nilai xml2 atau xml3 di dalamnya, e. g. xml4, xml5, xml6 dll
-lewatiTargetCheckBiasanya xml_7 akan memeriksa apakah tabel target yang ditentukan ada dan akan mengambil definisi kolom untuk tabel target melalui JDBC API. Namun, beberapa driver JDBC tidak selalu mengembalikan semua informasi tabel, mis. g. untuk tabel sementara. Jika Anda mengetahui bahwa tabel target ada, parameter xml8 dapat digunakan untuk memberi tahu xml7 untuk tidak memverifikasi keberadaan tabel melalui JDBC API
Namun, xml_7 perlu mengetahui tipe data kolom tabel. Saat text_1 diaktifkan, tipe data terdeteksi dengan menjalankan pernyataan text2 untuk mengambil definisi kolom. Untuk driver JDBC yang mendukung meta data untuk pernyataan yang disiapkan, kueri hanya disiapkan, tetapi tidak dieksekusi. Untuk driver yang tidak mendukungnya, kueri dijalankan dan hasilnya terbatas pada satu baris
-periksaDependensiSaat mengimpor lebih dari satu file (menggunakan sakelar -preTableStatement="set identity_insert ${table.name} on" -postTableStatement="set identity_insert ${table.name} off"3), ke dalam tabel dengan batasan kunci asing, sakelar ini dapat digunakan untuk mengimpor file dalam urutan yang benar (tabel anak terlebih dahulu). Ketika text_4 dilewatkan, SQL Workbench/J akan memeriksa dependensi kunci asing untuk semua tabel. Perhatikan bahwa ini tidak akan memeriksa dependensi dalam data. Ini berarti e. g. data untuk tabel referensi mandiri (induk/anak) tidak akan diurutkan sehingga dapat diimpor. Untuk mengimpor tabel referensi mandiri, batasan kunci asing harus disetel ke "awalnya ditangguhkan" untuk menunda evaluasi batasan hingga waktu komit
-komitSetiapJika DBMS Anda perlu sering melakukan untuk meningkatkan kinerja dan mengurangi penguncian pada tabel impor, Anda dapat mengontrol jumlah baris setelah COMMIT dikirim ke server
text5 adalah nilai numerik yang menentukan jumlah baris setelah text6 dikirim ke DBMS. Jika parameter ini tidak diteruskan (atau bernilai nol atau lebih rendah), maka impor dijalankan sebagai satu transaksi yang dilakukan di akhir
Saat menggunakan dan DBMS Anda memerlukan komitmen yang sering untuk meningkatkan kinerja impor, opsi text7 harus digunakan sebagai gantinya
Anda dapat mematikan penggunaan komit atau rollback selama impor sepenuhnya dengan menggunakan opsi text8
Menggunakan text_5 berarti, jika terjadi kesalahan, baris yang sudah diimpor tidak dapat dibatalkan, meninggalkan data dalam status potensial tidak valid
-transactionControlNilai yang mungkin. ods0, ods1
Mengontrol jika SQL Workbench/J menangani transaksi untuk impor, atau jika impor harus dilakukan (atau dibatalkan) secara manual. Jika text_8 ditentukan, SQL Workbench/J tidak akan mengirim text6 atau ods4 di akhir. Ini dapat digunakan ketika banyak file perlu diimpor dalam satu transaksi. Ini dapat digabungkan dengan dan skrip dalam mode batch
-continueOnErrorNilai yang mungkin. ods0, ods1
Parameter ini mengontrol perilaku saat terjadi kesalahan selama impor. Standarnya adalah ods_0, artinya impor akan berlanjut meskipun terjadi kesalahan selama penguraian file atau pembaruan database. Tetapkan parameter ini ke ods_1 jika Anda ingin menghentikan impor segera setelah terjadi kesalahan
Nilai default untuk parameter ini dapat dikontrol di dan akan ditampilkan jika Anda menjalankan xml7 tanpa parameter apa pun
Dengan PostgreSQL xls_0 hanya akan berfungsi, jika penggunaan savepoint diaktifkan menggunakan xls1
-file kosongNilai yang mungkin. xls_2, xls3, xls4
Parameter ini mengontrol perilaku saat file kosong (mis. e. dengan panjang nol byte) digunakan untuk input file. xls_2 berarti file diabaikan, tidak ada peringatan yang akan ditampilkan atau ditulis ke file log. xls_3 berarti file tersebut diabaikan, tetapi peringatan akan ditampilkan dan dicatat. Dengan xls_4 file kosong akan dianggap sebagai kesalahan kecuali xls8 ditentukan
Nilai defaultnya adalah xls_4
-gunakan SavepointNilai yang mungkin. ods0, ods1
Mengontrol jika SQL Workbench/J menjaga setiap penyisipan atau pembaruan pernyataan dengan savepoint untuk memulihkan dari kesalahan individu selama impor, saat xls0 disetel ke true
Menggunakan savepoint untuk setiap pernyataan DML dapat mengurangi kinerja impor secara drastis
-keyColumnsMenentukan kolom kunci untuk tabel target. Parameter ini hanya diperlukan jika impor berjalan dalam mode xlsx3
Diasumsikan bahwa nilai kolom kunci tidak akan pernah xlsx4
Parameter ini diabaikan jika file diimpor menggunakan parameter -preTableStatement="set identity_insert ${table.name} on" -postTableStatement="set identity_insert ${table.name} off"3
Nilai yang mungkin. ods0, ods1
Mengontrol apakah kolom identitas atau penambahan otomatis akan disertakan dalam impor
Jika ini digunakan, driver JDBC harus melaporkan kolom dengan benar untuk dikecualikan sebagai kolom AUTOINCREMENT. Ini dapat diverifikasi dalam tampilan definisi tabel dari DbExplorer. Jika kolom dilaporkan dengan xlsx_8 untuk properti AUTOINCREMENT, kolom ini akan dikecualikan selama impor
-overrideIdentityNilai yang mungkin. xlsx_9, insert0
Mengontrol opsi untuk mengganti kolom identitas, untuk DBMS yang mendukung opsi insert1 SQL standar. Jika opsi ditentukan, nilai dari file impor dikirim ke database, yang secara efektif menonaktifkan pembuatan kolom identitas secara otomatis
Opsi xlsx9 akan menggunakan insert3 dalam pernyataan insert4 yang dihasilkan. Opsi insert_0 akan menggunakan insert6
Tidak ada pemeriksaan yang dilakukan, jika DBMS target mendukung opsi tersebut
Standarnya adalah, untuk tidak menggunakan opsi utama apa pun
-schema Menentukan skema tempat data harus diimpor. Ini diperlukan untuk DBMS yang mendukung skema, dan Anda ingin mengimpor data ke skema yang berbeda, lalu yang sekarang. -enkodeMenentukan pengkodean file input (dan kemungkinan file CLOB)
Jika penyelesaian kode dipanggil untuk parameter ini, ini akan menampilkan daftar penyandian yang ditentukan melalui properti konfigurasi insert7 Ini adalah daftar yang dipisahkan koma yang dapat diubah menggunakan. Jika properti ini tidak ditentukan, semua penyandian yang tersedia akan ditampilkan
-deleteTargetNilai yang mungkin. ods0, ods1
Jika parameter ini disetel ke true, data dari tabel target akan dihapus (menggunakan update1) sebelum impor dimulai. Parameter ini hanya akan digunakan jika update2 ditentukan
Parameter ini diabaikan untuk impor spreadsheet
Nilai yang mungkin. ods0, ods1
Ini pada dasarnya sama dengan -preTableStatement="set identity_insert ${table.name} on" -postTableStatement="set identity_insert ${table.name} off"_6, tetapi akan menggunakan perintah update6 untuk menghapus isi tabel. Untuk DBMS yang mendukung perintah ini, menghapus baris biasanya lebih cepat dibandingkan dengan perintah update7, tetapi tidak dapat dibatalkan. Parameter ini hanya akan digunakan jika update2 ditentukan
-batchSizeNilai numerik yang menentukan ukuran antrian batch. Nilai apa pun yang lebih besar dari 1 akan mengaktifkan mode batch. Jika driver JDBC mendukung ini, kinerja INSERT (atau UPDATE) dapat ditingkatkan secara drastis
Parameter ini akan diabaikan jika driver tidak mendukung pembaruan batch atau jika modenya tidak xlsx3 atau insert4 (i. e. jika insert,update1 atau insert,update2 digunakan)
-commitBatchNilai yang mungkin. ods0, ods1
Jika menggunakan eksekusi batch (dengan menentukan ukuran batch menggunakan parameter insert,update5) setiap batch akan dilakukan saat parameter ini disetel ke ods0. Ini sedikit berbeda dengan menggunakan text5 dengan nilai parameter insert,update5. Yang terakhir akan menambahkan pernyataan COMMIT ke antrian batch, daripada memanggil metode commit() JDBC. Beberapa driver tidak mengizinkan untuk menambahkan pernyataan berbeda dalam antrian batch. Jadi, jika diperlukan text_6 yang sering, parameter ini harus digunakan
Saat Anda menentukan text_7 parameter text5 akan diabaikan. Jika tidak ada ukuran batch yang diberikan (menggunakan insert,update5, maka text7 juga akan diabaikan
Saat menggunakan klausa -preTableStatement="set identity_insert ${table.name} on" -postTableStatement="set identity_insert ${table.name} off"_04 tambahan dapat ditentukan untuk membatasi baris yang diperbarui. Nilai parameter -preTableStatement="set identity_insert ${table.name} on" -postTableStatement="set identity_insert ${table.name} off"05 akan ditambahkan ke pernyataan xlsx3 yang dihasilkan. Jika nilai dimulai dengan kata kunci -preTableStatement="set identity_insert ${table.name} on" -postTableStatement="set identity_insert ${table.name} off"_07 atau -preTableStatement="set identity_insert ${table.name} on" -postTableStatement="set identity_insert ${table.name} off"08, nilai akan ditambahkan tanpa perubahan lebih lanjut, jika tidak, nilai akan ditambahkan sebagai klausa -preTableStatement="set identity_insert ${table.name} on" -postTableStatement="set identity_insert ${table.name} off"07 yang diapit tanda kurung. Parameter ini akan diabaikan jika mode pembaruan tidak aktif
-mulaiBarisNilai numerik untuk menentukan baris pertama yang akan diimpor. Setiap baris sebelum baris yang ditentukan akan diabaikan. Baris tajuk tidak dihitung untuk menentukan nomor baris. Untuk file teks dengan baris header, baris fisik 2 adalah baris 1 (satu) untuk parameter ini
Saat mengimpor file teks, baris kosong di file input diabaikan secara diam-diam dan tidak menambah jumlah baris untuk parameter ini. Jadi jika file input Anda memiliki dua baris untuk diabaikan, kemudian satu baris kosong dan kemudian baris lain untuk diabaikan, -preTableStatement="set identity_insert ${table.name} on" -postTableStatement="set identity_insert ${table.name} off"10 harus disetel ke 4
-endRow Nilai numerik untuk menentukan baris terakhir yang akan diimpor. Impor akan dihentikan setelah baris ini diimpor. Saat Anda menentukan -preTableStatement="set identity_insert ${table.name} on" -postTableStatement="set identity_insert ${table.name} off"11 dan -preTableStatement="set identity_insert ${table.name} on" -postTableStatement="set identity_insert ${table.name} off"12 11 baris akan diimpor (i. e. baris 10 sampai 20). Jika ini adalah file teks yang diimpor dengan baris header, ini akan sesuai dengan baris fisik 11 hingga 21 di file input karena baris header tidak dihitung. -kolomFilterIni mendefinisikan filter pada tingkat kolom yang hanya memilih baris tertentu dari file input untuk dikirim ke database. Filter harus didefinisikan sebagai -preTableStatement="set identity_insert ${table.name} on" -postTableStatement="set identity_insert ${table.name} off"13. Hanya Baris yang cocok dengan semua ekspresi reguler yang disediakan yang akan disertakan oleh impor
Parameter ini diabaikan saat parameter -preTableStatement="set identity_insert ${table.name} on" -postTableStatement="set identity_insert ${table.name} off"3 digunakan
-badFileJika xls_8 digunakan, Anda dapat menentukan file yang baris yang ditolak ditulis. Jika nama file yang diberikan menunjukkan direktori, file dengan nama tabel impor akan dibuat di direktori tersebut. Saat melakukan penyisipan multi-tabel, Anda harus menentukan nama direktori
Jika ada file dengan nama tersebut, file tersebut akan dihapus saat impor tabel dimulai. File tidak akan dibuat kecuali setidaknya satu catatan ditolak selama impor. File akan dibuat dengan penyandian yang sama seperti yang ditunjukkan untuk file input
-panjang maksimalDengan parameter -preTableStatement="set identity_insert ${table.name} on" -postTableStatement="set identity_insert ${table.name} off"16 Anda dapat memotong data untuk kolom karakter (-preTableStatement="set identity_insert ${table.name} on" -postTableStatement="set identity_insert ${table.name} off"17, -preTableStatement="set identity_insert ${table.name} on" -postTableStatement="set identity_insert ${table.name} off"18) selama impor. Ini dapat digunakan untuk mengimpor data ke dalam kolom yang tidak cukup besar (mis. g. kolom VARCHAR) untuk menampung semua nilai dari file masukan dan untuk memastikan impor dapat selesai tanpa kesalahan
Parameter menentukan panjang maksimum untuk kolom tertentu menggunakan format berikut. -preTableStatement="set identity_insert ${table.name} on" -postTableStatement="set identity_insert ${table.name} off"19 Di mana nama depan dan nama belakang adalah kolom dari tabel target. Contoh di atas akan membatasi nilai untuk nama depan kolom hingga 30 karakter dan nilai untuk nama belakang kolom hingga 20 karakter. Jika kolom non-karakter ditentukan, ini diabaikan. Perhatikan bahwa Anda telah mengutip nilai parameter agar dapat menggunakan tanda sama dengan "tertanam".
-booleanToNumberNilai yang mungkin. ods0, ods1
Jika Anda mengimpor kolom boolean (berisi "true", "false") ke dalam kolom numerik di DBMS target, SQL Workbench/J akan secara otomatis mengonversi literal ods0 menjadi nilai numerik 1 (satu) dan literal ods1 menjadi . Jika Anda tidak menginginkan konversi otomatis ini, Anda harus menentukan -preTableStatement="set identity_insert ${table.name} on" -postTableStatement="set identity_insert ${table.name} off"24 untuk impor. Nilai default untuk literal true/false dapat ditimpa dengan switch -literalsFalse dan -literalsTrue
Untuk menyimpan nilai yang berbeda dari 0/1 di kolom target, gunakan parameter -preTableStatement="set identity_insert ${table.name} on" -postTableStatement="set identity_insert ${table.name} off"25 dan -preTableStatement="set identity_insert ${table.name} on" -postTableStatement="set identity_insert ${table.name} off"26
-numericFalse -numericTrueParameter ini mengontrol konversi literal boolean menjadi angka
Jika parameter ini digunakan, input teks apa pun yang diidentifikasi sebagai literal "false", akan disimpan dengan nomor yang ditentukan dengan -preTableStatement="set identity_insert ${table.name} on" -postTableStatement="set identity_insert ${table.name} off"25. Input teks apa pun yang diidentifikasi sebagai "true" akan disimpan sebagai nomor yang ditentukan dengan -preTableStatement="set identity_insert ${table.name} on" -postTableStatement="set identity_insert ${table.name} off"25
Untuk menggunakan -1 untuk salah dan 1 untuk benar, gunakan parameter berikut. -preTableStatement="set identity_insert ${table.name} on" -postTableStatement="set identity_insert ${table.name} off"_29. Perhatikan bahwa '-1' harus dikutip karena tanda hubung. Jika parameter ini digunakan, -preTableStatement="set identity_insert ${table.name} on" -postTableStatement="set identity_insert ${table.name} off"_30 akan dianggap benar secara implisit
Parameter ini dapat digabungkan dengan -preTableStatement="set identity_insert ${table.name} on" -postTableStatement="set identity_insert ${table.name} off"_31 dan -preTableStatement="set identity_insert ${table.name} on" -postTableStatement="set identity_insert ${table.name} off"32
Tolong dicatat
- Konversi ini hanya berlaku untuk nilai masukan "teks". Angka yang valid dalam file input tidak akan dikonversi ke nilai yang ditentukan dengan -preTableStatement="set identity_insert ${table.name} on" -postTableStatement="set identity_insert ${table.name} off"25 atau -preTableStatement="set identity_insert ${table.name} on" -postTableStatement="set identity_insert ${table.name} off"26. Ini berarti Anda tidak dapat mengubah -preTableStatement="set identity_insert ${table.name} on" -postTableStatement="set identity_insert ${table.name} off"_35 (nol) di file input menjadi -preTableStatement="set identity_insert ${table.name} on" -postTableStatement="set identity_insert ${table.name} off"36 di kolom target
Parameter ini mengontrol konversi literal boolean menjadi nilai boolean
Kedua sakelar ini menentukan nilai teks yang mewakili nilai (boolean) ods1 dan ods0 dalam file input. Konversi ini diterapkan saat menyimpan data dalam kolom yang bertipe -preTableStatement="set identity_insert ${table.name} on" -postTableStatement="set identity_insert ${table.name} off"39 di database
Nilai untuk sakelar ini adalah daftar literal yang dipisahkan koma yang harus diperlakukan sebagai nilai yang ditentukan, mis. g. -preTableStatement="set identity_insert ${table.name} on" -postTableStatement="set identity_insert ${table.name} off"40 akan menentukan nilai yang paling sering digunakan untuk true/false
Tolong dicatat
- Definisi literal peka terhadap huruf besar-kecil
- Anda harus selalu menentukan kedua sakelar, jika tidak definisi akan diabaikan
Kolom untuk tanggal
Ini hanya digunakan untuk impor teks dan saat menggunakan dengan impor spreadsheet
Kolom for datetime (atau timestamp) di file input
Ini hanya digunakan untuk impor teks dan saat menggunakan dengan impor spreadsheet
-lokalLokal (bahasa) yang akan digunakan untuk mengurai nilai tanggal dan stempel waktu
Ini hanya digunakan untuk impor teks dan impor spreadsheet menggunakan
Parameter ini mendukung penyelesaian kode
Jika ini disetel ke ods_0, tanggal ilegal (seperti 31 Februari) atau tanggal yang salah format di dalam file input akan diperlakukan sebagai nilai null
Ini hanya digunakan untuk impor teks dan spreadsheet
-trimValuesNilai yang mungkin. ods0, ods1
Mengontrol apakah spasi awal dan akhir dihapus dari nilai input sebelum disimpan dalam database. Ketika digunakan dalam kombinasi dengan -preTableStatement="set identity_insert ${table.name} on" -postTableStatement="set identity_insert ${table.name} off"44 ini berarti bahwa nilai kolom yang hanya berisi spasi kosong akan disimpan sebagai xlsx4 di database
Nilai default untuk parameter ini dapat dikontrol di dan akan ditampilkan jika Anda menjalankan xml7 tanpa parameter apa pun
Perhatikan bahwa, nilai input untuk kolom bukan karakter (seperti kolom angka atau tanggal) selalu dipangkas sebelum mengonversinya menjadi tipe data targetnya
Ini hanya digunakan untuk impor teks dan spreadsheet
-emptyStringIsNullNilai yang mungkin. ods0, ods1
Mengontrol apakah nilai input untuk kolom tipe karakter dengan panjang nol diperlakukan sebagai xlsx4 (nilai ods0) atau sebagai string kosong
Nilai default untuk parameter ini adalah ods0
Perhatikan bahwa, nilai masukan untuk kolom bukan karakter (seperti angka atau kolom tanggal) yang kosong atau hanya terdiri dari spasi kosong akan selalu diperlakukan sebagai xlsx4
Ini hanya digunakan untuk impor teks dan spreadsheet
-kolomEkspresiParameter ini dapat digunakan untuk menentukan ekspresi SQL yang akan digunakan sebagai pengganti referensi kolom biasa untuk pernyataan INSERT. Ini berguna untuk menerapkan fungsi SQL langsung di server ke nilai yang diambil dari file input
Formatnya adalah -preTableStatement="set identity_insert ${table.name} on" -postTableStatement="set identity_insert ${table.name} off"_53. Parameter dapat diulang beberapa kali untuk banyak kolom
Posisi nilai input dilambangkan dengan tanda tanya. Tanda tanya tidak boleh dikutip, meskipun inputnya adalah nilai string/karakter
Sebagai contoh, ini dapat digunakan untuk mengonversi string yang dipisahkan koma menjadi array Postgres. -preTableStatement="set identity_insert ${table.name} on" -postTableStatement="set identity_insert ${table.name} off"_54. Atau ini bisa digunakan untuk membulatkan nilai angka. -preTableStatement="set identity_insert ${table.name} on" -postTableStatement="set identity_insert ${table.name} off"_55
-nilai konstantaDengan parameter ini Anda dapat memberikan nilai konstanta untuk satu atau lebih kolom yang akan digunakan saat memasukkan baris baru ke dalam database
Nilai konstanta hanya akan digunakan saat menyisipkan baris (mis. g. menggunakan update2)
Format nilainya adalah -preTableStatement="set identity_insert ${table.name} on" -postTableStatement="set identity_insert ${table.name} off"57. Parameter dapat diulang berkali-kali, untuk mempermudah pengutipan. -preTableStatement="set identity_insert ${table.name} on" -postTableStatement="set identity_insert ${table.name} off"58 Nilai akan dikonversi dengan aturan yang sama dengan nilai input dari file input. Jika nilai untuk kolom karakter dilampirkan dalam tanda kutip tunggal, ini akan dihapus dari nilai sebelum mengirimkannya ke database. Untuk menyertakan tanda kutip tunggal di awal atau akhir nilai masukan, Anda perlu menggunakan dua tanda kutip tunggal, mis. g. -preTableStatement="set identity_insert ${table.name} on" -postTableStatement="set identity_insert ${table.name} off"59 Untuk bidang -preTableStatement="set identity_insert ${table.name} on" -postTableStatement="set identity_insert ${table.name} off"60 nilai -preTableStatement="set identity_insert ${table.name} on" -postTableStatement="set identity_insert ${table.name} off"61 akan dikirim ke database. untuk bidang -preTableStatement="set identity_insert ${table.name} on" -postTableStatement="set identity_insert ${table.name} off"_62 nilai -preTableStatement="set identity_insert ${table.name} on" -postTableStatement="set identity_insert ${table.name} off"63 akan dikirim ke database
Untuk menentukan panggilan fungsi yang akan dieksekusi, lampirkan panggilan fungsi di -preTableStatement="set identity_insert ${table.name} on" -postTableStatement="set identity_insert ${table.name} off"64, e. g. -preTableStatement="set identity_insert ${table.name} on" -postTableStatement="set identity_insert ${table.name} off"65 atau -preTableStatement="set identity_insert ${table.name} on" -postTableStatement="set identity_insert ${table.name} off"66. Fungsi yang disediakan akan dimasukkan ke dalam bagian -preTableStatement="set identity_insert ${table.name} on" -postTableStatement="set identity_insert ${table.name} off"67 dari pernyataan INSERT tanpa pemeriksaan lebih lanjut (setelah menghapus karakter ${ dan }, tentu saja). Jadi pastikan sintaksnya valid untuk DBMS Anda. Jika Anda perlu menyimpan literal seperti -preTableStatement="set identity_insert ${table.name} on" -postTableStatement="set identity_insert ${table.name} off"68 ke dalam database, Anda perlu mengutipnya. -preTableStatement="set identity_insert ${table.name} on" -postTableStatement="set identity_insert ${table.name} off"_69
Anda juga dapat menentukan pernyataan -preTableStatement="set identity_insert ${table.name} on" -postTableStatement="set identity_insert ${table.name} off"70 yang mengambil informasi dari database berdasarkan nilai dari file input. Ini berguna ketika file input berisi e. g. nilai dari tabel pencarian (tetapi bukan kunci utama dari tabel pencarian)
Sintaks untuk menentukan pernyataan SELECT mirip dengan pemanggilan fungsi. -preTableStatement="set identity_insert ${table.name} on" -postTableStatement="set identity_insert ${table.name} off"71 di mana -preTableStatement="set identity_insert ${table.name} on" -postTableStatement="set identity_insert ${table.name} off"72 referensi kolom keempat dari file input. Kolom pertama adalah $1 (bukan $0)
Parameter untuk pernyataan SELECT tidak perlu dikutip karena secara internal pernyataan yang disiapkan digunakan. Namun nilai dalam file input harus dapat dikonversi oleh driver JDBC. Jika kolom input dari file sumber bukan bagian dari tabel target, nilainya akan diteruskan sebagai string ke pernyataan. Ini berarti bahwa kueri SQL harus memasukkan parameter ke tipe data yang sesuai jika diperlukan, mis. g. -preTableStatement="set identity_insert ${table.name} on" -postTableStatement="set identity_insert ${table.name} off"_73
Selain pemanggilan fungsi atau pernyataan -preTableStatement="set identity_insert ${table.name} on" -postTableStatement="set identity_insert ${table.name} off"_70, WbImport menyediakan empat variabel yang dapat digunakan untuk mengakses nama file yang saat ini diimpor. Ini dapat digunakan untuk menyimpan file sumber dari data di tabel target
Tiga variabel berikut didukung
- -preTableStatement="set identity_insert ${table.name} on" -postTableStatement="set identity_insert ${table.name} off"75 ini berisi path lengkap dan nama file dari file impor saat ini
- -preTableStatement="set identity_insert ${table.name} on" -postTableStatement="set identity_insert ${table.name} off"76 ini hanya berisi nama file (tanpa path)
- -preTableStatement="set identity_insert ${table.name} on" -postTableStatement="set identity_insert ${table.name} off"77 ini berisi nama direktori tempat file disimpan
- -preTableStatement="set identity_insert ${table.name} on" -postTableStatement="set identity_insert ${table.name} off"78 ini akan diganti dengan nomor baris saat ini dari file input selama impor
Silakan lihat untuk rincian lebih lanjut tentang penggunaan
-masukkanSQLTentukan pernyataan yang akan digunakan untuk menyisipkan baris
Ini dapat digunakan untuk menggunakan petunjuk atau menyesuaikan pernyataan INSERT yang dihasilkan. Parameter hanya boleh berisi bagian -preTableStatement="set identity_insert ${table.name} on" -postTableStatement="set identity_insert ${table.name} off"_79 dari pernyataan (i. e. -preTableStatement="set identity_insert ${table.name} on" -postTableStatement="set identity_insert ${table.name} off"79 adalah default jika tidak ada yang ditentukan). Ini dapat digunakan untuk memberikan petunjuk khusus ke database, mis. g. untuk menentukan petunjuk tambahan untuk Oracle
Nilai yang mungkin. ods0, ods1
Untuk DBMS yang mendukung urutan yang diasosiasikan dengan kolom, parameter ini dapat digunakan untuk menyesuaikan nilai berikutnya untuk urutan ke nilai maksimum dari data yang diimpor. Ini juga dapat digunakan untuk menyinkronkan kolom identitas untuk DBMS yang memungkinkan penggantian nilai yang dihasilkan
Saat ini diimplementasikan untuk PostgreSQL, DB2 (LUW), H2 Database dan HyperSQL (alias HSQLDB)
-preTableStatement -postTableStatement
Parameter ini mendefinisikan pernyataan SQL yang harus dijalankan sebelum proses impor mulai memasukkan data ke dalam tabel target. Nama tabel saat ini (ketika e. g. mengimpor seluruh direktori) dapat direferensikan menggunakan -preTableStatement="set identity_insert ${table.name} on" -postTableStatement="set identity_insert ${table.name} off"83
Untuk menentukan pernyataan yang harus dieksekusi setelah semua baris dimasukkan dan telah dikomit, Anda dapat menggunakan parameter -preTableStatement="set identity_insert ${table.name} on" -postTableStatement="set identity_insert ${table.name} off"84
Parameter ini dapat e. g. digunakan untuk mengaktifkan penyisipan identitas untuk MS SQL Server
-preTableStatement="set identity_insert ${table.name} on" -postTableStatement="set identity_insert ${table.name} off"Kesalahan akibat mengeksekusi pernyataan ini akan diabaikan. Jika Anda ingin membatalkan impor dalam hal ini, Anda dapat menentukan -preTableStatement="set identity_insert ${table.name} on" -postTableStatement="set identity_insert ${table.name} off"85 dan -preTableStatement="set identity_insert ${table.name} on" -postTableStatement="set identity_insert ${table.name} off"86
Pernyataan ini hanya digunakan jika lebih dari satu tabel diproses
-runTableStatementOnErrorNilai yang mungkin. ods0, ods1
Mengontrol eksekusi pernyataan post-table jika terjadi kesalahan saat mengimpor data. Secara default, pernyataan post-table dijalankan bahkan jika impor tidak berhasil. Jika hal ini seharusnya tidak terjadi, gunakan ________0______89
-abaikan PrePostErrorsNilai yang mungkin. ods0, ods1
Mengontrol penanganan kesalahan untuk pernyataan SQL yang ditentukan melalui parameter -preTableStatement="set identity_insert ${table.name} on" -postTableStatement="set identity_insert ${table.name} off"92 dan -preTableStatement="set identity_insert ${table.name} on" -postTableStatement="set identity_insert ${table.name} off"84. Jika ini disetel ke true (default), kesalahan akibat mengeksekusi pernyataan yang diberikan akan diabaikan. Jika disetel ke false maka penanganan kesalahan bergantung pada parameter -preTableStatement="set identity_insert ${table.name} on" -postTableStatement="set identity_insert ${table.name} off"94
-tunjukkan KemajuanNilai yang valid. ods0, ods1, -preTableStatement="set identity_insert ${table.name} on" -postTableStatement="set identity_insert ${table.name} off"97
Kontrol frekuensi pembaruan di bilah status (saat berjalan dalam mode GUI). Standarnya adalah setiap baris ke-10 dilaporkan. Untuk menonaktifkan tampilan progres, tentukan nilai 0 (nol) atau nilai ods1. ods0 akan mengatur interval progres menjadi 1 (satu)