当前位置: 首页 > news >正文

芜湖有哪些招聘网站如何进网站

芜湖有哪些招聘网站,如何进网站,企业网站定制开发,湖南省郴州市嘉禾县精通MySQL:快速获取数据表字段及提高开发效率的技巧 在数据库开发过程中,理解和操作数据表结构是至关重要的。MySQL作为最流行的开源关系型数据库管理系统之一,提供了多种方法来快速获取数据表字段信息,并且有一些技巧可以帮助你…

精通MySQL:快速获取数据表字段及提高开发效率的技巧

在数据库开发过程中,理解和操作数据表结构是至关重要的。MySQL作为最流行的开源关系型数据库管理系统之一,提供了多种方法来快速获取数据表字段信息,并且有一些技巧可以帮助你显著提高开发效率。本文将详细介绍这些方法和技巧,助你在项目中更加游刃有余。

数据可视化工具:navicat15
mysql数据库版本:5.7.44

1 快速获取数据表字段信息的方法

1.1 快速获取列名进行查询(Select)

假设现在有一个数据表tb_ldhq_rules,结构如下
在这里插入图片描述
现在我需要知道这个表一共有多少个字段,你可能想到最简单就是打开navicat一个一个数,那么有没有办法直接用sql语句来查询得到结果呢,有的

SELECT COUNT(*) AS column_count
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'jialiangkj-school' -- 数据库名AND TABLE_NAME = 'tb_ldhq_rules';      -- 数据表名

可以看到一共有21个字段列
在这里插入图片描述

现在我们需要查询这个表下的所有字段数据,对应的sql语句如何写?

没错大多数人可能直接想到 select *

select * from tb_ldhq_rules

显示结果正常
在这里插入图片描述

如果再进一步,我们只需要查询其中的大部分字段而不是全部,例如不要del_flag,这种情况实际项目中很常见,那sql语句如何编写?
老实人的本办法,一个个复制粘贴,拼凑成一个sql查询
在这里插入图片描述
真正的高手都是想着办法如何偷懒,例如使用以下方法快速搞定字段列!

SELECT GROUP_CONCAT(COLUMN_NAME SEPARATOR ', ') AS field_list
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'jialiangkj-school' -- 替换为你的数据库名称AND TABLE_NAME = 'tb_ldhq_rules';  -- 替换为你的数据表名称

效果如下,这样是不是很方便,以后哪怕数据表再多字段直接复制粘贴一次,删除多余字段就快速搞定了
在这里插入图片描述
通过以上方法是不是彻底告别了,一个个复制粘贴字段名的痛苦,那么思路打开,如果多表连接时需要在前面加别名咋办
例如很常见的 from 表 a left join 表 b,一个个在列前加a.字段名,是不是很麻烦。
直接上偷懒办法

SELECT GROUP_CONCAT(CONCAT('a.', COLUMN_NAME) SEPARATOR ', ') AS field_list
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'jialiangkj-school' -- 替换为你的数据库名称AND TABLE_NAME = 'tb_ldhq_rules';  -- 替换为你的数据表名称

数据表字段多的话不要在傻傻的在前面一个个加a.xxx了,很浪费时间,还容易看花眼写错。
在这里插入图片描述

1.2 快速获取列名进行更新(Update)

思路在拓展一下,现在假设我需要对数据表的其中15个字段值进行更新

SELECT GROUP_CONCAT(CONCAT(COLUMN_NAME, ' =') SEPARATOR ', ') AS field_list
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'jialiangkj-school' -- 替换为你的数据库名称AND TABLE_NAME = 'tb_ldhq_rules';  -- 替换为你的数据表名称

执行结果
在这里插入图片描述
如果更新的表需要加入字段别名,跟错之前查询一样同理

SELECTGROUP_CONCAT( CONCAT( 'a.', COLUMN_NAME, ' =' ) SEPARATOR ', ' ) AS field_list 
FROMINFORMATION_SCHEMA.COLUMNS 
WHERETABLE_SCHEMA = 'jialiangkj-school' -- 替换为你的数据库名称AND TABLE_NAME = 'tb_ldhq_rules';-- 替换为你的数据表名称

执行结果
在这里插入图片描述


2 快速获取两个数据表的结构差异

有时候同一个数据表在不同数据库中有可能出现字段不一致的情况,例如主数据库某个数据表新增或修改了字段,从数据库还没修改。或者正式环境数据库和测试环境数据库表结构字段不一致等,这时候我们需要找出两者不同的字段列表出来,好做对比进行同步更新字段操作。

2.1 快速找出字段名不同的部分

在jialiangkj-school数据库下,有以下数据库表sys_dept
在这里插入图片描述
在jialiangkj-school-test数据库下,有以下数据库表sys_dept
在这里插入图片描述
通过上面两个图对比可知道,jialiangkj-school.sys_dept表相比jialiangkj-school-test.sys_dept表新增了三个字段

找出jialiangkj-school.sys_dept表与jialiangkj-school-test.sys_dept表中差异的字段

