mysqldump
命令或source
命令。MySQL导入数据库可以通过多种方式实现,以下是几种常见的方法:
1、使用 mysql 命令导入
语法格式:mysql u your_username p h your_host P your_port D your_database < yourfile.sql
。
示例:假设要导入的 SQL 文件是runoob.sql
,可以使用以下命令:mysql uroot p123456 < runoob.sql
。
注意事项:SQL 文件中包含创建数据库的语句,确保在执行导入之前数据库已经存在;如果文件包含创建表的语句,确保表不存在或者是空的,以免导入数据时发生冲突。
2、使用 source 命令导入
步骤:先登录到 MySQL 终端,然后选择目标数据库,设置编码,最后使用 source 命令导入备份数据库。
示例:
mysql> create database abc; mysql> use abc; mysql> set names utf8; mysql> source /home/abc/abc.sql;
优点:可以在 MySQL 命令行中直接执行,无需退出 MySQL 并使用其他命令。
3、使用 LOAD DATA INFILE 语句导入数据
适用场景:从文本文件中读取数据并插入到表中。
示例:将当前目录中的dump.txt
文件中的数据插入到mytbl
表中:
mysql> LOAD DATA LOCAL INFILE 'dump.txt' INTO TABLE mytbl;
自定义列值分隔符和行尾标记:可以明确指出列值的分隔符和行尾标记,
mysql> LOAD DATA LOCAL INFILE 'dump.txt' INTO TABLE mytbl > FIELDS TERMINATED BY ':' > LINES TERMINATED BY 'r ';
4、使用 mysqlimport 导入数据
功能:提供了 LOAD DATA INFILE 语句的一个命令行接口。
示例:从dump.txt
文件中将数据导入到mytbl
数据表中:
$ mysqlimport u root p local mytbl dump.txt
常用选项:
d or delete
:新数据导入前删除表中的所有信息。
f or force
:不管是否遇到错误,强制继续插入数据。
i or ignore
:跳过或忽略那些有相同唯一关键字的行。
l or locktables
:数据被插入之前锁住表,防止更新数据库时用户的查询和更新受到影响。
r or replace
:替代表中有相同唯一关键字的记录。
fieldsenclosedby=char
:指定文本文件中数据的记录时以什么括起。
5、使用图形化工具导入
Navicat for MySQL:打开 Navicat,连接到 MySQL 服务器,选择目标数据库,运行 SQL 文件进行导入。
MySQL Workbench:新建一个数据库,点击指示图标或 File 栏里面的 Open SQL Script,选中路径导入 SQL 文件,添加指定库名的命令并点击运行。
SQLyog:打开 SQLyog 并登录至 MySQL,在工具–>执行 SQL 脚本中选择 SQL 脚本,点击执行即可。
MySQL 提供了多种导入数据库的方法,包括命令行导入、source 命令导入、LOAD DATA INFILE 语句导入、mysqlimport 导入以及图形化工具导入等,选择合适的方法取决于具体需求和使用的工具。
序号 | 步骤 | 操作描述 | 示例 |
1 | 连接MySQL服务器 | 使用MySQL客户端工具(如phpMyAdmin、MySQL Workbench或命令行工具)连接到MySQL服务器。 | mysql u root p |
2 | 选择数据库 | 使用USE 语句选择要导入数据的数据库。 | USE mydatabase; |
3 | 准备导入文件 | 确保导入文件(通常是.sql文件)已经准备好,并且其路径正确。 | mydatabase.sql |
4 | 使用LOAD DATA语句导入数据 | 使用LOAD DATA INFILE 语句将数据从文件导入到数据库表中。 | LOAD DATA INFILE '/path/to/mydatabase.sql' INTO TABLE mytable; |
5 | 指定字段分隔符 | 使用FIELDS TERMINATED BY 指定字段之间的分隔符。 | FIELDS TERMINATED BY ',' |
6 | 指定行分隔符 | 使用LINES TERMINATED BY 指定行之间的分隔符。 | `LINES TERMINATED BY ‘ |
‘` |
| 7 | 可选:指定编码 | 如果文件使用不同的编码,可以使用CHARSET
指定编码。 |CHARSET='utf8mb4'
|
| 8 | 可选:指定忽略列 | 使用IGNORE
关键字忽略某些列。 |IGNORE 1
|
| 9 | 完成导入 | 如果一切顺利,导入操作将完成,并显示成功消息。 | 无需额外操作 |
| 10 | 检查数据 | 查询导入的表以确认数据是否正确导入。 |SELECT * FROM mytable;
|
以下是一个使用LOAD DATA INFILE
语句导入数据的示例:
USE mydatabase; LOAD DATA INFILE '/path/to/mydatabase.sql' INTO TABLE mytable FIELDS TERMINATED BY ',' LINES TERMINATED BY ' ' CHARSET='utf8mb4';
请根据实际情况替换/path/to/mydatabase.sql
和mydatabase
、mytable
为你的文件路径和数据库及表名。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1191509.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复