• shell脚本检索所有mysql数据库中没有primary key的表


    1.mkdir -p /root/scripts/

    2. cd /root/scripts/

    vim query.sql,代码如下:

    SELECT CONCAT(t.table_schema,".",t.table_name) as table_name   
    FROM information_schema.TABLES t   
    LEFT JOIN information_schema.TABLE_CONSTRAINTS tc   
    ON t.table_schema = tc.table_schema   
    AND t.table_name = tc.table_name   
    AND tc.constraint_type = 'PRIMARY KEY'  
    WHERE tc.constraint_name IS NULL   
    AND t.table_type = 'BASE TABLE'
    AND t.table_schema not in ('information_schema','mysql','performance_schema','test');

    vim no_primarykey.sh 代码如下:

    #!/bin/bash
    db_ip=192.168.56.$1
    db_port=$2
    db_user='xx'
    db_password='xxxxx'
    script_dir=/root/scripts
    db_login="mysql -u${db_user} -p${db_password} -h${db_ip} -P${db_port}"
    echo ${db_login}
    for tname in `${db_login} -N -s -e "source $script_dir/query.sql"` 
    do
    echo "=======================$tname=====================">>$script_dir/${db_port}_table.log
    $db_login -N -s -e "show create table $tname G;">>$script_dir/${db_port}_table.log
    done 

    3,运行脚本,将在目录下生产结果

    #chmod +x no_primarykey.sh 

    #./no_primarykey.sh  13 3306 (其中13 为DB SERVER最后IP位 即$1, 3306 为DB PORT 即$2)

    结果如下:

    #cat 3306_table.log
    =======================db1.t1=====================
    *************************** 1. row ***************************
    t1
    CREATE TABLE `t1` (
      `deviceid` varchar(64) NOT NULL,
      `uid` int(11) DEFAULT NULL,
      `city` varchar(40) DEFAULT NULL,
      `ktvcity` varchar(40) DEFAULT NULL,
      `regsrc` int(11) DEFAULT NULL,
      `status` int(11) DEFAULT NULL,
      `clienttype` int(11) DEFAULT NULL,
      `pushtoken` varchar(64) DEFAULT NULL,
      `apntoken` varchar(64) DEFAULT NULL,
      KEY `uid` (`uid`),
      KEY `deviceid` (`deviceid`),
      KEY `status` (`status`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
  • 相关阅读:
    MVC模式和三层架构的区别
    浅谈MVC3自定义分页
    Jquery进度条插件 Progress Bar
    浅谈 MVC3 WebMail 发送邮件
    LINQ orderby 排序妙用
    mvc3 razor视图下 显示字符串形式的html
    Asp.Net MVC3 让你疯狂的5个理由
    4月8日作业 代码审核复查
    几个js处理时间函数
    看看下面JavaScript代码输出什么?
  • 原文地址:https://www.cnblogs.com/yiyuf/p/4127953.html
Copyright © 2020-2023  润新知