আমার কাছে একটি বিশাল এক্সেল ওয়ার্কশিট রয়েছে যা আমি আমার ডাটাবেসে যুক্ত করতে চাই।
আমি কি এই এক্সেল ওয়ার্কশিট থেকে একটি এসকিউএল সন্নিবেশ স্ক্রিপ্ট তৈরি করতে পারি?
আমার কাছে একটি বিশাল এক্সেল ওয়ার্কশিট রয়েছে যা আমি আমার ডাটাবেসে যুক্ত করতে চাই।
আমি কি এই এক্সেল ওয়ার্কশিট থেকে একটি এসকিউএল সন্নিবেশ স্ক্রিপ্ট তৈরি করতে পারি?
উত্তর:
আমি মনে করি উল্লিখিত একটি পদ্ধতি ব্যবহার করে আমদানি করা আদর্শ, যদি এটি সত্যই বড় ফাইল হয় তবে আপনি সন্নিবেশ বিবৃতি তৈরি করতে এক্সেল ব্যবহার করতে পারেন:
="INSERT INTO table_name VALUES('"&A1&"','"&B1&"','"&C1&"')"
এমএস এসকিউএল এ আপনি ব্যবহার করতে পারেন:
SET NOCOUNT ON
পূর্বে সমস্ত '1 টি সারি প্রভাবিত' মন্তব্যগুলি দেখানো হচ্ছে। এবং যদি আপনি প্রচুর সারি করে থাকেন এবং এটির ত্রুটি ঘটে যায় তবে প্রতি একবারে বিবৃতিগুলির মধ্যে একটি জিও রাখুন
=CONCATENATE()
কিন্তু &
সাইনটি ব্যবহার করে আরও ভাল পাঠযোগ্যতার দিকে নিয়ে যায়!
&
আমি যখন প্যারামিটার সীমাতে umpুকে পড়েছিলাম তখন আমি স্যুইচ করেছি CONCATENATE()
, সীমাটি 255 পরামিতি হওয়ায় এখন এটি কোনও সাধারণ সমস্যা নয়, তবে আমি কখনই ফিরে আসার কথা ভাবি না।
একটি সহজ সরঞ্জাম যা অনেক সময় সাশ্রয় করে
http://tools.perceptus.ca/text-wiz.php?ops=7
আপনাকে কেবল সারণির নাম, ক্ষেত্রের নাম এবং ডেটা - ট্যাব পৃথক করে গোতে আঘাত করতে হবে!
আপনি ম্যানেজমেন্ট স্টুডিও ইন্টারফেসের মাধ্যমে একটি উপযুক্ত টেবিল তৈরি করতে পারেন এবং নীচে প্রদর্শিত টেবিলের মতো ডেটা .োকাতে পারেন। ডেটার পরিমাণের উপর নির্ভর করে এটি কিছু সময় নিতে পারে তবে এটি খুব সহজ।
আপনি নিম্নলিখিত এক্সেল স্টেটমেন্ট ব্যবহার করতে পারেন:
="INSERT INTO table_name(`"&$A$1&"`,`"&$B$1&"`,`"&$C$1&"`, `"&$D$1&"`) VALUES('"&SUBSTITUTE(A2, "'", "\'")&"','"&SUBSTITUTE(B2, "'", "\'")&"','"&SUBSTITUTE(C2, "'", "\'")&"', "&D2&");"
এটি হার্ট সিওর উত্তরের চেয়ে ভাল কারণ এটি কলামের নামগুলি অ্যাকাউন্টে নেয় এবং কলামে উদ্ধৃতিগুলির কারণে সংকলন ত্রুটিগুলি থেকে মুক্তি পায়। চূড়ান্ত কলামটি কোনও উদ্ধৃতি ছাড়াই একটি সংখ্যার মান কলামের একটি উদাহরণ।
ডাটাবেসের উপর নির্ভর করে আপনি সিএসভিতে রফতানি করতে পারেন এবং তারপরে একটি আমদানি পদ্ধতি ব্যবহার করতে পারেন।
মাইএসকিউএল - http://dev.mysql.com/doc/refman/5.1/en/load-data.html
পোস্টগ্রাসএসকিউএল - http://www.postgresql.org/docs/8.2/static/sql-copy.html
এখানে আরও একটি সরঞ্জাম যা খুব ভালভাবে কাজ করে ...
http://www.convertcsv.com/csv-to-sql.htm
এটি ট্যাব দ্বারা পৃথক করা মান নিতে পারে এবং একটি INSERT স্ক্রিপ্ট তৈরি করতে পারে। কেবল কপি এবং পেস্ট করুন এবং দ্বিতীয় ধাপের নীচে বিকল্পগুলিতে "প্রথম সারিতে কলামের নামগুলি" বাক্সটি চেক করুন
তারপরে নীচে এবং 3 ধাপের নীচে স্ক্রোল করুন , "স্কিমা T টেবিল বা নাম দেখুন:" বাক্সে আপনার টেবিলের নামটি প্রবেশ করুন "
মুছে ফেলার দিকে মনোযোগ দিন এবং পাশাপাশি সারণী চেক বাক্সগুলি তৈরি করুন এবং জেনারেটেড স্ক্রিপ্টটি চালানোর আগে আপনি এটি পরীক্ষা করেছেন কিনা তা নিশ্চিত করুন।
এটি আমি খুঁজে পেয়েছি দ্রুত এবং সবচেয়ে নির্ভরযোগ্য উপায়।
পাওয়ারশেল গ্যালারীটিতে আমদানি এক্সেলConvertFrom-ExcelToSQLInsert
থেকে ব্যবহার করুন
NAME
ConvertFrom-ExcelToSQLInsert
SYNTAX
ConvertFrom-ExcelToSQLInsert [-TableName] <Object> [-Path] <Object>
[[-WorkSheetname] <Object>] [[-HeaderRow] <int>]
[[-Header] <string[]>] [-NoHeader] [-DataOnly] [<CommonParameters>]
PARAMETERS
-DataOnly
-Header <string[]>
-HeaderRow <int>
-NoHeader
-Path <Object>
-TableName <Object>
-WorkSheetname <Object>
<CommonParameters>
This cmdlet supports the common parameters: Verbose, Debug,
ErrorAction, ErrorVariable, WarningAction, WarningVariable,
OutBuffer, PipelineVariable, and OutVariable. For more information, see
about_CommonParameters (http://go.microsoft.com/fwlink/?LinkID=113216).
ALIASES
None
REMARKS
None
সিএসভি ফাইলগুলিকে এসকিউএল সন্নিবেশ করানো বিবৃতিতে রূপান্তর করতে এখানে একটি অনলাইন অটোমেটরের লিঙ্ক রয়েছে:
এই ক্যোয়ারীটি আমি ডাটাবেসে এক্সেল ফাইল ডেটা forোকানোর জন্য উত্পন্ন করেছি এবং এই আইডিতে এবং মূল্যটি হ'ল সংখ্যাসূচক মান এবং তারিখের ক্ষেত্র। এই ক্যোয়ারীটি আমার প্রয়োজনীয় সমস্ত ধরণের সংক্ষিপ্তসার জানিয়েছিল এটি আপনার পক্ষেও কার্যকর হতে পারে
="insert into product (product_id,name,date,price) values("&A1&",'" &B1& "','" &C1& "'," &D1& ");"
Id Name Date price
7 Product 7 2017-01-05 15:28:37 200
8 Product 8 2017-01-05 15:28:37 40
9 Product 9 2017-01-05 15:32:31 500
10 Product 10 2017-01-05 15:32:31 30
11 Product 11 2017-01-05 15:32:31 99
12 Product 12 2017-01-05 15:32:31 25
এক্সেল শীট ব্যবহার করে সন্নিবেশ স্ক্রিপ্টগুলি তৈরি করতে আপনি নীচের সি # পদ্ধতিটি ব্যবহার করতে পারেন কেবল পদ্ধতিটি কার্যকর করার আগে নুগেট প্যাকেজ ম্যানেজারের থেকে OfficeOpenXML প্যাকেজ আমদানি করা দরকার।
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();}
আমাকে প্রায়শই এসকিউএল স্ক্রিপ্টগুলি তৈরি করতে হত এবং তাদের উত্স নিয়ন্ত্রণে যুক্ত করে ডিবিএতে পাঠাতে হয়েছিল। আমি উইন্ডোজ স্টোর https://www.microsoft.com/store/apps/9NH0W51XXQRM থেকে এই এক্সেলআইএনএসকিউএল অ্যাপ্লিকেশনটি ব্যবহার করেছি এটি "ক্রিয়েট টেবিল" এবং ইনসার্টস সহ সম্পূর্ণ স্ক্রিপ্ট তৈরি করে।
আমার কাছে এসকিউএল সন্নিবেশকারী ব্যাটলি উত্সাহিত করার একটি নির্ভরযোগ্য উপায় রয়েছে এবং আপনি প্রক্রিয়াকরণে আংশিক পরামিতিগুলি পরিবর্তন করতে পারেন me এটি আমার কাজের ক্ষেত্রে আমাকে অনেক সহায়তা করে, উদাহরণস্বরূপ, বেমানান কাঠামো এবং ক্ষেত্রগুলি গণনা সহ ডাটাবেসে একশত ডেটা অনুলিপি করুন। আমি ব্যবহার করি এমন শক্তিশালী সরঞ্জাম ইন্টেলিজজে ডেটাগ্রিপ । ডিজি ব্যাট করে ডাব্লুপিএস অফিস বা এমএস এক্সেল থেকে কলাম বা লাইনে ডেটা পেতে পারে। অনুলিপি করার পরে, ডিজি এসকিউএল সন্নিবেশ হিসাবে ডেটা রফতানি করতে পারে ।
insert
&update
এখানে ডান ☺