mysql 排除字段_mysql中select某表时排除个别字段,shell实现
在使用mysql的日常生活中,偶尔会有一些奇奇怪怪的需求,例如实现类似:select * EXCEPT password,address from users; 要想从users信息表中查询用户信息,但又不想把用户密码(加密后的,完全没有看的必要)、用户地址显示在查询结果中,该怎么办呢?PS:mysql中是没有EXCEPT这种用法的,上面只是打个比方。
网上有看到建议写SQL脚本的,应该会很牛逼,但是本人mysql才疏学浅,完全不会啊!咋办呢?只能用shell脚本试试了。
试试就试试!两个小时后.....
-------------------------------------------------------------------------------------------------------------------------
#!/bin/bash
mysql_host="127.0.0.1" # mysql主机地址
mysql_port="3306" # 数据库端口号
mysql_user="root" # mysql用户名
mysql_password="123456" # mysql密码
mysql_database="testing" # 数据库名称
mysql_table="users" # 数据库某张表名称
key_word="Field" # desc时grep取得关键词
except="user_id|password|address|en_name" # 排除在外的字段,格式为 A|B|C|D......
echo
number=`mysql -u$mysql_user -p$mysql_password -h$mysql_host -P$mysql_port -e"use $mysql_database;desc $mysql_table;" | gawk '{print $1}' | egrep -cxv "($key_word|$except)"`
line=`mysql -u$mysql_user -p$mysql_password -h$mysql_host -P$mysql_port -e"use $mysql_database;desc $mysql_table;" | gawk '{print $1}' | egrep -xv "($key_word|$except)" | gawk -vi=$number '{if (NR==i){print $1} else {printf"%s,",$1}}'`
mysql -u$mysql_user -p$mysql_password -h$mysql_host -P$mysql_port -e"select $line from $mysql_database.$mysql_table"
echo
-------------------------------------------------------------------------------------------------------------------------
mysql 排除字段_mysql中select某表时排除个别字段,shell实现相关推荐
- mysql 分区合并_mysql中的合并表和分区表详解(经常使用的概念)
分区表是mysql5.1之后的新特性,合并表已经存在很长时间了.这篇文章主要介绍这两个概念以及他们基本的操作. 一.合并表 合并表说实话是一种将要被淘汰的技术,但是掌握了合并表的概念再去看分区表就比较 ...
- mysql primary重复_mysql中primary key重复时的处理办法
mysql中primary key重复时的处理办法 文章作者:网友投稿 发布时间:2010-03-14 22:25:52 来源:网络 当insert进数据表, 发生唯一key(unique key与p ...
- 小记mysql备份同库中一张表的历史记录
mysql备份同库中一张表的历史记录 insert into -select 需求 如今有个这么一个需求.mysql中有个表.数据增长的非常快.可是呢这个数据有效期也就是1个月,一个月曾经的记录不太重 ...
- mysql字段掩码_在必须输入字母A~Z或数字0~9数据库中设计表时,如果将字段的输入掩码设置为“LLLL”,则该字段能够接受的输入是()_学小易找答案...
[单选题]关于Access2010的索引,下列叙述中错误的是() [单选题]痰饮淤血() [单选题]关于Access查询中的数据源,下列说法中正确的是 [单选题]对Access2010表中某一个字段建 ...
- MySQL数据库建表时对于某个字段设置了默认值,但是使用Spring Data Jpa的save后默认值没有生效
问题描述:MySQL数据库建表时对于某个字段设置了默认值,但是使用Spring Data Jpa的save后默认值没有生效.MySQL数据库中构建的用户表表结构如下所示: DROP TABLE IF ...
- Visio 2007中进行数据库建模时如何显示字段类型以及概念名称
关于在VISIO中进行数据库建模时如何显示字段类型,以及注释的 1 如何显示字段类型: 在visio菜单上--->点击数据库--->选项--->文档 打开后选择表这项,在上 ...
- 在mysql中删除表中字段_MySQL中的表中增加删除字段
1.增加一个字段 alter table user表 add COLUMN new1字段 VARCHAR(20) NOT NULL DEFAULT 0; //增加一个字段,VARCHERA 20 ...
- mysql 批量添加字段前缀_MySQL中批量前缀表的sql语句
1.批量删除前缀表sql语句 先查询生成需要操作的表 Select CONCAT( 'drop table ', table_name, ';' ) FROM information_schema.t ...
- mysql改存储引擎教程_MySQL中修改数据表存储引擎的三种方法
第一种方法:ALTER TABLE 将表从一个引擎修改为另一个引擎最简单的办法是使用ALTER TABLE语句,转换表的存储引擎会导致失去原引擎相关的所有特性. 例:将mytable的引擎修改为Inn ...
最新文章
- 23种设计模式(一)单例模式
- 中国力量占领KDD:包揽“大数据领域世界杯”全部冠亚军,北航拿下最佳学生论文奖...
- java 类的重载_Java自学-类和对象 方法重载
- CVPR 2021 involution:超越convolution和self-attention的神经网络新算子
- JAVA——Windows双击jar包为可执行操作
- PyCairo 中的剪裁和屏蔽
- GIT项目管理工具(part6)--放弃工作区文件修改及从仓库区恢复文件
- C#多线程与UI响应 防止界面假死不响应(子线程创建的窗体获取消息响应用Application.DoEvent )
- 如何保持纯洁男女关系……
- addcslashes php,php addcslashes函数怎么用
- 单片机实验-定时中断
- 移动云亮相 2021 IDC 年度盛典 共话变革与赋能
- 超大图上的节点表征学习
- 德州python培训_人工智能在多人桌德州扑克比赛中战胜世界顶尖选手
- flexsession禁用_flex(替代session过期)用户长时间不操作要求重新登录的处理
- ASP.NET程序中常用代码汇总-1
- Linux学习(1)阿里云服务器及配置、使用xshell远程连接
- 王者荣耀刷金币C/C++语言脚本
- 2010年RSA大会RSA总裁主题演讲:云的安全
- 2022-2028年全球与中国汽车超声波传感器行业深度分析