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