Saya pikir mengimpor menggunakan salah satu metode yang disebutkan sangat ideal jika itu benar-benar file besar, tetapi Anda dapat menggunakan Excel untuk membuat pernyataan penyisipan:
="INSERT INTO table_name VALUES('"&A1&"','"&B1&"','"&C1&"')"
Di MS SQL Anda dapat menggunakan:
SET NOCOUNT ON
Untuk tidak menampilkan semua komentar '1 baris terpengaruh'. Dan jika Anda melakukan banyak baris dan kesalahan terjadi, sesekali tempatkan GO di antara pernyataan
Saya menggunakan =CONCATENATE()tetapi menggunakan &tanda itu mengarah pada keterbacaan yang jauh lebih baik!
mastazi
1
@mastazi Setuju! Saya beralih ke &ketika saya menemukan batas parameter CONCATENATE()beberapa waktu lalu, itu bukan masalah umum sekarang karena batasnya adalah 255 parameter, tetapi saya tidak pernah berpikir untuk kembali.
Hart CO
1
CONCATENATE () adalah cara yang harus dilakukan. Cukup klik ikon fx pada bilah rumus untuk melihat apa yang telah Anda masukkan. Ini jauh lebih bersih daripada hanya menggunakan & menandatangani. Tentu saja menggunakan & sign itu keren tetapi kadang-kadang ketika Anda memiliki tanda kutip ganda atau tanda kutip tunggal, itu akan membuat Anda menghitung selamanya dari apa yang hilang.
ian0411
1
Tidak berfungsi saat memiliki tanda kutip di sel. Periksa jawaban saya untuk versi yang dikoreksi.
Simon Baars
2
@PreshanPradeepa Anda dapat menggunakan sintaks yang sama, SQL Server tidak peduli jika bilangan bulat dalam tanda kutip selama itu bilangan bulat yang valid.
Jangan memposting data sensitif Anda di web. Anda tidak memiliki cara untuk mengetahui apa yang terjadi pada data yang Anda kirimkan ke aplikasi web. Beberapa alat ini menyimpan data Anda dan membuatnya tersedia untuk umum
GabiM
28
Anda dapat membuat tabel yang sesuai melalui antarmuka studio manajemen dan memasukkan data ke dalam tabel seperti yang ditunjukkan di bawah ini. Mungkin perlu beberapa waktu tergantung pada jumlah data, tetapi ini sangat berguna.
Berguna. Saya melihat bahwa dengan kolom IDENTITAS, buffer salinan harus memiliki kolom tersebut, meskipun data di dalamnya akan diabaikan karena nilainya dibuat secara otomatis saat baris disisipkan.
fortboise
Anda dapat menjadikan kolom IDENTITAS Anda sebagai yang terakhir dalam daftar kolom dan kemudian tidak perlu memiliki kolom tambahan sama sekali.
Andrey Morozov
1
jika Anda tidak menentukan nilai IDENTITAS di lembar excel; Anda dapat mengubah dan menjalankan kembali edit skrip sql 200 baris teratas dengan menghapus kolom IDENTITAS. Jadi, saat Anda menyalin dan menempelkan nilai-nilai tanpa IDENTITAS; metode ini akan berhasil.
aozan88
Ini rusak untuk bidang tanggal dan waktu di Excel untuk orang lain yang mengalami masalah. Data datetime diubah menjadi data "biner" di sisi SQL karena beberapa alasan.
Kevin Vasko
1
@condiosluzverde Saya akan menyarankan Anda untuk memposting jawaban Anda sendiri. Dalam hal mengedit jawaban ini, perubahan Anda mungkin akan ditolak oleh moderator komunitas.
Andrey Morozov
16
Anda dapat menggunakan pernyataan excel berikut:
="INSERT INTO table_name(`"&$A$1&"`,`"&$B$1&"`,`"&$C$1&"`, `"&$D$1&"`) VALUES('"&SUBSTITUTE(A2,"'","\'")&"','"&SUBSTITUTE(B2,"'","\'")&"','"&SUBSTITUTE(C2,"'","\'")&"', "&D2&");"
Ini lebih baik daripada jawaban Hart CO karena memperhitungkan nama kolom dan menghilangkan kesalahan kompilasi karena tanda kutip di kolom. Kolom terakhir adalah contoh kolom nilai numerik, tanpa tanda kutip.
MS SQL, Anda dapat menggunakan wizard impor SSMS untuk mengimpor File Excel.
Hart CO
1
Untuk menambahkan detail ke @HartCO - Untuk menavigasi ke SSMS Import Wizard, klik kanan pada database, arahkan kursor ke tugas, klik "Impor Data ..." di dekat bagian bawah menu konteks. Ikuti langkah-langkah di wizard.
qxotk
2
Anda dapat menggunakan VB untuk menulis sesuatu yang akan ditampilkan ke baris file dengan menambahkan baris dalam pernyataan sql yang sesuai di sekitar data Anda. Saya pernah melakukan ini sebelumnya.
Ini dapat mengambil nilai yang dipisahkan tab dan menghasilkan skrip INSERT. Cukup salin dan tempel dan dalam opsi bawah langkah 2 centang kotak "Baris pertama adalah nama kolom"
Kemudian gulir ke bawah dan di bawah langkah 3, masukkan nama tabel Anda di kotak "Schema.Table or View Name:"
Perhatikan juga kotak centang hapus dan buat tabel, dan pastikan Anda memeriksa skrip yang dibuat sebelum menjalankannya.
Ini adalah cara tercepat dan paling andal yang pernah saya temukan.
Kueri ini saya buat untuk memasukkan data file Excel ke dalam database. Dalam id dan harga ini adalah nilai numerik dan kolom tanggal juga. Kueri ini merangkum semua jenis yang saya butuhkan. Mungkin berguna juga bagi Anda
="insert into product (product_id,name,date,price) values("&A1&",'"&B1&"','"&C1&"',"&D1&");"
Id Name Date price
7 Product 72017-01-0515:28:372008 Product 82017-01-0515:28:37409 Product 92017-01-0515:32:3150010 Product 102017-01-0515:32:313011 Product 112017-01-0515:32:319912 Product 122017-01-0515:32:3125
Anda dapat menggunakan Metode C # di bawah ini untuk menghasilkan skrip penyisipan menggunakan lembar Excel hanya Anda perlu mengimpor Paket OfficeOpenXml dari NuGet Package Manager sebelum menjalankan metode ini.
public string GenerateSQLInsertScripts(){
var outputQuery = new StringBuilder();
var tableName ="Your Table Name";if(file!=null){
var filePath =@"D:\FileName.xsls";using(OfficeOpenXml.ExcelPackage xlPackage = new OfficeOpenXml.ExcelPackage(new FileInfo(filePath))){
var myWorksheet = xlPackage.Workbook.Worksheets.First();//select the first sheet here
var totalRows = myWorksheet.Dimension.End.Row;
var totalColumns = myWorksheet.Dimension.End.Column;
var columns = new StringBuilder();//this is your columns
var columnRows = myWorksheet.Cells[1,1,1, totalColumns].Select(c => c.Value ==null? string.Empty : c.Value.ToString());
columns.Append("INSERT INTO["+ tableName +"] (");
foreach (var colrow in columnRows){
columns.Append("[");
columns.Append(colrow);
columns.Append("]");
columns.Append(",");}
columns.Length--;
columns.Append(") VALUES (");for(int rowNum =2; rowNum <= totalRows; rowNum++)//selet starting row here
{
var dataRows = myWorksheet.Cells[rowNum,1, rowNum, totalColumns].Select(c => c.Value ==null? string.Empty : c.Value.ToString());
var finalQuery = new StringBuilder();
finalQuery.Append(columns);
foreach (var dataRow in dataRows){
finalQuery.Append("'");
finalQuery.Append(dataRow);
finalQuery.Append("'");
finalQuery.Append(",");}
finalQuery.Length--;
finalQuery.Append(");");
outputQuery.Append(finalQuery);}}}return outputQuery.ToString();}
Saya harus sering membuat skrip SQL dan menambahkannya ke kontrol sumber dan mengirimkannya ke DBA. Saya menggunakan Aplikasi ExcelIntoSQL ini dari windows store https://www.microsoft.com/store/apps/9NH0W51XXQRM
Ini membuat skrip lengkap dengan "CREATE TABLE" dan INSERTS.
Saya memiliki cara yang dapat diandalkan untuk menghasilkan sisipan SQL, dan Anda dapat memodifikasi parameter parsial dalam pemrosesan. Ini sangat membantu saya dalam pekerjaan saya, misalnya, menyalin satu ratus data ke database dengan struktur yang tidak kompatibel dan jumlah bidang.
IntellIJ DataGrip , alat canggih yang saya gunakan. DG dapat dengan mudah menerima data dari kantor WPS atau MS Excel dengan kolom atau baris. setelah menyalin, DG dapat mengekspor data sebagai sisipan SQL .
insert
&update
di sini ☺Jawaban:
Saya pikir mengimpor menggunakan salah satu metode yang disebutkan sangat ideal jika itu benar-benar file besar, tetapi Anda dapat menggunakan Excel untuk membuat pernyataan penyisipan:
Di MS SQL Anda dapat menggunakan:
Untuk tidak menampilkan semua komentar '1 baris terpengaruh'. Dan jika Anda melakukan banyak baris dan kesalahan terjadi, sesekali tempatkan GO di antara pernyataan
sumber
=CONCATENATE()
tetapi menggunakan&
tanda itu mengarah pada keterbacaan yang jauh lebih baik!&
ketika saya menemukan batas parameterCONCATENATE()
beberapa waktu lalu, itu bukan masalah umum sekarang karena batasnya adalah 255 parameter, tetapi saya tidak pernah berpikir untuk kembali.Ada alat praktis yang menghemat banyak waktu di
http://tools.perceptus.ca/text-wiz.php?ops=7
Anda hanya perlu memberi makan di nama tabel, nama field dan data - tab dipisahkan dan tekan Go!
sumber
Anda dapat membuat tabel yang sesuai melalui antarmuka studio manajemen dan memasukkan data ke dalam tabel seperti yang ditunjukkan di bawah ini. Mungkin perlu beberapa waktu tergantung pada jumlah data, tetapi ini sangat berguna.
sumber
Anda dapat menggunakan pernyataan excel berikut:
Ini lebih baik daripada jawaban Hart CO karena memperhitungkan nama kolom dan menghilangkan kesalahan kompilasi karena tanda kutip di kolom. Kolom terakhir adalah contoh kolom nilai numerik, tanpa tanda kutip.
sumber
Bergantung pada database, Anda dapat mengekspor ke CSV lalu menggunakan metode impor.
MySQL - http://dev.mysql.com/doc/refman/5.1/en/load-data.html
PostgreSQL - http://www.postgresql.org/docs/8.2/static/sql-copy.html
sumber
Anda dapat menggunakan VB untuk menulis sesuatu yang akan ditampilkan ke baris file dengan menambahkan baris dalam pernyataan sql yang sesuai di sekitar data Anda. Saya pernah melakukan ini sebelumnya.
sumber
Ini alat lain yang bekerja dengan sangat baik ...
http://www.convertcsv.com/csv-to-sql.htm
Ini dapat mengambil nilai yang dipisahkan tab dan menghasilkan skrip INSERT. Cukup salin dan tempel dan dalam opsi bawah langkah 2 centang kotak "Baris pertama adalah nama kolom"
Kemudian gulir ke bawah dan di bawah langkah 3, masukkan nama tabel Anda di kotak "Schema.Table or View Name:"
Perhatikan juga kotak centang hapus dan buat tabel, dan pastikan Anda memeriksa skrip yang dibuat sebelum menjalankannya.
Ini adalah cara tercepat dan paling andal yang pernah saya temukan.
sumber
Gunakan
ConvertFrom-ExcelToSQLInsert
dari ImportExcel di PowerShell Gallerysumber
Berikut ini tautan ke Automator online untuk mengonversi file CSV ke pernyataan SQL Insert Into:
CSV-ke-SQL
sumber
Kueri ini saya buat untuk memasukkan data file Excel ke dalam database. Dalam id dan harga ini adalah nilai numerik dan kolom tanggal juga. Kueri ini merangkum semua jenis yang saya butuhkan. Mungkin berguna juga bagi Anda
sumber
Anda dapat menggunakan Metode C # di bawah ini untuk menghasilkan skrip penyisipan menggunakan lembar Excel hanya Anda perlu mengimpor Paket OfficeOpenXml dari NuGet Package Manager sebelum menjalankan metode ini.
sumber
Saya harus sering membuat skrip SQL dan menambahkannya ke kontrol sumber dan mengirimkannya ke DBA. Saya menggunakan Aplikasi ExcelIntoSQL ini dari windows store https://www.microsoft.com/store/apps/9NH0W51XXQRM Ini membuat skrip lengkap dengan "CREATE TABLE" dan INSERTS.
sumber
Saya memiliki cara yang dapat diandalkan untuk menghasilkan sisipan SQL, dan Anda dapat memodifikasi parameter parsial dalam pemrosesan. Ini sangat membantu saya dalam pekerjaan saya, misalnya, menyalin satu ratus data ke database dengan struktur yang tidak kompatibel dan jumlah bidang. IntellIJ DataGrip , alat canggih yang saya gunakan. DG dapat dengan mudah menerima data dari kantor WPS atau MS Excel dengan kolom atau baris. setelah menyalin, DG dapat mengekspor data sebagai sisipan SQL .
sumber