mysql 命令行批量sql_命令行中执行批量SQL的方法

基础信息介绍

测试库: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文件中仍可以进行数据库的切换,所以不建议在命令行中指定操作的数据库。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/540070.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql双主数据一致性_MySQL双主一致性架构优化 | 架构师之路-阿里云开发者社区...

一、双主保证高可用MySQL数据库集群常使用一主多从&#xff0c;主从同步&#xff0c;读写分离的方式来扩充数据库的读性能&#xff0c;保证读库的高可用&#xff0c;但此时写库仍然是单点。在一个MySQL数据库集群中可以设置两个主库&#xff0c;并设置双向同步&#xff0c;以冗…

spool导出姓名中文乱码_MySQL不同字符集转化标准—7步实现,杜绝乱码!

引言作为资深的DBA程序员&#xff0c;在工作中是否会遇到更这样的情况呢&#xff1f;原有数据库的字符集由于前期规划不足&#xff0c;随着业务的发展不能满足业务的需求。如原来业务系统用的是utf8字符集&#xff0c;后期有存储表情符号的需求&#xff0c;uft8字符集就不能满足…

appium和airtest_关于Airtest自动化测试工具

一开始知道Airtest大概是在年初的时候&#xff0c;当时&#xff0c;看了一下官方的文档&#xff0c;大概是类似Sikuli的一个工具&#xff0c;主要用来做游戏自动化的&#xff0c;通过截图的方式用来解决游戏自动化测试的难题。最近&#xff0c;移动端测试的同事尝试用它的poco库…

easyexcel 设置标题_使用easyexcel完成复杂表头及标题的导出功能(自定义样式)

如需客户端指定excel版本,只需要判断后缀名然后在controller中的.excelType(ExcelTypeEnum.XLS)做指定输出内容格式即可***(注意表格行高列宽统一设置是在实体类的类名注解上,如果需要对表格进行精细的宽高设置需要删除掉这两个注解,可以在拦截器使用row的方法进行设置)1. ## 引…

mysql distinct两列_正在检索两列,并对MySQL中的每列应用“distinct”

这是一张桌子books----------------------------| author_fname | author_lname |----------------------------| Dan | Harris || Freida | Harris || George | Saunders |----------------------------我知道如果DISTINCT用作SELECT DISTINCT author_fname, author_lname FRO…

mysql笛卡尔积 去重_MySQL入门(函数、条件、连接)

MySQL入门(四)distinct&#xff1a;去重mysql>:create table t1(id int,x int,y int);mysql>: insert into t1 values(1, 1, 1), (2, 1, 2), (3, 2, 2), (4, 2, 2);mysql>: select distinct * from t1; # 全部数据mysql>: select distinct x, y from t1; # 结果 1,…

nmon安装为什么重启mysql_Nmon的安装及使用

一、下载Nmon根据CPU的类型选择下载相应的版本&#xff1a;二、初始化工具[rootmululu ~]# cd /opt[rootmululu opt]# mkdir nmon[rootmululu opt]# cd nmon[rootmululu nmon]#wget http://sourceforge.net/projects/nmon/files/download/nmon_x86_12a.zip[rootmululu nmon]# u…

mysql join 循环_关于mysql联表的内嵌循环操作nested loop join中on和where执行顺序问题...

mysql的理论依据没找到&#xff0c;个人理解是先执行where的过滤条件&#xff0c;先关联再过滤明显做的是无用功。oracle中倒是能在执行计划中看到&#xff0c;先执行的是过滤条件(下面代码中最后一行)。explain plan for SELECT * FROM tmp_t2 t2 LEFT JOIN tmp_t1 t1 ON t2.i…

python非法语句是_python 如何优雅的处理大量异常语句?

bs4的链式调用很赞&#xff0c;所以我把soup包装了一下class MY_SOUP():包装类def __init__(self,soup):self.soup soupif soup:if soup.string:self.string soup.string.strip()else:self.string Noneelse:self.string Nonedef find(self, *args, **kw):ret self.soup.fi…

