3.5 在批处理模式下使用mysql
在前面的章节中,你交互式地使用mysql输入查询而且查看结果。你也能够以批模式执行mysql。为了做到这些。把你想要执行的命令放在一个文件里,然后告诉mysql从文件读取它的输入:
shell> mysql < batch-file
假设你是在Windows系统下执行,而且你的文件里有一些可能会造成问题的特殊字符,你能够这么做:
C:\> mysql -e "source batch-file"
假设你须要在命令行上指定连接參数,命令应为:
shell> mysql -h host-u user-p < batch-file
Enter password: ********
当这样操作mysql时。你先创建了一个脚本文件。然后执行脚本。
假设你想继续执行这个脚本,即使脚本中的语句可能会产生一些错误,那么你就须要使用 –force命令行选项。
为什么使用脚本?有非常多原因:
- 假设你须要反复执行查询(比方说,每天或每周),能够把它编成一个脚本。则每次执行时不必又一次键入。
- 能够通过拷贝并编辑脚本文件从相似的现有的查询生成一个新查询。
- 当你正在编写查询时,批模式也是非常实用的,特别对多行命令或多语句命令序列。
假设你犯了一个错误。你不必又一次输入全部内容。仅仅须要编辑脚本来改正错误,然后告诉mysql再次执行脚本。
- 假设你有一个产生多个输出的查询,你能够通过一个分页器而不是盯着它翻屏到屏幕的顶端来执行输出:
shell> mysql < batch-file| more
- 你能够捕捉文件里的输出以便进行进一步的处理:
shell> mysql < batch-file> mysql.out
- 你能够把你的脚本分发给其它人,那么他们也能够执行这些语句。
- 某些情况不同意交互使用查询。比如, 当你从一个cron任务中执行查询时。在这样的情况下,你必须使用批模式。
当你以批模式执行mysql时。比起你交互地使用它时,其默认输出格式是不同的(更简明些)。比如,当交互式执行SELECT DISTINCT species FROM pet时,输出应为:
+---------+
| species |
+---------+
| bird |
| cat |
| dog |
| hamster |
| snake |
+---------+
可是当以批模式执行时,输出应为:
species
bird
cat
dog
hamster
snake
假设你想得到交互式的输出格式,使用 mysql -t. 为了回显以输出被执行的命令,使用mysql -vvv.
你还能够使用source命令或 .命令从mysql提示符中使用脚本:
mysql> source filename;
mysql> \. filename
很多其它内容请查看
Section 4.5.1.5, “Executing SQL Statements from a Text File”
3.5 在批处理模式下使用mysql的更多相关文章
- 非root模式下安装mysql php小记
假设你的home目录为/home/work mysql-server 安装 1. 下载mysql.tar.gz wget http://dev.mysql.com/get/Downloads/MySQ ...
- 在cmd模式下对mysql的操作语句
A.window下的语句 1.mysqld -install //安装mysql服务 2.mysqld -remove //卸载mysql服务 3.net start mysql //启动服务 ...
- 非root模式下安装mysql
1. 下载mysql.tar.gz wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.17.tar.gz 2. 下载cmake [ ...
- docker 容器模式下部署mysql 主从复制
1.计划用两台host来部署,分别部署一台 mysql,一主一从,2.配置好主从mysql配置文件,更改文件名即可[client]port = 3306socket = /var/run/mysqld ...
- MySQL 8 批处理模式
shell> mysql -h host -u user -p < batch-file 强制执行脚本,即使某些语句参数错误,可以添加 --force 参数 如果MySQL运行在Windo ...
- MySQL Binlog--MIXED模式下数据更新
在 Mixed 模式下,MySQL 会根据执行的每一条具体的 SQL 语句来区分对待记录的日志形式,也就是在 statement 和 row 之间选择一种.如果SQL语句为UPDATE/DELETE等 ...
- windows下使用mysql双机热备功能
一. 准备工作 1. 准备两台服务器(电脑),接入局域网中,使互相ping得通对方 2. 两台服务器都安装mysql-server-5.1,必须保证mysql的版本一致 3. 假设,服务器A:192. ...
- 在Hadoop伪分布式模式下安装Hive(derby,mysql)
我的Hadoop版本是1.2.0,mysql版本是5.6.12. 先介绍一下嵌入式derby模式: 1.下载/解压 在hive官网上选择要下载的版本,我选择的版本是hive-0.10.0. 下载好解压 ...
- mysql READ-COMMITTED 模式下 行锁不会升级到表级锁
mysql> select sn,id,info from s100 group by id; +-----+------+------+ | sn | id | info | +-----+- ...
随机推荐
- jquery.ajax之beforeSend方法使用介绍
常见的一种效果,在用ajax请求时,没有返回前会出现前出现一个转动的loading小图标或者“内容加载中..”,用来告知用户正在请求数据.这个就可以用beforeSend方法来实现. 下载demo:a ...
- oracle 备份/恢复
oracle备份是为了有问题能够快速恢复:
- nginx+tomcat+memcache
tomcat1和tomcat2都需要安装以下配置[root@tomcat-1 ~]# yum -y install gcc openssl-devel pcre-devel zlib-devel[ro ...
- maven deploy时报错
Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy (default-deploy) on p ...
- php第二十四节课
三级联动 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3 ...
- eclipse 中导入 MyBatis 的源码
(1)选中 Mybatis-3.2.2.jar ,右击,在弹出的快捷菜单中选择 “Properties” 选项,进入属性界面. (2)进入属性界面后,选中 “Java Source Attachme ...
- buf.readUIntBE()
buf.readUIntBE(offset, byteLength[, noAssert]) buf.readUIntLE(offset, byteLength[, noAssert]) offset ...
- Jmeter使用基础笔记-写一个http请求
前言 本篇文章主要讲述2个部分: 搭建一个简单的测试环境 用Jmeter发送一个简单的http请求 搭建测试环境 编写flask代码(我参考了开源项目HttpRunner的测试服务器),将如下的代码保 ...
- 洛谷 1937 [USACO10MAR]仓配置Barn Allocation
[题解] 贪心. 把区间按照右端点从小到大排序,右端点相同的按照长度从小到大排序,然后按顺序考虑,能放就放下去. 维护能不能放下去用线段树即可. #include<cstdio> #inc ...
- 关于 CMSIS 标准 及 STM32F10x的固件库
CMSIS 标准英文全称是Cortex MicroController Software Interface Standard,翻译为中文意思就是 ARM Cortex 微控制器软件接口标准. 由于基 ...