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

镇江网站建设联系思创今日国际新闻摘抄十条

镇江网站建设联系思创,今日国际新闻摘抄十条,如何给自己做网站,软件开发周期一、先了解下INFORMATION_SCHEMA 1、在MySQL中,把INFORMATION_SCHEMA看作是一个数据库,确切说是信息数据库。其中保存着关于MySQL服务器所维护的所有其他数据库的信息。如数据库名,数据库的表,表栏的数据类型与访问权 限等。在INF…

一、先了解下INFORMATION_SCHEMA
1、在MySQL中,把INFORMATION_SCHEMA看作是一个数据库,确切说是信息数据库。其中保存着关于MySQL服务器所维护的所有其他数据库的信息。如数据库名,数据库的表,表栏的数据类型与访问权 限等。在INFORMATION_SCHEMA中,有数个只读表。它们实际上是视图,而不是基本表,因此,你将无法看到与之相关的任何文件。

2、TABLES表:提供了关于数据库中的表的信息(包括视图)。详细表述了某个表属于哪个schema,表类型,表引擎,创建时间等信息。是show tables from schemaname的结果取之此表。

3、COLUMNS表:提供了表中的列信息。详细表述了某张表的所有列以及每个列的信息。是show columns from schemaname.tablename的结果取之此表。
 

查看ftp数据库内以oemp开头的所有的表名、表数据量、表备注、字段名称、字段类型、默认值、字段备注等;如果查整个数据库就把ftp后全删除。

            string sql = $@"SELECT TABLE_NAME as TableName, column_name AS DbColumnName,CASE WHEN  left(COLUMN_TYPE,LOCATE('(',COLUMN_TYPE)-1)='' THEN COLUMN_TYPE ELSE  left(COLUMN_TYPE,LOCATE('(',COLUMN_TYPE)-1) END AS DataType,CAST(SUBSTRING(COLUMN_TYPE,LOCATE('(',COLUMN_TYPE)+1,LOCATE(')',COLUMN_TYPE)-LOCATE('(',COLUMN_TYPE)-1) AS signed) AS Length,column_default  AS  `DefaultValue`,column_comment  AS  `ColumnComment`,CASE WHEN COLUMN_KEY = 'PRI' THEN true ELSE false END AS `IsPrimaryKey`,CASE WHEN EXTRA='auto_increment' THEN true ELSE false END as IsIdentity,CASE WHEN is_nullable = 'YES' THEN true ELSE false END AS `IsNullable`FROM Information_schema.columns where TABLE_NAME='{tableName}' and  TABLE_SCHEMA=(select database()) ORDER BY TABLE_NAME";

SELECT  T1.TABLE_COMMENT 表注释,T1.TABLE_ROWS 表数据量,T2.TABLE_NAME 表名,T2.COLUMN_NAME 字段名,  T2.COLUMN_TYPE 数据类型,  T2.DATA_TYPE 字段类型,  T2.CHARACTER_MAXIMUM_LENGTH 长度,  T2.IS_NULLABLE 是否为空,  T2.COLUMN_DEFAULT 默认值,  T2.COLUMN_COMMENT 字段备注   
FROM INFORMATION_SCHEMA.TABLES T1
LEFT JOININFORMATION_SCHEMA.COLUMNS T2
ONT1.TABLE_NAME = T2.TABLE_NAME
WHERE  T1.TABLE_SCHEMA ='ftp'
AND T1.TABLE_NAME LIKE 'oemp%'
ORDER BY T1.TABLE_NAME;

二、如何获取全部表名

基本的语句为

SELECT table_name FROM information_schema.tables

但是这个并不符合业务需求,因为这会返回全部的表名,而业务中需要限定是哪个数据库,并且,不同的业务可能会使用不同的表前缀,所以最好可以限定表前缀,并且需要展示表的注释,不然大家也不清楚表是属于哪个业务的。

所以,完整的SQL语句如下

SELECTTABLE_NAME,TABLE_COMMENT 
FROMinformation_schema.TABLES 
WHERETABLE_SCHEMA = 'TABLE_SCHEMA' AND TABLE_NAME LIKE 'x_%' AND TABLE_NAME NOT LIKE 'xx_exp%' 
ORDER BYTABLE_NAME

需要配置几个参数,并且已经按表名进行排序,TABLE_COMMENT 为表注释。

  1. TABLE_SCHEMA 数据库名称
  2. x_ 表前缀

