concat配合information_schema的应用

1    concat的一般用法主要是用于拼接

示例:

执行语句 SELECT CONCAT('M','y','S','Q','L') 可以达到如下效果

2  在写SQL备份语句时,假定要导出三张表分别为world下的

之前我们写备份语句要写三条 分别要导出这三张表;语句分别为

mysqldump -uroot -p123 world city >/tmp/world_city.sql
mysqldump -uroot -p123 world country >/tmp/world_country.sql
mysqldump -uroot -p123 world countrylanguage >/tmp/world_countrylanguage.sql

但是这是特定语句,如果该库下有3000张表呢,30000张呢;为此这种导出方式不是最好的方式;为此我们可以将concat与information_schema联系起来

SELECT CONCAT('mysqldump -uroot -p123 ',table_schema,' ',table_name,' >/tmp/',table_schema,'_',table_name,'.sql') FROM
information_schema.tables WHERE table_schema='world';

请注意期中的一些细节:

' ' 引号中间有空格的话是表示空格,table_schema表示数据库名

table_name表示表名;这些属性在information_schema都可以找到

这是初始的写法;执行效果如下

最后处理的方式:语句写出来了,达到我们要的效果了;如果将来这个库当中有其他表就会新增到concat的输出语句

以上还不是最佳的效果

我们最好是将输出的语句导出到指定文件

第一次执行会报错;

处理方式如下:在/etc/my.cnf下新增语句 指定安全路径

secure-file-priv=/tmp 并重启数据库后生效/etc/init.d/mysqld restart

重新执行语句不再报错

在终端查看效果如下:

该脚本可以直接用sh 执行 执行完就会备份这4个表了

新的示例1:创建world下所有表的备份表

USE world
-- 给world数据下每个表创建备份表
SHOW TABLES; -- 原先写法
CREATE TABLE nod_bak LIKE nod;
USE world
SHOW TABLES;
DROP TABLE nod_bak -- 使用concat
SELECT CONCAT('create table ',table_name,'_bak like ',table_name,';') FROM information_schema.tables
WHERE table_schema='world'
INTO OUTFILE '/tmp/world_bak.sql'

新的示例2 :删除world下所有的bak后缀的表

SELECT CONCAT('drop table ',table_name,'_bak',';') FROM information_schema.`TABLES`
WHERE table_schema='world'
INTO OUTFILE '/tmp/del_bak.sql';

关于oracle 和concat有关的内容

https://www.cnblogs.com/nodchen/p/10036189.html

最新文章

  1. OpenGL顶点数组
  2. zjuoj 3608 Signal Detection
  3. 洛谷P3374 【模板】树状数组 1
  4. 删除重复记录(Mysql,SqlServer,Sqlite)
  5. 10 Best TV Series Based On Hacking And Technology
  6. OpenJudge 2737 大整数除法
  7. Android 入门第一课 一个简单的提示框
  8. 树莓派高级GPIO库,wiringpi2 for python使用笔记(四)实战DHT11解码
  9. 使用.net core在Ubuntu构建一个TCP服务器
  10. Kubernetes存储之Persistent Volumes简介
  11. 【Qt编程】基于QWT的曲线绘制及图例显示操作
  12. 导出到word
  13. 使用WinForm Chart控件 制作饼装,柱状,折线图
  14. Django之用户认证组件
  15. linux 进程监控软件 supervisor
  16. Spring 使用javaconfig配置aop
  17. 使用apksigner对apk进行v2签名
  18. 移动端开发:使用jQuery Mobile还是Zepto
  19. python requests post和get
  20. 优盘版Kali

热门文章

  1. DevExpress WPF入门指南:跟随 Items Source 向导完成数据绑定
  2. struts2的execAndWait拦截器
  3. 阿里云Linux CentOS 7 Docker部署使用gogs搭建自己的git服务器
  4. 12.2 linux下的线程
  5. magento如何改变首页的布局
  6. 【opencv基础】Rect类的神奇用法
  7. Windows Server2008 R2性能优化方法
  8. Battle City 优先队列+bfs
  9. 《DSP using MATLAB》Problem 4.8
  10. 《DSP using MATLAB》Problem 4.2