Linux shell 批量创建数据库/表

Shell 脚本如下:

  1. # create database and table
  2. HOST='localhost'
  3. PORT='3306'
  4. USER='root'
  5. PWD=''
  6. DBNAME='top123'
  7. TABLENAME='gametop800'
  8. mysql_login=''
  9. mysql_create_db=''
  10. mysql_create_table=''
  11. function mysql_create(){
  12. echo "login mysql $HOST:$PORT ..."
  13. mysql_login="sudo mysql -h $HOST -P $PORT -u $USER"  # mysql -h host -P port -u root -p pwd
  14. echo | ${mysql_login}
  15. if [ $? -ne 0 ]; then
  16. echo "login mysql ${HOST}:${PORT} failed.."
  17. exit 1
  18. fi
  19. echo "create database $DBNAME ..."
  20. mysql_create_db="create database if not exists $DBNAME"
  21. echo ${mysql_create_db} | ${mysql_login}
  22. if [ $? -ne 0 ]; then
  23. echo "create db ${DBNAME} failed.."
  24. exit 1
  25. fi
  26. echo "create table $TABLENAME ..."
  27. mysql_create_table="create table $TABLENAME(
  28. id char(50) not null,
  29. top int,
  30. name char(100),
  31. category char(50),
  32. rating float,
  33. ratingcount char(20),
  34. download char(30),
  35. price char(20),
  36. publishdate char(20),
  37. version char(40),
  38. filesize char(40),
  39. requireandroid char(40),
  40. contentrating char(40),
  41. country char(10),
  42. dtime datetime not null,
  43. primary key(id, dtime)
  44. )"
  45. echo ${mysql_create_table} | ${mysql_login} ${DBNAME}
  46. if [ $? -ne 0 ]; then
  47. echo "create table ${TABLENAME} fail..."
  48. exit 1
  49. fi
  50. echo "create table ${TABLENAME} success!"
  51. }
# create database and table
HOST='localhost'
PORT='3306'
USER='root'
PWD=''
DBNAME='top123'
TABLENAME='gametop800' mysql_login=''
mysql_create_db=''
mysql_create_table='' function mysql_create(){
echo "login mysql $HOST:$PORT ..."
mysql_login="sudo mysql -h $HOST -P $PORT -u $USER" # mysql -h host -P port -u root -p pwd
echo | ${mysql_login}
if [ $? -ne 0 ]; then
echo "login mysql ${HOST}:${PORT} failed.."
exit 1
fi echo "create database $DBNAME ..."
mysql_create_db="create database if not exists $DBNAME"
echo ${mysql_create_db} | ${mysql_login}
if [ $? -ne 0 ]; then
echo "create db ${DBNAME} failed.."
exit 1
fi echo "create table $TABLENAME ..."
mysql_create_table="create table $TABLENAME(
id char(50) not null,
top int,
name char(100),
category char(50),
rating float,
ratingcount char(20),
download char(30),
price char(20),
publishdate char(20),
version char(40),
filesize char(40),
requireandroid char(40),
contentrating char(40),
country char(10),
dtime datetime not null,
primary key(id, dtime)
)" echo ${mysql_create_table} | ${mysql_login} ${DBNAME}
if [ $? -ne 0 ]; then
echo "create table ${TABLENAME} fail..."
exit 1
fi echo "create table ${TABLENAME} success!"
}

执行脚本后,结果如下:

MySQL 从常用操作命令:

显示数据库

show databases;

切换数据库 use top123;

显示数据库表

show tables;

修改主键

alter table gametop800 add primary key(id);

删除主键

alter table gametop800 drop primary key;

添加组合主键

alter table gametop800 add primary key(id, dtime);

如果感兴趣的话,可以深入综合运用awk,cut,paste,正则表达式,数据库操作等较为复杂的语法,完成MySQL数据库操作

下面是实现了一个抓取网页,提取特征,抽取信息,结果汇总,批量插入数据库永久保存

示例:

附加:

1) 查看正在处理的进程:

show  processlist;

2) 查看数据库占空间大小:

show  table  status  from  some_database;

例如: show table status from top_500;        # top_500  is  a  database

SELECT  table_schema  top_500, sum( data_length + index_length ) / 1024 / 1024 "Data Base Size in MB" FROM information_schema.TABLES GROUP BY table_schema ;

查询结果如下:

3) 日期模糊查询

对于日期如: 2012-01-03 12:34:54 ,  2012-01-03 18:14:34, 2012-01-04 14:35:59等日期,想按日期,即 2012-01-03, 2012-01-04, 2012-01-05求和排序,可用 date_format(time, '%Y-%m-%d') 格式,如下:

select name, time, sum(num) from click_table where name='com.wordsmobile' group by date_format(time, '%Y-%m-%d') order by time desc limit 30;

2011-12-06 10:04:26 格式:

date_format(time, '%Y-%m-%d %H:%m:%S')

如查询今天签到的同学

select true_name from sign_in WhereDATE_FORMAT((datetime),'%Y-%m-%d') = DATE_FORMAT(NOW(),'%Y-%m-%d')group by true_name;

4)MySql 查询一周内最近7天记录