-- 只在 jialiangkj-school.sys_dept 存在的字段
SELECT COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'jialiangkj-school'AND TABLE_NAME = 'sys_dept'AND COLUMN_NAME NOT IN (SELECT COLUMN_NAMEFROM INFORMATION_SCHEMA.COLUMNSWHERE TABLE_SCHEMA = 'jialiangkj-school-test'AND TABLE_NAME = 'sys_dept')UNION ALL
-- 只在 jialiangkj-school-test.sys_dept 存在的字段
SELECT COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'jialiangkj-school-test'AND TABLE_NAME = 'sys_dept'AND COLUMN_NAME NOT IN (SELECT COLUMN_NAMEFROM INFORMATION_SCHEMA.COLUMNSWHERE TABLE_SCHEMA = 'jialiangkj-school'AND TABLE_NAME = 'sys_dept');

显示结果
在这里插入图片描述

2.2 快速找出字段属性不同的部分

有时候我们对主数据库数据表修改了字段类型,或者不为空等属性值是,需要对比从数据库的数据表查看两者之间差异,可以执行以下sql查询

SELECT a.COLUMN_NAME AS 字段名,a.DATA_TYPE AS 数据类型_数据库1,b.DATA_TYPE AS 数据类型_数据库2,a.CHARACTER_MAXIMUM_LENGTH AS 长度_数据库1,b.CHARACTER_MAXIMUM_LENGTH AS 长度_数据库2,a.IS_NULLABLE AS 是否可空_数据库1,b.IS_NULLABLE AS 是否可空_数据库2,a.COLUMN_DEFAULT AS 默认值_数据库1,b.COLUMN_DEFAULT AS 默认值_数据库2,a.COLUMN_COMMENT AS 注释_数据库1,b.COLUMN_COMMENT AS 注释_数据库2
FROM INFORMATION_SCHEMA.COLUMNS a
JOIN INFORMATION_SCHEMA.COLUMNS b
ON a.COLUMN_NAME = b.COLUMN_NAME
WHERE a.TABLE_SCHEMA = 'jialiangkj-school'AND a.TABLE_NAME = 'sys_dept'AND b.TABLE_SCHEMA = 'jialiangkj-school-test'AND b.TABLE_NAME = 'sys_dept'AND (a.DATA_TYPE != b.DATA_TYPEOR a.CHARACTER_MAXIMUM_LENGTH != b.CHARACTER_MAXIMUM_LENGTHOR a.IS_NULLABLE != b.IS_NULLABLEOR a.COLUMN_DEFAULT != b.COLUMN_DEFAULTOR a.COLUMN_COMMENT != b.COLUMN_COMMENT);

执行以上sql后,两个表之间字段属性差异一目了然
在这里插入图片描述

使用技巧总结
总之,在我们实际的项目开发中,使用上述方法做sql语句查询获取列名要灵活运用,例如假设数据表字段有21个,你只需要查询其中的几个字段,那么就完全没必要使用上述方法获取数据表字段,直接手动复制粘贴需要的字段更为迅速,要根据实际情况具体情况具体分析,不要陷入思维固化的误区。

http://www.dtcms.com/a/588314.html

相关文章:

  • 米拓建设网站深圳免费模板建站
  • 代理建设网站wordpress设置ssl网站打不开
  • 莞城网站制作个人网站谢谢
  • 汕头网站开发找哪里自己可以做网站空间吗
  • 连江厦门网站建设公司镇江网站开发公司
  • 筑巢网络官方网站asp网站安装教程
  • 中小企业服务中心网站建设建立网络专题网站架构
  • 垂直网站做益智类问答室内设计师简历内容
  • 成都私人视频网站制作平台平面设计培训大概费用
  • 中山建站服务四个字广告公司名字
  • 哪些网站用黑体做的简洁物流网站模板
  • 企业官方网站管理制度电子商务网站设计说明
  • 长沙网站建设技术湖南营销型网站建设 搜搜磐石网络
  • 门户网站首页模板下载wordpress函数手册
  • 慈溪企业排名网站网站快照不更新原因
  • 如何做淘宝店网站wordpress怎么二次开
  • 如何用asp做网站的登录界面旅游网站开发费用
  • 白云区建材网站建设推广一件代发货源网
  • 网站设计论文结束语.net 微信网站开发
  • 网站建设的现状上海十大服装外贸公司
  • wdcp 网站无法访问免费工程信息网
  • 商丘做网站一般多少钱苏州市住房和城乡建设局官方网站
  • 中国空间站拒绝10国名单建一个全部由自己控制的网站需要多少钱
  • 视觉设计网站推荐免费观看电视剧网站
  • 网站服务器建设嘉兴网站建设科技有限公司
  • 在线心理健康网站建设进了网站的后台系统 怎么改公司的网站
  • 网站建设维保合同范本电脑版网页游戏
  • 北京上海网站建设公司哪家好免费十八种禁用网站游戏
  • wordpress网站更改主题信息建设谷歌公司网站费用
  • qq空间认证的网站后台根目录wordpress 模板 旅游