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实现鼠标移入移除背景图片切换
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- Js onmouseover和onmouseout小特效
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http ...
- Git在工作中对项目的操作流程
Git 的准备工作 第一步:Git初始化 第一次在电脑上使用时,应该初始化操作,以后再使用Git操作,无需初始化,直接进行Git其他操作 git config --global user.name & ...
- 解决opencv在pycharm中无代码自动提示的bug
2018-03-0422:19:39 首先,估计这不是bug 可能是我自己误操作导致的,但是让我搞了好久才搞定,实在是苦恼 如图已实现功能,百度里有很多朋友出现了,这个无代码提示的问题 大概是这样的, ...
- vue+vux+es6+webpack移动端常用配置步骤
1.创建项目(vue项目的流程就不多讲了)2.cnpm install vux --save3.在build/webpack.base.conf.js配置:const vuxLoader = requ ...
- [Windows Server 2003] 手工创建安全网站
★ 欢迎来到[护卫神·V课堂],网站地址:http://v.huweishen.com★ 护卫神·V课堂 是护卫神旗下专业提供服务器教学视频的网站,每周更新视频.★ 本节我们将带领大家:手工创建安全站 ...
- HDU_3732_(多重背包)
Ahui Writes Word Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...
- POJ_2195_Going Home
题意:用'H','m','.'作出矩阵,'H'代表房子,'m'代表人,人一次只能水平或者垂直移动到相邻的点,问所有人一共走的步数的最小值. 分析:明显的求二分图最大权匹配.KM算法求得的是最大权匹配, ...
- JAVA程序员面试笔试宝典4
1.HTTP中GET与POST方法有什么区别? GET方法上传数据时,数据添加在URL后面.同时,数据大小有限制,通常在1024Byte左右.POST方法传递数据是通过HTTP请求的附件进行的,传递的 ...
- CentOS 7中firewall防火墙详解和配置以及切换为iptables防火墙--转载
最近在linux(这里用到的是Centos7的64位版本)安装nginx时,在开放80端口时用iptables设置端口 和重启服务发现提示未找到文件,在网络上收集查找后发现在Centos7中iptab ...