shell编程系列24--shell操作数据库实战之利用shell脚本将文本数据导入到mysql中

利用shell脚本将文本数据导入到mysql中

需求1:处理文本中的数据,将文本中的数据插入到mysql中1010 jerry 1991-12-13male1011 mike 1991-12-13female1012 tracy 1991-12-13male1013 kobe 1991-12-13male1014 allen 1991-12-13female1015 curry 1991-12-13male1016 tom 1991-12-13female

# 创建表结构和student一样结构的student1表

MariaDB [school]>create table student1 like student;

[root@localhost shell]#catdata.txt1010 jerry 1991-12-13male1011 mike 1991-12-13female1012 tracy 1991-12-13male1013 kobe 1991-12-13male1014 allen 1991-12-13female1015 curry 1991-12-13male1016 tom 1991-12-13female

# 编写导入数据脚本

[root@localhost shell]#cat import_mysql.sh#!/bin/bash

#

user="dbuser"password="123456"host="10.11.0.215"mysql_conn="mysql -h"$host"-u"$user"-p"$password""

cat data.txt | while read idname birth sexdo$mysql_conn-e "INSERT INTO school.student1 values('$id','$name','$birth','$sex')"

done[root@localhost shell]#

[root@localhost shell]#sh import_mysql.sh[root@localhost shell]# mysql

Welcome to the MariaDB monitor. Commands end with ; or \g.

Your MariaDB connectionid is 53Server version:5.5.60-MariaDB MariaDB Server

Copyright (c)2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type'help;' or '\h' for help. Type '\c' to clearthe current input statement.

MariaDB [(none)]> select *from school.student1;+------+--------+------------+--------+

| s_id | s_name | s_birth | s_sex |

+------+--------+------------+--------+

| 1010 | jerry | 1991-12-13 | male |

| 1011 | mike | 1991-12-13 | female |

| 1012 | tracy | 1991-12-13 | male |

| 1013 | kobe | 1991-12-13 | male |

| 1014 | allen | 1991-12-13 | female |

| 1015 | curry | 1991-12-13 | male |

| 1016 | tom | 1991-12-13 | female |

+------+--------+------------+--------+# 导入数据可以用load,有时候有一些特殊需求比如插入s_id大于1014的行,这个时候就需要使用 shell 语句进行过滤了

[root@localhost shell]#cat import_mysql.sh#!/bin/bash

#

user="dbuser"password="123456"host="10.11.0.215"mysql_conn="mysql -h"$host"-u"$user"-p"$password""

cat data.txt | while read idname birth sexdo# 有插入条件if [ $id -gt 1014 ];then$mysql_conn-e "INSERT INTO school.student1 values('$id','$name','$birth','$sex')"

fi

done[root@localhost shell]#sh import_mysql.sh[root@localhost shell]#sh operate_mysql.sh school "select * from student1"s_id s_name s_birth s_sex1015 curry 1991-12-13male1016 tom 1991-12-13female

需求2:2021|hao|1989-12-21|male2022|zhang|1989-12-21|male2023|ouyang|1989-12-21|male2024|li|1989-12-21|female

[root@localhost shell]#cat import_mysql-2.sh#!/bin/bash

#

user="dbuser"password="123456"host="10.11.0.215"# IFS是系统自带的变量,分隔符 input filre saperator

IFS="|"

cat data2.txt | while read idname birth sexdo# 注意,当使用|类似这种特殊符号时,需要将mysql命令不写成命令,否则会报错

mysql-u"$user" -p"$password" -h"$host" -e "INSERT INTO school.student2 values('$id','$name','$birth','$sex')"

done#

# 使用冒号: 分隔也没有问题

[root@localhost shell]#catdata3.txt2025:hao:1989-12-21:male2026:zhang:1989-12-21:male2027:ouyang:1989-12-21:male2028:li:1989-12-21:female

[root@localhost shell]#sh operate_mysql.sh school "select * from student2"

+------+--------+------------+--------+

| s_id | s_name | s_birth | s_sex |

+------+--------+------------+--------+

| 2025 | hao | 1989-12-21 | male |

| 2026 | zhang | 1989-12-21 | male |

| 2027 | ouyang | 1989-12-21 | male |

| 2028 | li | 1989-12-21 | female |

+------+--------+------------+--------+[root@localhost shell]#cat import_mysql-2.sh#!/bin/bash

#

user="dbuser"password="123456"host="10.11.0.215"#mysql_conn="mysql -h"$host"-u"$user"-p"$password""# IFS是系统自带的变量,分隔符 input filre saperator

IFS=":"

cat data3.txt | while read idname birth sexdomysql-u"$user" -p"$password" -h"$host" -e "INSERT INTO school.student2 values('$id','$name','$birth','$sex')"

done

