mysql SQL语句导入、导出整个库,或者导入、导出某张表的sql文件

本文详细介绍MySQL数据库的导入导出方法,包括命令行方式导入导出整个数据库、特定表结构及数据等实用技巧。

导入库
    mysql -h127.0.0.1 -u用户名 -p密码 数据库名 < sqlFileName.sql
eg :mysql -h127.0.0.1 -uname -p database_name < sqlFileName.sql
命令如何使用:

     mysql:使用mysql命令

     -h:后面是紧跟着你要导入的ip:本地要么是127.0.0.1或者是localhost,或者远程公网能访问到的ip地址

     -umysql的用户名:一般我们安装上默认是root,密码要么是123或者是123456 即-uroot

     -p 此处是密码,可以不用写。整个命令输入完成之后回车,即可看到输入密码的地方,输入密码后回车即可导入

     database_name: 数据库名,就是你要往哪个数据库导入数据

    < 固定写法

    sqlFileName.sql 就是你要导入的sql文件名称(此sql文件里面既可以是整个库,也可以是某张表的sql语句)

******如果使用的是linux服务器使用的,切记不要登录到mysql的状态下去去操作。

--在使用的时候先登录mysql,清空该数据库具体语句
show database; //查看所有的数据库
drop database shops; //删库
create database shops; //创建库
eg:  linux下的导入命令

mysql -h127.0.0.1 -uroot -p shops < /data/server/shops.sql
eg:windows下的导入命令

说明:我要往本机127.0.0.1的shops库导入数据,我mysql的用户名是root密码没有填写,对应的导入的sql是当前路径下的cms_tag.sql(sql文件的路径根据自己的路径去输入)。

然后回车会看到输入密码的提示:将赋值的密码shift+insert复制到密码处(看不到输入的密码),再点回车。系统就会自动执行sql语句的导入

❤1、导入某张表的结构和数据(sqlFile里面直接导出的时候导出对应的表结构和数据即可)

   mysql -h127.0.0.1 -uroot -p databasename < sqlFile.sql
eg:mysql -h127.0.0.1 -uroot -p my_new_project < cms_tag.sql
-- 回车输入密码
 

导出库
mysqldump  -umj -p -h 127.0.0.1  databasename >newfile.sql;
命令如何使用:

     mysqldump:使用mysql导出的命令

     -h 后面是紧跟着你要导入的ip:本地要么是127.0.0.1或者是localhost

     -umysql的用户名:一般我们安装上默认是root,密码要么是123或者是123456 即-uroot

     -p 此处是密码,可以不用写。整个命令输入完成之后回车,即可看到输入密码的地方,输入密码后回车即可导入

     database_name: 数据库名,就是你要往哪个数据库导入数据

    > 固定写法

    sqlFileName.sql 就是你要导出的sql文件名称

其他导入方法

    ❤1、导出数据库库dbname某张表(test)结构

 
      mysqldump -u用户名 -p密码 -d dbname test>db.sql;
  eg: mysqldump -uroot -p -d shop goods>goods.sql; 
   --回车输入密码
    ❤2、导出数据库dbname所有表结构及表数据(不加-d)

    mysqldump -u用户名 -p密码  dbname >db.sql;
eg:mysqldump -uroot -p  shop >db.sql;
   --回车输入密码
    ❤3、导出数据库为dbname某张表(test)结构及表数据(不加-d)

    mysqldump -u用户名 -p密码 dbname test>db.sql;
eg: mysqldump -uroot -p shop test>test.sql;
   --回车输入密码
  ❤4、导出数据中dbname多张表(test1,test2,test3)结构及表数据用用空格隔开

    mysqldump -u用户名 -p密码 dbname test1 test2 test3>db.sql;
eg: mysqldump -uroot -p shop test1 test2 test3>db.sql;
   --回车输入密码
   ❤5、导出整个root下的用户所有库(导出的位置是在你当前路径下)

   mysqldump -uroot -p --all-databases > sqlAllFile.sql
eg:mysqldump -uroot -p --all-databases > sqlAllFile.sql
-- 回车输入密码
注意:all前面是两个减号(--),databases前面是一个减号(-)   --all-databases
————————————————
原文链接:https://blog.youkuaiyun.com/www1056481167/article/details/108049671

