{"id":901,"date":"2023-02-16T06:06:09","date_gmt":"2023-02-16T06:06:09","guid":{"rendered":"https:\/\/www.tools.keywordfinder.us\/?page_id=901"},"modified":"2023-02-16T06:06:09","modified_gmt":"2023-02-16T06:06:09","slug":"csv-to-sql","status":"publish","type":"page","link":"https:\/\/tools.billionsideas.com\/fr\/csv-to-sql\/","title":{"rendered":"CSV To SQL"},"content":{"rendered":"<div style=\"height:70px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column has-base-3-background-color has-background is-layout-flow wp-block-column-is-layout-flow\">\n<h1>CSV To SQL Converter<\/h1><section><br>\n    <h2>Separator<\/h2>\n    <div id=\"separators_wrapper\">\n        <input type=\"radio\" name=\"separator\" value=\",\" id=\"coma_separator\" checked=\"\">\n        <label for=\"coma_separator\">Coma (,)<\/label>\n        <input type=\"radio\" name=\"separator\" value=\";\" id=\"semicolon_separator\">\n        <label for=\"semicolon_separator\">Semicolon (;)<\/label>\n    <\/div>\n    <h2>Input<\/h2>\n    <textarea id=\"input\"><\/textarea>\n    <div id=\"convert_button_wrapper\"><div id=\"convert_button\">Convert<\/div><\/div>\n    <textarea id=\"output\"><\/textarea>\n    <h2>Output<\/h2>\n<br><hr>\n<div id=\"description\">\n    <h2>Instruction<\/h2>\n    <p>This converter converts .csv files with &#8220;,&#8221; or &#8220;;&#8221; -separator to a part of SQL query next format:<br>\n<\/p><pre>(column1, column2, ..., columnk) VALUES\n(value1, value2, ..., valuek),\n(value1, value2, ..., valuek),\n(value1, value2, ..., valuek),\n...<\/pre>\n    So input data should have next format:\n<pre>column1,column2,...,columnk\nvalue1,value2,...,valuek\nvalue1,value2,...,valuek\nvalue1,value2,...,valuek\n...<\/pre>\n    or:\n<pre>column1;column2;...;columnk\nvalue1;value2;...;valuek\nvalue1;value2;...;valuek\nvalue1;value2;...;valuek\n...<\/pre>\n    The main advantage of this script is that it gives you ready sql query part to load it to db. It is simple:\n    <pre>\"INSERT INTO table\" + csv_to_sql(input, separator)<\/pre>\n    Also this script can convert values, which are contains &#8220;,&#8221;.<br>\n    To add this feature to your project simply copy csv_to_sql function from JS block.<br>\n    <\/div><\/section>\n\n\n\n\n<script>\ndocument.getElementById(\"convert_button\").addEventListener(\"click\", function(){\n    let separator = document.getElementById(\"coma_separator\").checked ? \",\" : \";\";\n    let input = document.getElementById(\"input\").value.split(\"\\n\");\n    let output = csv_to_sql(input, separator);\n    document.getElementById(\"output\").innerHTML = output;\n  });\n  function csv_to_sql(input, separator)\n  {\n      let output = [];\n  \n      for(let i = 0; i < input.length; i++)\n      {\n          let item = input[i].trim();\n          let cells = item.split(separator);\n          let startIndex = 0;\n          let endIndex = 0;\n          for(let j = 0; j < cells.length; j++)\n          {\n              if(cells[j][0] == \"\\\"\")\n                  startIndex = j;\n              else if(cells[j][cells[j].length-1] == \"\\\"\")\n                  {\n                      endIndex = j;\n                      let replaceWith = cells.slice(startIndex, endIndex+1).join(separator);\n                      cells.splice(startIndex, endIndex-startIndex+1, replaceWith);\n                  }\n          }\n  \n          for(let j = 0; j < cells.length; j++)\n          {\n            if(i > 0)\n              cells[j] = cells[j] != \"\" ? cells[j][0] != \"\\\"\" ? \"\\\"\" + cells[j].replace(\/[\"]g\/, \"\\\\\")+\"\\\"\" : cells[j] : \"NULL\";\n            else\n              cells[j] = cells[j] != \"\" ? cells[j] : \"NULL\";\n          }\n          \n          output.push(cells.join(\",\"));\n      }\n  \n      let columns = output.splice(0, 1);\n  \n      return \"(\" + columns.join(\",\") + \") VALUES \\n(\" + output.join(\"),\\n(\") + \")\";\n  }\n<\/script>\n<style>\n\nbody{text-align:center}\n\n\/* Button Styles *\/\nbutton, .button, #button, btn, .btn, #btn, downloadlink,  #download-button, #button-copy, button-copy, copy-button, #copy-button, #copy, copy, #download-html-button{\n  display: inline-block;\n  padding: 12px 24px;\n  font-size: 16px;\n  font-weight: 500;\n  color: #ffffff;\n  text-transform: uppercase;\n  text-decoration: none;\n  text-align: center;\n  border-radius: 30px;\n  background-image: linear-gradient(to right, #0088FF, #0088FF);\n  border: 3px solid #fff;\n  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.2);\n  transition: all 0.3s ease;\n  margin:0 auto;\n  margin-top:11px;\n  margin-bottom:11px;\n  text-shadow: 2px 2px 4px #333;\n}\n\n\/* Button Hover State *\/\nbutton:hover {\n  background-image: linear-gradient(to right, #FF1493, #FF1493);\n  border: 3px solid #ffffff;\n  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);\n}\n\n -input{\n  width: 25%;\n  height: 100%;\n  padding: 5px;\n  font-size: 16px;\n  font-family: Arial, sans-serif;\n  border: 2px solid;\n  border-image: linear-gradient(to right, #06c, #f90) 1;\n  border-radius: 5px;\n  box-shadow: 2px 2px 5px #ccc;\n  transition: all 0.2s ease-in-out;\n  margin-top:10px;margin-bottom:10px;\n  margin:0 auto;\n}\n\ninput[type=file]::file-selector-button {\n  display: inline-block;\n  padding: 1.0rem 1rem;\n  font-size: 1.125rem;\n  font-weight: bold;\n  color: #fff;\n  text-align: center;\n  text-transform: uppercase;\n  background-color: #0088FF;\n  border-radius: 0rem;\n  cursor: pointer;\n  transition: background-color 0.2s ease-in-out;\n  border: 0px solid #fff;\n  width:100%;\n  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.2);\n}\n\ninput[type=file]::file-selector-button:hover {\n  background-color: #5b52d6;\n}\n\ninput[type=file]::file-selector-button:active {\n  background-color: #4a41ad;\n}\n\ninput[type=file]::file-selector-button:focus {\n  outline: none;\n  box-shadow: 0 0 0 2px #fff, 0 0 0 4px #6c63ff;\n}\n\ninput[type=file]::file-selector-button::before {\n  content: \"Select File\";\n}\n\ninput[type=file]::file-selector-button::before,\ninput[type=file]::file-selector-button::before {\n  content: \"\\2193 Browse Files\";\n}\n\n\ninput[type=\"file\"] {\n  display: yes;\n}\ninput[type=\"text\"], input[type=\"url\"] {\n  width: 80%;\n  height: 50px;\n  padding: 5px;\n  font-size: 16px;\n  font-family: Arial, sans-serif;\n  border: 2px solid;\n  border-image: linear-gradient(to right, #06c, #f90) 1;\n  border-radius: 5px;\n  box-shadow: 2px 2px 5px #ccc;\n  transition: all 0.2s ease-in-out;\n  margin-top:10px;margin-bottom:10px;\n  margin:0 auto;\n}\ninput[type=\"number\"], select {\n  width: 30%;\n  height: 50px;\n  padding: 5px;\n  font-size: 16px;\n  font-family: Arial, sans-serif;\n  border: 2px solid;\n  border-image: linear-gradient(to right, #06c, #f90) 1;\n  border-radius: 5px;\n  box-shadow: 2px 2px 5px #ccc;\n  transition: all 0.2s ease-in-out;\n  margin-top:10px;margin-bottom:10px;\n  margin:0 auto;\n}\n\ntextarea {\n  width: 100%;\n  height: 170px;\n  padding: 10px;\n  font-size: 16px;\n  font-family: Arial, sans-serif;\n  border: 2px solid;\n  border-image: linear-gradient(to right, #06c, #f90) 1;\n  border-radius: 5px;\n  box-shadow: 2px 2px 5px #ccc, -2px -2px 5px #ccc;  \n  transition: all 0.2s ease-in-out;\n  margin-top:10px;margin-bottom:10px;\n  margin:0 auto;\n}\n\ntextarea:hover {\n  border-color: #06c;\n  box-shadow: 2px 2px 10px #06c;\n}\n\ntextarea:focus {\n  outline: none;\n  border-color: #06c;\n  box-shadow: 2px 2px 10px #06c;\n}\n\ncanvas, #image-container, .img, #img, image, .image, #image, #convertedImage, #preview-image {\n  border: 5px solid;\n  border-image: linear-gradient(to bottom, #007bff, #00f260);\n  border-image-slice: 1;\n  box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.3);\n  margin-top:10px;margin-bottom:10px;\n  width:90%;\n  margin:0 auto;padding:15px;\n\n}\n\n#image-container img {\n  max-width: 100%;\n  }\n\ncode, pre, .result, output, #output, .output {\n  font-family: Monaco, Consolas, \"Andale Mono\", \"DejaVu Sans Mono\", monospace;\n  font-size: 0.9em;\n  color: #333;\n  background-color: #f9f9f9;\n  padding: 0.2em 0.4em;\n  border: 2px solid;\n  border-image: linear-gradient(to right, #06c, #f90) 1;\n  border-radius: 5px;\n  box-shadow: 2px 2px 5px #ccc, -2px -2px 5px #ccc;  \n  transition: all 0.2s ease-in-out;\n  white-space: pre-wrap;\n  margin-top:10px;margin-bottom:10px;\n  margin:0 auto;\n  width:100%;\n  padding:15px;\n\n}\n\n\ninput[type=\"range\"] {\n  -webkit-appearance: none;\n  width: 80%;\n  background: transparent;\n  height: 10px;\n  border-radius: 5px;\n  outline: none;\n  padding: 0;\n  margin: 0;\n  box-shadow: inset 0 0 5px #333;\n  transition: box-shadow 0.2s;\n  margin-top:10px;\n\n}\n\ninput[type=\"range\"]:focus {\n  box-shadow: inset 0 0 5px #888;\n}\n\ninput[type=\"range\"]::-webkit-slider-thumb {\n  -webkit-appearance: none;\n  height: 20px;\n  width: 20px;\n  border-radius: 50%;\n  background: #4CAF50;\n  cursor: pointer;\n  transition: background 0.2s;\n  margin-top:-5px;\n}\n\ninput[type=\"range\"]::-webkit-slider-thumb:hover {\n  background: #3e8e41;\n}\n\ninput[type=\"range\"]::-webkit-slider-runnable-track {\n  height: 10px;\n  background: #ddd;\n  border-radius: 5px;\n  border: none;\n}\ninput[type=\"checkbox\"] {\n  appearance: none;\n  width: 45px;\n  height: 25px;\n  background: transparent;\n  border: 2px solid;\n  border-image: linear-gradient(to right, #06c, #f90) 1;  border-radius: 5px;\n  margin: 10px;\n  outline: none;\n  cursor: pointer;\n  position: relative;\n}\n\ninput[type=\"checkbox\"]:before {\n  content: \"\";\n  width: 15px;\n  height: 15px;\n  background: #D209A4;\n  border-radius: 100px;\n  position: absolute;\n  left: 2px;\n  \n  top: 3px;\n  transition: all 0.2s;\n}\n\ninput[type=\"checkbox\"]:checked:before {\n  transform: translateX(20px);\n}\n\ninput[type=\"checkbox\"]:focus {\n  border: 2px solid #888;\n}\ninput[type=\"radio\"] {\n  appearance: none;\n  width: 20px;\n  height: 20px;\n  border-radius: 50%;\n  border: 2px solid #333;\n  margin-right: 10px;\n  outline: none;\n  position: relative;\n  cursor: pointer;\n}\n\ninput[type=\"radio\"]:after {\n  content: \"\";\n  width: 10px;\n  height: 10px;\n  border-radius: 50%;\n  background: #333;\n  position: absolute;\n  top: 5px;\n  left: 5px;\n  opacity: 0;\n  transition: all 0.2s;\n}\n\ninput[type=\"radio\"]:checked:after {\n  opacity: 1;\n}\n\ninput[type=\"radio\"]:focus {\n  border-color: #888;\n}\n\n\ninput[type=\"radio\"] {\n  display: inline-block;\n  margin-right: 10px;\n  vertical-align: middle;\n}\n\nlabel {\n  display: block; \/* makes each label appear on a new line *\/\n  font-size: 16px;\n  font-weight: bold;\n  margin-bottom: 5px; \/* adds a small gap below each label *\/\n  color:#55555e;\n  margin-top:11px;margin-bottom:11px;\n}\n\ninput[type=\"color\"]{width:17.2%;}\n.form-control {\n    display: block;\n    margin:0 auto;\n    width: 70%;\n    padding: 0.375rem 0.75rem;\n    font-size: 1rem;\n    font-weight: 400;\n    line-height: 1.5;\n    color: #212529;\n    background-color: #fff;\n    background-clip: padding-box;\n    border: 1px solid #ced4da;\n    -webkit-appearance: none;\n    -moz-appearance: none;\n    appearance: none;\n    border-radius: 0.25rem;\n    transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;\n}\n\n<\/style>\n\n<\/div>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>CSV To SQL Converter Separator Coma (,) Semicolon (;) Input Convert Output Instruction This converter converts .csv files with &#8220;,&#8221; or &#8220;;&#8221; -separator to a part of SQL query next format: (column1, column2, &#8230;, columnk) VALUES (value1, value2, &#8230;, valuek), (value1, value2, &#8230;, valuek), (value1, value2, &#8230;, valuek), &#8230; So input data should have next &#8230; <a title=\"CSV To SQL\" class=\"read-more\" href=\"https:\/\/tools.billionsideas.com\/fr\/csv-to-sql\/\" aria-label=\"En savoir plus sur CSV To SQL\">Lire plus<\/a><\/p>","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_kad_blocks_custom_css":"","_kad_blocks_head_custom_js":"","_kad_blocks_body_custom_js":"","_kad_blocks_footer_custom_js":"","footnotes":""},"class_list":["post-901","page","type-page","status-publish"],"taxonomy_info":[],"featured_image_src_large":false,"author_info":{"display_name":"Billions Ideas","author_link":"https:\/\/tools.billionsideas.com\/fr\/author\/loginbillionsideas-com\/"},"comment_info":0,"jetpack-related-posts":[],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/tools.billionsideas.com\/fr\/wp-json\/wp\/v2\/pages\/901","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tools.billionsideas.com\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/tools.billionsideas.com\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/tools.billionsideas.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/tools.billionsideas.com\/fr\/wp-json\/wp\/v2\/comments?post=901"}],"version-history":[{"count":0,"href":"https:\/\/tools.billionsideas.com\/fr\/wp-json\/wp\/v2\/pages\/901\/revisions"}],"wp:attachment":[{"href":"https:\/\/tools.billionsideas.com\/fr\/wp-json\/wp\/v2\/media?parent=901"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}