Iptables详解+实例

2019独角兽企业重金招聘Python工程师标准>>> Iptabels是与Linux内核集成的包过滤防火墙系统&#xff0c;几乎所有的linux发行版本都会包含Iptables的功能。如果 Linux 系统连接到因特网或 LAN、服务器或连接 LAN 和因特网的代理服务器&#xff0c; 则Iptables有利于…

django ipython shell_通過django的shell_plus編寫ipython腳本

Im writing a shell script which runs a command through ipython with the -c option like this:我正在編寫一個shell腳本&#xff0c;它通過ipython運行一個命令&#xff0c;使用-c選項&#xff0c;如下所示:ipython -c "from blah import myfunct; myfunct()"but…

阿里云服务器安装onlyoffice_阿里云服务器安装 JDK 8

欢迎关注“科技毒瘤君”&#xff01;上一期给大家分享了如何申请阿里云的免费云服务器&#xff0c;还没有看过的小伙伴可以先前往了解 >>阿里云免费服务器<<这一次将会为大家分享如何在服务器上配置 Java环境&#xff0c;这里演示使用的系统为Ubuntu 18.04 64位&am…

js发送请求

1.Chrome控制台中 net::ERR_CONNECTION_REFUSED js频繁发送请求&#xff0c;有可能连接被拒绝&#xff0c;可用setTimeout&#xff0c;过几秒发送&#xff0c;给个缓冲时间 var overlayAnalystService L.supermap.spatialAnalystService(serviceUrl); setTimeout(function () …

据说有99%的人都会做错的面试题

这道题主要考察了面试者对浮点数存储格式的理解。另外&#xff0c;请不要讨论该题本身是否有意义之类的话题。本题只为了测试面试者相关的知识是否掌握&#xff0c;题目本身并没有实际的意义。 下面有6个浮点类型变量&#xff0c;其中前三个是float类型的&#xff0c;后三个是d…

php使用mysql5和8的区别_mysql8.0和mysql5.7的区别是什么?

区别&#xff1a;mysql8.0的索引可以被隐藏和显示&#xff0c;当一个索引隐藏时&#xff0c;他不会被查询优化器所使用&#xff1b;2、mysql8.0新增了“SET PERSIST”命令&#xff1b;3、从mysql8.0开始&#xff0c;数据库的缺省编码将改为utf8mb4&#xff0c;包含了所有emoji字…

mysql pt check sum_percona工具pt-table-checksum

利用pt-table-checksum进行数据库同步检查rpm方式#wget percona.com/get/percona-toolkit.rpm源码方式#wget http://www.percona.com/downloads/percona-toolkit/2.2.1/percona-toolkit-2.2.8.tar.gz#yum install perl perl-CPAN perl-DBD-MySQL perl-Time-HiRes解压&#xff0…

如何通过BBED找回删除数据

项目案例&#xff1a;客户删除delete了重要数据&#xff0c;无备份&#xff0c;客户联系我&#xff0c;要求恢复相应数据。本次通过实验方式重现客户现场。备份高于一切&#xff0c;首先备份&#xff0c;再操作 创建表格&#xff1a; create table king(age number,name varcha…

mysql 重置密码语音_数字语音信号处理学习笔记语音信号的同态处理(2)

5.4 复倒谱和倒谱 定义 设信号x(n)的z变换为X(z) z[x(n)]&#xff0c;其对数为&#xff1a; (1) 那么 的逆z变换可写成&#xff1a; (2) 取 (1)式则有 (3) 于是式子(2)则可以写成 (4) 则式子(4)即为信号x(n)的复倒谱 的定义。因为 一般为复数&#xff0c;故称 为复倒谱。如果对…

NFS 八步神曲

Server:第一步yum install - y nfs*第二步vi /etc/exports第三步/var/testdirs *(rw,all_squash,anonuid99,anongid99,sync)第四步service nfs start第五步chkconfig --level 35 nfs on Client第一步mount 192.168.1.X:/var/www/testdirs /var/www/testdirs第二步vi /et…