千家信息网

mysql -e详解

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,可以用shell脚本操作mysql数据库,使用mysql的-e参数可以执行各种sql的(创建,删除,增,删,改、查)等各种操作 。mysql -hhostname -Pport -uusername
千家信息网最后更新 2026年11月01日mysql -e详解

可以用shell脚本操作mysql数据库,使用mysql的-e参数可以执行各种sql的(创建,删除,增,删,改、查)等各种操作 。

mysql -hhostname -Pport -uusername -ppassword -e 相关mysql的sql语句,不用在mysql的提示符下运行mysql,即可以在shell中操作mysql的方法。

实例:

#!/bin/bash

HOSTNAME="192.168.111.84" #数据库信息
PORT="3306"
USERNAME="root"
PASSWORD=""

DBNAME="test_db_test" #数据库名称
TABLENAME="test_table_test" #数据库中表的名称

#创建数据库
create_db_sql="create database IF NOT EXISTS ${DBNAME}"
mysql -h${HOSTNAME} -P${PORT} -u${USERNAME} -p${PASSWORD} -e"${create_db_sql}"

#创建表
create_table_sql="create table IF NOT EXISTS ${TABLENAME} ( name varchar(20), id int(11) default 0 )"
mysql -h${HOSTNAME} -P${PORT} -u${USERNAME} -p${PASSWORD} ${DBNAME} -e"${create_table_sql}"

#插入数据
insert_sql="insert into ${TABLENAME} values('billchen',2)"
mysql -h${HOSTNAME} -P${PORT} -u${USERNAME} -p${PASSWORD} ${DBNAME} -e"${insert_sql}"

#查询
select_sql="select * from ${TABLENAME}"
mysql -h${HOSTNAME} -P${PORT} -u${USERNAME} -p${PASSWORD} ${DBNAME} -e"${select_sql}"

#更新数据
update_sql="update ${TABLENAME} set id=3"
mysql -h${HOSTNAME} -P${PORT} -u${USERNAME} -p${PASSWORD} ${DBNAME} -e"${update_sql}"
mysql -h${HOSTNAME} -P${PORT} -u${USERNAME} -p${PASSWORD} ${DBNAME} -e"${select_sql}"

#删除数据
delete_sql="delete from ${TABLENAME}"
mysql -h${HOSTNAME} -P${PORT} -u${USERNAME} -p${PASSWORD} ${DBNAME} -e"${delete_sql}"
mysql -h${HOSTNAME} -P${PORT} -u${USERNAME} -p${PASSWORD} ${DBNAME} -e"${select_sql}"

mysql -e中 v的作用

用 mysql -e 生成结果导入指定文件时:

● 若要同时显示语句本身:-v
● 若要增加查询结果行数:-vv
● 若要增加执行时间:-vvv

在一些监控脚本中可以用来简化代码

[plain] view plaincopyprint?
  1. ㈠ 不带 v 测试:
  2. [mysql@even ~]$ mysql -uroot -poracle -e "SELECT VERSION();SELECT NOW()" > /home/mysql/test.sql
  3. [mysql@even ~]$ cat /home/mysql/test.sql
  4. VERSION()
  5. 5.5.16-log
  6. NOW()
  7. 2013-05-08 18:06:35
  8. ㈡ 带一个 v 测试:
  9. [mysql@even ~]$ mysql -uroot -poracle -e "SELECT VERSION();SELECT NOW()" -v > /home/mysql/test02.sql
  10. [mysql@even ~]$ cat /home/mysql/test02.sql
  11. --------------
  12. SELECT VERSION()
  13. --------------
  14. VERSION()
  15. 5.5.16-log
  16. --------------
  17. SELECT NOW()
  18. --------------
  19. NOW()
  20. 2013-05-08 18:08:40
  21. ㈢ 带两个 v 测试:
  22. [mysql@even ~]$ mysql -uroot -poracle -e "SELECT VERSION();SELECT NOW()" -vv > /home/mysql/test03.sql
  23. [mysql@even ~]$ cat /home/mysql/test03.sql
  24. --------------
  25. SELECT VERSION()
  26. --------------
  27. VERSION()
  28. 5.5.16-log
  29. 1 row in set
  30. --------------
  31. SELECT NOW()
  32. --------------
  33. NOW()
  34. 2013-05-08 18:14:05
  35. 1 row in set
  36. Bye
  37. ㈢ 带三个 v 测试:
  38. [mysql@even ~]$ mysql -uroot -poracle -e "SELECT VERSION();SELECT NOW()" -vvv > /home/mysql/test04.sql
  39. [mysql@even ~]$ cat /home/mysql/test04.sql
  40. --------------
  41. SELECT VERSION()
  42. --------------
  43. +------------+
  44. | VERSION() |
  45. +------------+
  46. | 5.5.16-log |
  47. +------------+
  48. 1 row in set (0.00 sec)
  49. --------------
  50. SELECT NOW()
  51. --------------
  52. +---------------------+
  53. | NOW() |
  54. +---------------------+
  55. | 2013-05-08 18:14:49 |
  56. +---------------------+
  57. 1 row in set (0.00 sec)
  58. Bye
数据 数据库 测试 名称 脚本 语句 查询 三个 不用 两个 中表 代码 作用 信息 参数 同时 实例 提示符 文件 方法 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网黑科技 中关村互联网 科技集团 科技互联网企业 美国互联网保险保险科技 中国互联网科技股 关于新基建和互联网科技 互联网医疗科技 菲比寻常互联网科技 互联网科技美容 联恩商钥互联网科技有限公司 滨湖区互联网智能科技产品供应 互联网公司科技股 青岛科技大学互联网大赛研究生 恒生互联网科技指数跳水 洛阳昕诺飞互联网科技有限公司 想开互联网科技公司怎么样 内蒙古九一互联网科技 中科明德北京互联网科技 上海乐五互联网科技有限公司 山东蛋芒互联网科技有限公司 华服互联网科技靠谱吗 西安纸贵互联网科技有限公司 无线互联网科技 农村开互联网科技讲堂 互联网与医疗科技 杭州壁岐互联网科技有限公司 互联网时代科技型公司的机会 美国五大互联网科技公司市值多少 安徽零酒互联网科技有限公司 绵阳真晨互联网科技有限公司
0