基础信息介绍

测试库:test;

测试表:user;

user表定义:

CREATE TABLE `user` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`name` char(30) NOT NULL,

`age` int(11) NOT NULL,

`gender` tinyint(1) DEFAULT '1' COMMENT '性别:1男;2女',

`addr` char(30) NOT NULL,

`status` tinyint(1) DEFAULT '1',

PRIMARY KEY (`id`),

KEY `idx` (`name`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4

希望一次性执行的命令如下:

# 指定数据库

use test;

# 清空user表

truncate table user;

# 插入若干条数据

insert into user

(id, name, age, gender, addr, status)

values

(1, 'a', 1, 1, 'beijing', 1),

(2, 'a', 1, 1, 'beijing', 1),

(3, 'a', 1, 1, 'beijing', 1),

(4, 'a', 1, 1, 'beijing', 1),

(5, 'a', 1, 1, 'beijing', 1);

# 删除一条数据

delete from user where id=4;

# 修改一条数据

update user set status=0 where id=5;

# 查看所有记录

select * from user;

接下来就用下面列举的3种方式,在命令行中一次性执行上面的sql。

方式1:登录mysql后source

将要执行的sql保存到一个文件中,我这里将其命名为command.sql,命名随意,后缀.sql是为了便于识别是sql代码,也可以执行其他的比如.txt或者.cmd,与此同时我将command.sql保存到/tmp目录下。

登录进入mysql,然后使用source命令,参数就是保存sql的文件绝对路径,sql文件的保存路径没有特殊要求,只要通过路径找到文件即可;

下面是示例:

# 登录到mysql

$ mysql -uroot -p

Enter password:

......

# 使用source命令,指定sql文件所在的绝对路径

mysql> source /tmp/command.sql

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A

Database changed

Query OK, 0 rows affected (0.00 sec)

Query OK, 5 rows affected (0.00 sec)

Records: 5 Duplicates: 0 Warnings: 0

Query OK, 1 row affected (0.00 sec)

Query OK, 1 row affected (0.00 sec)

Rows matched: 1 Changed: 1 Warnings: 0

+----+------+-----+--------+---------+--------+

| id | name | age | gender | addr | status |

+----+------+-----+--------+---------+--------+

| 1 | a | 1 | 1 | beijing | 1 |

| 2 | a | 1 | 1 | beijing | 1 |

| 3 | a | 1 | 1 | beijing | 1 |

| 5 | a | 1 | 1 | beijing | 0 |

+----+------+-----+--------+---------+--------+

4 rows in set (0.00 sec)

mysql>

方式2:mysql -u -p < command.sql

先将要执行的sql保存到文件中,此处仍为/tmp/command.sql;

$ mysql -uroot -p < /tmp/command.sql

Enter password:

idnameagegenderaddrstatus

1a11beijing1

2a11beijing1

3a11beijing1

5a11beijing0

方式3:cat command.sql | mysql -u -p

这种方式其实等价于方式二,先将要执行的sql保存到文件中,此处仍为/tmp/command.sql;

$ cat /tmp/command.sql | mysql -uroot -p

Enter password:

idnameagegenderaddrstatus

1a11beijing1

2a11beijing1

3a11beijing1

5a11beijing0

命令行显式指定操作的数据库

对于方式2和方式3来说,需要在sql文件中指定操作的数据库,如果想要在命令行中指定数据库,可以在命令行中增加数据库名:

# 指定对test数据库进行操作

$ mysql -uroot -p test < /tmp/command.sql

Enter password:

idnameagegenderaddrstatus

1a11beijing1

2a11beijing1

3a11beijing1

5a11beijing0

虽然命令行指定了数据库,但是sql文件中仍可以进行数据库的切换,所以不建议在命令行中指定操作的数据库。

mysql 命令行批量sql_命令行中执行批量SQL的方法相关推荐

  1. oracle中执行某sql语句后,如一系列delete、update等操作,怎么看影响的行数?如我执行了n个表的delete语句,得看我删除了多少数据,万一sql写的有问题,误删了数据,不是灾难?

    oracle中执行某sql语句后,如一系列delete.update等操作,怎么看影响的行数?如我执行了n个表的delete语句,得看我删除了多少数据,万一sql写的有问题,误删了数据,不是灾难? 使 ...

  2. thinkphp mysql 预处理_thinkPHP框架中执行原生SQL语句的方法

    本文实例讲述了thinkPHP框架中执行原生SQL语句的方法.分享给大家供大家参考,具体如下: 怎样在thinkphp里面执行原生的sql语句? $Model = new Model();//或者 $ ...

  3. 在Oracle中执行动态SQL的几种方法------转载

    在Oracle中执行动态SQL的几种方法 在一般的sql操作中,sql语句基本上都是固定的,如: SELECT t.empno,t.ename  FROM scott.emp t WHERE t.de ...

  4. oracle中执行动态sql语句吗,oracle中有没有可动态执行sql语句的函数

    oracle中有没有可动态执行sql语句的函数 关注:233  答案:2  手机版 解决时间 2021-03-05 15:53 提问者祗剩寂寞 2021-03-04 22:38 oracle中有没有可 ...

  5. 痞子衡嵌入式:在MDK开发环境下将关键函数重定向到RAM中执行的几种方法

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是在MDK开发环境下将关键函数重定向到RAM中执行的几种方法. 这个关键函数重定向到 RAM 中执行系列文章,痞子衡已经写过 <IA ...

  6. 痞子衡嵌入式:在IAR开发环境下将关键函数重定向到RAM中执行的三种方法

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是在IAR开发环境下将关键函数重定向到RAM中执行的三种方法. 嵌入式项目里应用程序代码正常是放在 Flash 中执行的,但有时候也需要将 ...

  7. ef执行原生sql语句_EF Core中执行原生SQL语句

    一.课程介绍之所以今天录制这个系列文章的主要原因是,想在快速帮助到大家上手在ASP.NET Core WebAPI中结合EF Core来操作我们的数据库.EF Core的基础文章和基础课程实在是太多了 ...

  8. PlSqlDev中执行INSERT SQL语句包含符号导致数据异常

    PlSqlDev中执行INSERT SQL语句包含&符号导致数据异常 参考文章: (1)PlSqlDev中执行INSERT SQL语句包含&符号导致数据异常 (2)https://ww ...

  9. 命令逐行显示_在LoadRunner中执行命令行程序之:popen()取代system()

    >>>推荐阅读<<< 1.性能测试学习笔记-场景设计 2.性能测试的重要意义 3.性能分析流程及方法 4.应用系统性能调优之性能分析 在LoadRunner中执行命 ...

最新文章

  1. 【老孙随笔】关羽和吕蒙——天才的失败
  2. Processes and Threads
  3. javascript --- 变量提升的理解
  4. Hibernate读书笔记
  5. 如何卸载MySQL8.0.11_win10安装mysql8.0.11卸载5.7
  6. Filter过滤器的生命周期
  7. 金山云上市首日暴涨 40%,雷军:「All in」才有机会胜出
  8. 二极管(一):反向恢复时间
  9. 【数据分析】基于matlab GUI成绩管理系统【含Matlab源码 256期】
  10. Java中必须了解的常用类
  11. linux dhcp 清除缓存,[dhcpd]清除dhcp缓存
  12. 机器学习与医学应用基础(超星尔雅学习通)--答案
  13. Comodo 龙浏览器下载
  14. mset redis_redis mset key命令简介
  15. 内网渗透之 windows 基础
  16. ALOHA协议和CSMA协议
  17. Python压缩、减压7z文件
  18. 蓝牙通信的简要设计与开发(附加题)
  19. yum故障之There are no enabled repos.
  20. SprinBoot集成disConf的过程梳理

热门文章

  1. 七、Python第七课——有关列表的二三事(切片、切片的遍历和复制)
  2. java存储键值结构_java-键值存储为主数据库
  3. 爱特php文件管理器2.8_查找「超级蜘蛛池开发者中心 抠:44564876易」安卓应用 - 豌豆荚...
  4. linux桌面时区设置,如何在Ubuntu 20.04上设置或更改时区
  5. html 图片墙效果,基于html5实现的图片墙效果
  6. netty获取玩家chanel_Netty4.X 获取客户端IP
  7. Redis(十四):Jedis
  8. #2002 - 服务器没有响应 (or the local MySQL server's socket is not ...
  9. 如何让你变得魅力十足
  10. Weave Scope安装