是的,**`mysqldump` 导出的是 SQL 文件**,并且它支持非常灵活的导出方式:✅ **可以按数据、按、甚至按条件导出数据**,并生成标准的 `.sql` 文件,可用于后续恢复(导入)。 --- ## ✅ 1. `mysqldump` 导出的是 SQL 文件吗? **是的!** `mysqldump` 生成的是纯文本的 SQL 脚本文件,包含: - `CREATE DATABASE / CREATE TABLE` 语句 - `INSERT` 语句(插入数据) - 存储过程、函数、触发器(可选) - 权限(可选) ### 示例导出命令: ```bash mysqldump -u 用户名 -p 数据名 > 导出文件.sql ``` ### 示例输出内容(片段): ```sql -- 导出SQL 文件内容示例 CREATE DATABASE IF NOT EXISTS `mydb`; USE `mydb`; DROP TABLE IF EXISTS `users`; CREATE TABLE `users` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(50) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB; INSERT INTO `users` VALUES (1,'Alice'),(2,'Bob'); ``` 📌 所以这个 `.sql` 文件可以用 `mysql` 命令直接导入回来。 --- ## ✅ 2. 可以按 **** 导出导入 吗? **可以!这是最常见用法。** ### 📦 按数据导出: ```bash mysqldump -u root -p mydatabase > mydatabase.sql ``` ### 🔁 导入方法: ```bash mysql -u root -p mydatabase < mydatabase.sql ``` > ⚠️ 注意:如果数据不存在,需要先创建: > > ```sql > CREATE DATABASE IF NOT EXISTS mydatabase; > ``` --- ## ✅ 3. 可以按 **** 导出导入 吗? **当然可以!** ### 📦 按导出(指定一或多): ```bash # 导出 mysqldump -u root -p mydatabase users > users.sql # 导出 mysqldump -u root -p mydatabase users orders products > backup_tables.sql ``` ### 🔁 导入: ```bash mysql -u root -p mydatabase < users.sql ``` > ✅ 这会重建结构并插入数据。 --- ## ✅ 4. 高级用法:只导出结构 or 只导出数据 | 目标 | 命令 | |------|------| | ❌ 只导出结构(不带数据) | `mysqldump -u root -p --no-data mydatabase > schema_only.sql` | | ❌ 只导出数据(不带 CREATE TABLE) | `mysqldump -u root -p --no-create-info mydatabase users > data_only.sql` | | ✅ 导出结构 + 数据(默认行为) | 正常使用即可 | --- ## ✅ 5. 其他实用选项 | 选项 | 说明 | |------|------| | `--single-transaction` | 保证一致性(适用于 InnoDB),避免锁 | | `--routines` | 包含存储过程和函数 | | `--triggers` | 包含触发器(默认开启) | | `--events` | 包含事件调度器 | | `--add-drop-table` | 添加 `DROP TABLE IF EXISTS` | | `--quick` | 快速导出,防止内存溢出(大必备) | | `--lock-tables=false` | 不锁(用于并发读写) | ### 推荐完整备份命令示例: ```bash mysqldump -u root -p \ --single-transaction \ --routines \ --triggers \ --events \ --databases mydatabase > full_backup.sql ``` --- ## ✅ 6. 如何导入?详细步骤 ### 方法一:在 shell 中使用 `mysql` 命令 ```bash mysql -u root -p < mydatabase.sql ``` 或者指定数据: ```bash mysql -u root -p mydatabase < mydatabase.sql ``` ### 方法二:进入 MySQL 客户端执行 ```sql source /path/to/mydatabase.sql; ``` --- ## ✅ 7. 注意事项 | 项目 | 建议 | |------|------| | 🔐 权限 | 确保用户有 `SELECT`, `SHOW VIEW`, `LOCK TABLES` 等权限 | | 💾 大文件导入 | 使用 `mysql -u root -p --max_allowed_packet=1G < file.sql` | | ⏱ 性能优化 | 导入前关闭唯一性检查(可选): ```sql SET unique_checks=0; SET foreign_key_checks=0; -- 导入后恢复 SET unique_checks=1; SET foreign_key_checks=1; ``` | --- ## ✅ 总结:功能一览 | 功能 | 是否支持 | 命令示例 | |------|----------|----------| | 导出SQL 文件 | ✅ | `mysqldump db > file.sql` | | 按数据导出 | ✅ | `mysqldump mydb > mydb.sql` | | 按导出 | ✅ | `mysqldump mydb table1 > t1.sql` | | 按条件导出数据 | ✅ | `mysqldump -w "id > 100" db tbl > data.sql` | | 只导结构 | ✅ | `--no-data` | | 只导数据 | ✅ | `--no-create-info` | | 支持导入恢复 | ✅ | `mysql db < file.sql` | --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值