mysql shell可视化_shell编程系列24--shell操作数据库实战之利用shell脚本将文本数据导入到mysql中...相关推荐

  1. PHP-CRUD-API:将 REST API 添加到 MySQL/MariaDB、PostgreSQL、SQL Server 或 SQLite 数据库的单个文件 PHP 脚本

    https://github.com/mevdschee/php-crud-api 将 REST API 添加到 MySQL/MariaDB.PostgreSQL.SQL Server 或 SQLit ...

  2. shell编程系列22--shell操作数据库实战之shell脚本与MySQL数据库交互(增删改查)

    shell编程系列22--shell操作数据库实战之shell脚本与MySQL数据库交互(增删改查)Shell脚本与MySQL数据库交互(增删改查)# 环境准备:安装mariadb 数据库 [root ...

  3. shell编程系列25--shell操作数据库实战之备份MySQL数据,并通过FTP将其传输到远端主机...

    shell编程系列25--shell操作数据库实战之备份MySQL数据,并通过FTP将其传输到远端主机备份mysql中的库或者表mysqldump 常用参数详解: -u 用户名 -p 密码 -h 服务 ...

  4. shell编程系列23--shell操作数据库实战之mysql命令参数详解

    shell编程系列23--shell操作数据库实战之mysql命令参数详解mysql命令参数详解-u 用户名-p 用户密码-h 服务器ip地址-D 连接的数据库-N 不输出列信息-B 使用tab键代替 ...

  5. solr mysql 导入命令_(solr系列:四)将mysql数据库中的数据导入到solr中及删除solr中导入的数据...

    在前面的博文中,已完成了在tomcat中对solr的部署,为solr添加了一个自定义的core,并且引入了ik分词器. 那么该如何将本地的mysql的数据导入到solr中呢? 准备工作: 1.mysq ...

  6. solr mysql数据注入_(solr系列:四)将mysql数据库中的数据导入到solr中

    在前面的博文中,已完成了在tomcat中对solr的部署,为solr添加了一个自定义的core,并且引入了ik分词器. 那么该如何将本地的mysql的数据导入到solr中呢? 准备工作: 1.mysq ...

  7. oracle日期导出mysql_oracle的数据导入到mysql中,遇到一个时间转换问题

    Manager进程:需要源端跟目标端同时运行,主要作用是监控管理其它进程,报告错误,分配及清理数据存储空间,发布阈值报告等 Extract进程:运行在数据库源端,主要用于捕获数据的变化,负责全量.增量 ...

  8. oracle 数据导入 mysql_将oracle的数据导入到mysql的三种方法

    为了生产库释放部分资源,需要将API模块迁移到MysqL中,及需要导数据. 尝试了oracle to MysqL工具,迁移时报错不说,这么大的数据量,用这种简陋的工具不大可靠. 意外发现平时用的数据库 ...

  9. php实现sql server数据导入到mysql数据库_php实现SQL Server数据导入Mysql数据库(示例)...

    php将mssql的数据导入到mysql数据库中,代码: 代码示例: //连接SQL server数据库 $conn=mssql_connect("localhost"," ...

最新文章

  1. PE学习(四)第四章:导入表
  2. zen-cart首页能否在中间栏显示“所有商品”?
  3. Increasing Subsequence (hard version)
  4. ubuntu 两块硬盘挂载不上_win10 轉 Ubuntu
  5. HashMap两种遍历数据的方式
  6. request.params 用法
  7. [linux]解决DNS配置重启丢失
  8. java第七章jdbc课后简答题_Java进阶之JDBC面试题(7)
  9. IDEA多款主题颜色推荐!炫酷经典!
  10. 杰理之ifi_camera跑sfc的启动时间【篇】
  11. 将elf文件转换为bin文件
  12. android自定义水波纹,Android自定义控件实现水波纹效果
  13. 米家车载空气净化器拆解报告
  14. 929. 独特的电子邮件地址
  15. linux所说的挂载是什么意思
  16. matlab 用visio编辑_【LaTeX】文章中插入Visio及Matlab矢量图
  17. 微信小程序之其他的页面搭建
  18. Hadoop常用端口web界面
  19. 拿什么迎接世界读书日
  20. IT维保:交换机日常维护的五个方面

热门文章

  1. linux gtk python,python-Linux上具有pygtk(gtk.gdk)的桌面/根窗口上的键盘/鼠标事件
  2. MongoDB 复制集和分片的理解
  3. 评选 cms_十大评选和编辑精选:12月评论
  4. Git submodule 知识总结
  5. es6 Proxy 简介
  6. sperling指标 matlab,sperling指标计算实验报告
  7. mysql pool返回值_【Mysql】你知道一条查询语句是如何执行的吗?
  8. c语言中空格算空行吗,1、程序中空格与空行使用规范
  9. matlab对图像进行傅里叶变换_数字图像处理(一)—— 傅里叶变换
  10. docker 安装