本周内:
select * from wap_content where week(created_at) = week(now);

查询一天:
select * from table where to_days(column_time) = to_days(now());

select * from table where date(column_time) = curdate();

查询7天:
select * from table  where DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= date(column_time);

查询一个月:
select * from table  where DATE_SUB(CURDATE(), INTERVAL 1 MONTH) <= date(column_time);

MySQL命令操作(Linux平台)的更多相关文章

  1. Mysql 命令 操作

    1.user表        如果需要从其他机器连接 mysql 服务器报这个错“ERROR 1130: Host 'root' is not allowed to connect to this M ...

  2. 关于如何测试cpu性能的命令操作 linux系统

    for i in `seq 1 $(cat /proc/cpuinfo |grep "physical id" |wc -l)`; do dd if=/dev/zero of=/d ...

  3. (0.2.1)mysql数据库环境-操作系统配置

    目录 1.基于Linux平台的Mysql项目场景介绍 2.mysql数据库运行环境准备-最优配置 2.1.如何查看官方文档了解环境要求 2.2.安装虚拟机环境与操作系统 2.3.操作系统最优配置9大步 ...

  4. mysql常用操作与日志

    在linux上的mysql命令 mysql -e "mysql内部命令" #可在外部显示myslq内的输出,-e可跟多条命令用;隔开 在mysql内的mysql命令 system ...

  5. linux命令-jdk及mysql安装操作

    1. VMware虚拟机 VMWare虚拟机软件是一个“虚拟PC”软件,它使你可以在一台机器上同时运行二个或更多Windows.DOS.LINUX系统. 1.1.  vmware15安装配置 Work ...

  6. mysql命令行的导入导出sql,txt,excel(都在linux或windows命令行操作)(转自筑梦悠然)

    原文链接https://blog.csdn.net/wuhuagu_wuhuaguo/article/details/73805962 Mysql导入导出sql,txt,excel 首先我们通过命令行 ...

  7. linux shell 操作 mysql命令(不进入mysql操作界面)

    由于需要,需要将一系列mysql的操作制作成.sh文件,只需要shell操作bash命令就可以傻瓜式的完成黑盒任务. #!/bin/bash mysql -uroot -p??? -e "c ...

  8. Linux平台卸载MySQL总结

    如何在Linux下卸载MySQL数据库呢? 下面总结.整理了一下Linux平台下卸载MySQL的方法. MySQL的安装主要有三种方式:二进制包安装(Using Generic Binaries).R ...

  9. linux下mysql命令

    一.总结一下: 1.linux下启动mysql的命令:   mysqladmin start/ect/init.d/mysql start (前面为mysql的安装路径) 2.linux下重启mysq ...

随机推荐

  1. 腾讯云直播+点播全线产品支持AV1,带来极致视频体验

    日前,腾讯视频云直播.点播.媒体处理全线产品均已支持AV1标准,据悉,腾讯云也是国内首家直播+点播同时支持AV1视频处理业务的公有云厂商. 据悉,AV1(Alliance for Open Media ...

  2. 在Gridview 中 对日期格式的控制

    在数据库中保存日期格式的时候,我们需要在客户端的显示有自己的要求 这就需要对 datatime 类型的数据进行控制,使之显示为你需要的格式 数据库中 如果不对其进行控制,显示的格式为 当在前端页面上进 ...

  3. 2019-7-18 collections,time,random,os,sys,序列化模块(json和pickle)应用

    一.collections模块 1.具名元组:namedtuple(生成可以使用名字来访问元素的tuple) 表示坐标点x为1  y为2的坐标 注意:第二个参数可以传可迭代对象,也可以传字符串,但是字 ...

  4. LeetCode 5198. 丑数 III(Java)容斥原理和二分查找

    题目链接:5198. 丑数 III 请你帮忙设计一个程序,用来找出第 n 个丑数. 丑数是可以被 a 或 b 或 c 整除的 正整数. 示例 1: 输入:n = 3, a = 2, b = 3, c ...

  5. golang http及其他标准库

  6. LOJ #3103. 「JSOI2019」节日庆典

    题意 给定字符串 \(S\) ,对于 \(S\) 的每个前缀 \(T\) 求 \(T\) 所有循环同构串的字典序最小的串,输出其起始下标.(如有多个输出最靠前的) \(|S| \le 3 \times ...

  7. Kibana访问报错

    浏览器访问提示:Kibana server is not ready yet 查看日志如下 {"type":"log","@timestamp&quo ...

  8. Asp.net MVC 之ActionResult

    ActionResult 派生出以下子类: ViewResult 返回一个网页视图 PartialViewResult 返回一个网页视图,但不适用布局页. ContentResult 返回一段字符串文 ...

  9. Golang中的RegExp正则表达式用法指南

    ------------------------------------------------------------ Golang中的正则表达式 ------------------------- ...

  10. 2019 唯品会java面试笔试题 (含面试题解析)

      本人5年开发经验.18年年底开始跑路找工作,在互联网寒冬下成功拿到阿里巴巴.今日头条.唯品会等公司offer,岗位是Java后端开发,因为发展原因最终选择去了唯品会,入职一年时间了,也成为了面试官 ...