导入csv文件到mysql数据库

本文介绍了一种当CSV文件中每行记录的列数少于数据库表时的有效解决方案,特别是对于包含自增字段的情况。通过使用特定的LOAD DATA INFILE语句,可以轻松地将数据从CSV文件导入到数据库中。

当csv文件中的每一行记录的列数小于数据库表时,以下语句将十分有用:

 

load data infile "/tmp/appleAppV2_search_day_20110525.csv" into table apple_search_log fields terminated by ';' lines terminated by '/n' (apptypeId,keyword,searchTime,model) ;

蓝色字部分是亮点。如果数据表包含自增字段,例如自增的ID, 这个语句将十分有用。

要实现仅通过前端网页即可导入CSV文件MySQL数据库的方法,我们可以使用JavaScript和PHP来实现。具体步骤如下: 1. 前端页面上传CSV文件并将其转换为可读取的格式(如JSON)。 2. JavaScript将转换后的数据发送到PHP脚本中。 3. PHP脚本将数据转换为MySQL数据库可识别的格式(如SQL插入语句)。 4. PHP脚本将转换后的数据插入到MySQL数据库中。 下面是一个简单的完整代码举例: index.html代码: ```html <!DOCTYPE html> <html> <head> <title>CSV导入MySQL数据库</title> </head> <body> <h2>上传CSV文件</h2> <form enctype="multipart/form-data"> <input type="file" id="csvfile" name="csvfile"> <br><br> <button type="button" onclick="upload()">上传</button> </form> <script> function upload() { var csvfile = document.getElementById('csvfile').files[0]; if (!csvfile) { alert('请选择CSV文件!'); return; } var reader = new FileReader(); reader.readAsText(csvfile, 'UTF-8'); reader.onload = function (evt) { var csv_data = evt.target.result; var xhr = new XMLHttpRequest(); xhr.open('POST', 'upload.php', true); xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded'); xhr.onreadystatechange = function () { if (xhr.readyState == 4 && xhr.status == 200) { alert(xhr.responseText); } }; xhr.send('csv_data=' + encodeURIComponent(csv_data)); } } </script> </body> </html> ``` upload.php代码: ```php <?php $csv_data = $_POST['csv_data']; if (!$csv_data) { die('没有上传文件!'); } $data = str_getcsv($csv_data, "\n"); $header = str_getcsv($data[0]); $values = array(); for ($i = 1; $i < count($data); $i++) { $row = str_getcsv($data[$i]); $values[] = "('" . implode("', '", $row) . "')"; } $sql = "INSERT INTO mytable (" . implode(", ", $header) . ") VALUES " . implode(", ", $values); $servername = "localhost"; $username = "root"; $password = "password"; $dbname = "mydatabase"; $conn = new mysqli($servername, $username, $password, $dbname); if ($conn->connect_error) { die("连接失败: " . $conn->connect_error); } if ($conn->query($sql) === TRUE) { echo "成功导入数据!"; } else { echo "导入数据失败: " . $conn->error; } $conn->close(); ?> ``` 在上面的代码中,我们使用了JavaScript和PHP来实现CSV文件的上传和导入。在上传CSV文件时,我们使用了POST方法,并将文件数据作为参数发送到PHP脚本中。在PHP脚本中,我们将CSV文件数据转换为MySQL数据库可识别的格式,然后将其插入到MySQL数据库中。最后,我们将处理结果返回给前端页面。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值