前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MySQL命令操作(Linux平台)

MySQL命令操作(Linux平台)

作者头像
阳光岛主
发布2019-02-19 17:19:54
9470
发布2019-02-19 17:19:54
举报
文章被收录于专栏:米扑专栏米扑专栏

Linux shell 批量创建数据库/表

Shell 脚本如下:

代码语言:javascript
复制
# 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 Where DATE_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);

更多参考: sql查询笔记

推荐参考:

MySQL 数据库常用命令小结

Mysql数据类型

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2011年10月09日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档