首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

mysql 怎么批量导入数据

MySQL批量导入数据可以通过多种方式实现,以下是几种常见的方法:

1. 使用 LOAD DATA INFILE 命令

这是MySQL提供的一个非常高效的导入数据的命令,可以直接从文件中批量导入数据到数据库表中。

语法:

代码语言:txt
复制
LOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 'file_name'
[REPLACE | IGNORE]
INTO TABLE tbl_name
[CHARACTER SET charset_name]
[{FIELDS | COLUMNS}
    [TERMINATED BY 'string']
    [[OPTIONALLY] ENCLOSED BY 'char']
    [ESCAPED BY 'char']
]
[LINES
    [STARTING BY 'string']
    [TERMINATED BY 'string']
]
[IGNORE number LINES]
[(col_name_or_user_var,...)]
[SET col_name = expr,...]

示例: 假设有一个名为 data.txt 的文件,内容如下:

代码语言:txt
复制
1,John,Doe
2,Jane,Smith

要将这些数据导入到 users 表中,可以使用以下命令:

代码语言:txt
复制
LOAD DATA INFILE 'data.txt'
INTO TABLE users
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
(id, first_name, last_name);

2. 使用 mysqlimport 工具

mysqlimport 是一个命令行工具,可以用来导入文本文件到MySQL数据库。

语法:

代码语言:txt
复制
mysqlimport [options] database textfile

示例:

代码语言:txt
复制
mysqlimport -u username -p database_name data.txt

3. 使用 INSERT INTO ... SELECT 语句

如果你已经有一个数据库表中的数据需要导入到另一个表中,可以使用 INSERT INTO ... SELECT 语句。

示例: 假设有两个表 source_tabledestination_table,结构相同,可以使用以下命令:

代码语言:txt
复制
INSERT INTO destination_table (col1, col2, col3)
SELECT col1, col2, col3 FROM source_table;

4. 使用编程语言批量插入

你也可以使用编程语言(如Python、PHP等)来批量插入数据。

Python示例:

代码语言:txt
复制
import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  password="yourpassword",
  database="mydatabase"
)

mycursor = mydb.cursor()

sql = "INSERT INTO customers (name, address) VALUES (%s, %s)"
val = [
  ('John', 'Highway 21'),
  ('Peter', 'Lowstreet 4'),
  ('Amy', 'Apple st 652'),
  ('Hannah', 'Mountain 21'),
  ('Michael', 'Valley 345'),
  ('Sandy', 'Ocean blvd 2'),
  ('Betty', 'Green Grass 1'),
  ('Richard', 'Sky st 331'),
  ('Susan', 'One way 98'),
  ('Vicky', 'Yellow Garden 2'),
  ('Ben', 'Park Lane 38'),
  ('William', 'Central st 954'),
  ('Chuck', 'Main Road 989'),
  ('Viola', 'Sideway 1633')
]

mycursor.executemany(sql, val)

mydb.commit()

print(mycursor.rowcount, "records inserted.")

应用场景

  • 数据迁移:将数据从一个数据库迁移到另一个数据库。
  • 数据备份和恢复:定期备份数据并在需要时恢复。
  • 批量数据更新:一次性更新大量数据。

常见问题及解决方法

  1. 文件路径错误:确保文件路径正确,并且MySQL服务器有权限访问该文件。
  2. 字符集问题:确保文件和数据库表的字符集一致,避免乱码问题。
  3. 权限问题:确保执行导入操作的用户具有足够的权限。

参考链接

通过以上方法,你可以高效地将大量数据批量导入到MySQL数据库中。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

7分0秒

mysql数据导入进度查看

6分48秒

MySQL教程-07-导入初始化数据

6分56秒

使用python将excel与mysql数据导入导出

6分50秒

MySQL教程-73-数据库数据的导入导出

12分14秒

109、全文检索-ElasticSearch-入门-删除数据&bulk批量操作导入样本测试数据

12分29秒

47-数据导入-BinlogLoad-原理&配置MySQL端

5分44秒

10亿条数据如何快速导入MySQL中?

14分0秒

mysql如何并发导入? python+shell实现mysql并发导入, 性能提升200%

21分36秒

50.尚硅谷_MySQL高级_批量插入数据脚本.avi

21分36秒

50.尚硅谷_MySQL高级_批量插入数据脚本.avi

11分47秒

62_Hudi集成Flink_写入方式_离线批量导入

27分34秒

Python MySQL数据库开发 19 Mysql数据库导入导出和授权 学习猿地

领券