运行结果如下图

1、查看Mysql 数据库 "ori_data"下所有表的表名、表注释及其数据量SELECT 
TABLE_NAME 表名,TABLE_COMMENT 表注释,TABLE_ROWS 数据量
FROM information_schema.tables
WHERE TABLE_SCHEMA = 'ori_data' 
ORDER BY TABLE_NAME;
SELECT* FROM OPENQUERY (MYSQLTEST ,'
SELECTTABLE_NAME as 表名FROMinformation_schema.TABLES 
WHERETABLE_SCHEMA = ''msldbalitest'' AND TABLE_NAME LIKE ''tp_%'' AND TABLE_NAME NOT LIKE ''cms_exp%'' ORDER BY TABLE_NAME desc')

2. 查询数据库 ‘ori_data’ 下表 ‘accumulation’ 所有字段注释SELECT 
COLUMN_NAME 字段名,column_comment 字段注释 
FROM INFORMATION_SCHEMA.Columns 
WHERE table_name='accumulation' AND table_schema='ori_data'

select COLUMN_NAME,DATA_TYPE,COLUMN_COMMENT from information_schema.COLUMNS where table_name = '表名' and table_schema = '数据库名称';
SELECT* FROM OPENQUERY (MYSQLTEST ,'
SELECT 
COLUMN_NAME as 字段名,DATA_TYPE,column_comment as 字段注释 
FROM INFORMATION_SCHEMA.Columns 
WHERE table_name=''cms_goods'' AND table_schema=''msldbalitest''')

3. 查询数据库 "ori_data" 下所有表的表名、表注释以及对应表字段注释SELECT 
a.TABLE_NAME 表名,a.TABLE_COMMENT 表注释,b.COLUMN_NAME 表字段,b.COLUMN_TYPE 字段类型,b.COLUMN_COMMENT 字段注释
FROM information_schema.TABLES a,INFORMATION_SCHEMA.Columns b 
WHERE b.TABLE_NAME=a.TABLE_NAME AND a.TABLE_SCHEMA='ori_data'
SELECT* FROM OPENQUERY (MYSQLTEST ,'
SELECT 
a.TABLE_NAME as 表名,a.TABLE_COMMENT as 表注释,b.COLUMN_NAME as 表字段,b.COLUMN_TYPE as 字段类型,b.COLUMN_COMMENT as 字段注释
FROM information_schema.TABLES a,INFORMATION_SCHEMA.Columns b 
WHERE b.TABLE_NAME=a.TABLE_NAME AND a.TABLE_SCHEMA=''msldbalitest''')

information_schema数据库是MySQL数据库自带的数据库,里面存放的MySQL数据库所有的信息,包括数据表、数据注释、数据表的索引、数据库的权限等等。

Mysql数据库如何获取某数据库所有表名称(不包含表结构),Sql如下:

SELECT table_name 
FROM information_schema.tables 
WHERE table_schema = 'xxx' AND table_type = 'base table'

information_schema:Mysql自带的数据库,存放各类数据库相关信息的信息数据库,表多为视图
information_schema.tables:该数据库下的tables表
table_schema:tables表下的一个字段,数据库名称
table_type:tables表下的一个字段,表类型,base table为基础表,注:有空格
table_name:tables表下的一个字段,数据表名称
 

查看指定表的字段及注释

SELECT* FROM OPENQUERY (MYSQLTEST ,'
selecta.ordinal_position,a.COLUMN_name,a.COLUMN_type,a.COLumn_comment,a.is_nullable,a.column_key
frominformation_schema.COLUMNS a
whereTABLE_schema = ''msldbalitest''and TABLE_name = ''cms_admin_menu''')

查看数据所有表名及注释

SELECT* FROM OPENQUERY (MYSQLTEST ,'
selectt.TABLE_NAME,t.TABLE_COMMENT
frominformation_schema.tables t
wheret.TABLE_TYPE = ''BASE TABLE''and TABLE_schema = ''msldbalitest''')

在mysql中,information_schema这个数据库中保存了mysql服务器所有数据库的信息。
包括数据库名,数据库的表,表字段的数据类型等。
简而言之,若想知道mysql中有哪些库,哪些表,表里面有哪些字段以及他们的注释,都可以从information_schema中获取
 

COLUMNS表
information_schema库中的COLUMNS表,存放MySQL所有表的字段详细信息。

常用列
TABLE_SCHEMA:数据库名
TABLE_NAME:数据表名
COLUMN_NAME:数据列名
DATA_TYPE:数据类型,如:varchar
COLUMN_TYPE:数据列类型(含数据长度),如:varchar(32)
COLUMN_COMMENT:数据列注释/说明
 

            string sql = $@"SELECT TABLE_NAME as TableName, column_name AS DbColumnName,CASE WHEN  left(COLUMN_TYPE,LOCATE('(',COLUMN_TYPE)-1)='' THEN COLUMN_TYPE ELSE  left(COLUMN_TYPE,LOCATE('(',COLUMN_TYPE)-1) END AS DataType,CAST(SUBSTRING(COLUMN_TYPE,LOCATE('(',COLUMN_TYPE)+1,LOCATE(')',COLUMN_TYPE)-LOCATE('(',COLUMN_TYPE)-1) AS signed) AS Length,column_default  AS  `DefaultValue`,column_comment  AS  `ColumnComment`,CASE WHEN COLUMN_KEY = 'PRI' THEN true ELSE false END AS `IsPrimaryKey`,CASE WHEN EXTRA='auto_increment' THEN true ELSE false END as IsIdentity,CASE WHEN is_nullable = 'YES' THEN true ELSE false END AS `IsNullable`FROM Information_schema.columns where TABLE_NAME='{tableName}' and  TABLE_SCHEMA=(select database()) ORDER BY TABLE_NAME";

使用MySQL创建的表,无论是表注释、索引,还是字段的类型等等,都会存到MySQL自带的库表中,可以通过SQL查出来想要的表、字段信息。
了解information_schema库,可以在工作中起到意想不到的效果

-- database_name替换为库名,查出库中所有表的TABLE_NAME表名、TABLE_COMMENT表注释
SELECT TABLE_NAME,TABLE_COMMENT FROM information_schema.TABLES WHERE table_schema='database_name';

TABLES表

information_schema库中的TABLES表,存放MySQL所有表的表信息。

常用列
  • TABLE_SCHEMA:数据库名
  • TABLE_NAME:数据表名
  • TABLE_COMMENT:数据表注释/说明

查询某个表的所有字段

select column_name,data_type,column_comment,column_key,extra,character_maximum_length,is_nullable,column_default
from information_schema.columns 
where table_schema = 'seata' and table_name = 'users' ;

组装表的所有列

select GROUP_CONCAT("t.",column_name) total
from information_schema.columns 
where table_schema = 'seata' and table_name = 'users' and column_name not in ('id');

http://www.hengruixuexiao.com/news/13803.html

相关文章:

  • 页面设计的对称方法包括哪几种形式天津seo关键词排名优化
  • 郑州做网站推内容营销案例
  • 昆明电商网站建设百度推广一年大概多少钱
  • 商城网站建设实例需求腾讯广告平台
  • 桂阳网站设计深圳公关公司
  • 自己做的网站在浏览器上显示不安全中国北京出啥大事了
  • 微信2023新版下载seo网站排名优化教程
  • 个人网站备案怎么写厦门seo管理
  • wordpress roleseo 优化技术难度大吗
  • 网站数据库管理系统2023b站推广大全
  • 网站秒杀怎么做十大小说网站排名
  • 高网站建设山东网络优化公司排名
  • 阿里云建网站步骤网络营销学院
  • 网站为什么做等保如何让百度搜索到自己的网站
  • 做网站建设费用预算移动网站优化排名
  • seo怎么做最佳广州网站营销优化qq
  • 厦门做网站多个人网页生成器
  • 杭州网站建设设计公司百度地图导航网页版
  • 国税政务公开网站建设什么平台免费推广效果最好
  • 中国建设官方网站登录旅游网站的网页设计
  • 温州做网站什么是口碑营销
  • wordpress 浮动div南京市网站seo整站优化
  • wordpress 搭建wikiseo课程培训课程
  • 怎么样申请网站域名国际新闻 军事
  • 网站备案必须在公司注册地seo教程最新
  • 内网网站建设方面政策云南最新消息
  • 哪个网站做任务赚钱多百度旧版本下载
  • 网易企业邮箱怎么样优化方案官网电子版
  • 郑州东区网站建设扬州网络优化推广
  • 课程网站建设特色上海aso苹果关键词优化