5. COLUMNS
5. COLUMNS
表COLUMNS提供表中列的信息。
| INFORMATION_SCHEMA Name | SHOW Name | Remarks |
|---|---|---|
| TABLE_CATALOG | ||
| TABLE_SCHEMA | ||
| TABLE_NAME | ||
| COLUMN_NAME | Field | |
| ORDINAL_POSITION | see notes | |
| COLUMN_DEFAULT | Default | |
| IS_NULLABLE | Null | |
| DATA_TYPE | Type | |
| CHARACTER_MAXIMUM_LENGTH | Type | |
| CHARACTER_OCTET_LENGTH | ||
| NUMERIC_PRECISION | Type | |
| NUMERIC_SCALE | Type | |
| DATETIME_PRECISION | Type | |
| CHARACTER_SET_NAME | ||
| COLLATION_NAME | Collation | |
| COLUMN_TYPE | Type | MySQL extension |
| COLUMN_KEY | Key | MySQL extension |
| EXTRA | Extra | MySQL extension |
| PRIVILEGES | Privileges | MySQL extension |
| COLUMN_COMMENT | Comment | MySQL extension |
| GENERATION_EXPRESSION |
表COLUMNS有以下列:
- TABLE_CATALOG:包含该列的表所属的目录的名称。 该值始终为def。
- TABLE_SCHEMA:包含该列的表所属的schema(数据库)的名称。
- TABLE_NAME:包含该列的表的名称。
- COLUMN_NAME:列名称
- ORDINAL_POSITION:表中列的位置。 ORDINAL_POSITION是必要的,因为你可能想说ORDER BY ORDINAL_POSITION。 与SHOW COLUMNS不同,COLUMNS表中的SELECT没有自动排序。
- COLUMN_DEFAULT:列的默认值。 如果列具有显式缺省值NULL,或者列定义不包含DEFAULT子句,则此值为NULL。
- IS_NULLABLE:列可空性。 如果NULL值可以存储在列中,则值为YES,否则为NO。
- DATA_TYPE:列数据类型。DATA_TYPE值只是类型名称,没有其他信息。 COLUMN_TYPE值包含类型名称以及可能的其他信息,例如精度或长度。
- CHARACTER_MAXIMUM_LENGTH:对于字符串列,最大长度(以字符为单位)
- CHARACTER_OCTET_LENGTH:对于字符串列,最大长度(以字节为单位)。
- NUMERIC_PRECISION:对于数字列,数字精度。
- NUMERIC_SCALE:对于数字列,数字刻度。
- DATETIME_PRECISION:对于时间列,小数秒精度。
- CHARACTER_SET_NAME:对于字符串列,字符集名称。
- COLLATION_NAME:对于字符串列,排序规则名称。
- COLUMN_TYPE:列数据类型。该DATA_TYPE值只是类型名称,没有其他信息。该COLUMN_TYPE 值包含类型名称以及可能的其他信息,例如精度或长度。
COLUMN_KEY:列是否已编入索引:
- 如果COLUMN_KEY为空,则列不会被索引,也不会仅作为多列非唯一索引中的辅助列索引。
- 如果COLUMN_KEY是PRI,则该列是PRIMARY KEY或者是多列PRIMARY KEY中的列之一。
- 如果COLUMN_KEY是UNI,则该列是UNIQUE索引的第一列。 (UNIQUE索引允许多个NULL值,但您可以通过检查Null列来判断该列是否允许NULL。)
- 如果COLUMN_KEY是MUL,则该列是非唯一索引的第一列,其中在列中允许多次出现给定值。
如果多个COLUMN_KEY值应用于表的给定列,则COLUMN_KEY按PRI,UNI,MUL的顺序显示具有最高优先级的值。
如果UNIQUE索引不包含NULL值并且表中没有PRIMARY KEY,则它可以显示为PRI。 如果多个列形成复合UNIQUE索引,则UNIQUE索引可以显示为MUL; 虽然列的组合是唯一的,但每列还是会有重复值出现。
EXTRA:关于指定列的任何其他可用信息。 在这些情况下,该值是非空的:
- auto_increment用于具有AUTO_INCREMENT属性的列。
- 更新CURRENT_TIMESTAMP用于具有ON UPDATE CURRENT_TIMESTAMP属性的TIMESTAMP或DATETIME列。
- 生成的列的VIRTUAL GENERATED或VIRTUAL STORED。
PRIVILEGES:您对该列的权限。
- COLUMN_COMMENT:列定义中包含的任何注释。
- GENERATION_EXPRESSION:对于生成的列,显示用于计算列值的表达式。 为非生成列清空。 有关生成的列的信息,请参见“创建表和生成的列”。
CREATE TABLE triangle (
sidea DOUBLE,
sideb DOUBLE,
sidec DOUBLE AS (SQRT(sidea * sidea + sideb * sideb))
);
INSERT INTO triangle (sidea, sideb) VALUES(1,1),(3,4),(6,8);
mysql> SELECT * FROM triangle;
+-------+-------+--------------------+
| sidea | sideb | sidec |
+-------+-------+--------------------+
| 1 | 1 | 1.4142135623730951 |
| 3 | 4 | 5 |
| 6 | 8 | 10 |
+-------+-------+--------------------+
注意
在SHOW COLUMNS中,Type显示包含来自多个不同COLUMNS列的值。
除多字节字符集外,CHARACTER_OCTET_LENGTH应与CHARACTER_MAXIMUM_LENGTH相同。
CHARACTER_SET_NAME可以来自COLLATION_NAME。 例如,如果您说显示来自t的全部列,并且您在COLLATION_NAME列中看到latin1_swedish_ci的值,则字符集就在第一个下划线之前:latin1。
示例
mysql> select COLUMN_NAME, DATA_TYPE, IS_NULLABLE, COLUMN_DEFAULT from information_schema.columns where table_schema='test' and table_name = 'account';
+-------------+-----------+-------------+----------------+
| COLUMN_NAME | DATA_TYPE | IS_NULLABLE | COLUMN_DEFAULT |
+-------------+-----------+-------------+----------------+
| id | int | YES | NULL |
| name | char | YES | NULL |
| balance | int | YES | NULL |
+-------------+-----------+-------------+----------------+
3 rows in set (0.01 sec)
mysql> show columns from test.account;
+---------+----------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+----------+------+-----+---------+-------+
| id | int(11) | YES | MUL | NULL | |
| name | char(30) | YES | | NULL | |
| balance | int(11) | YES | | NULL | |
+---------+----------+------+-----+---------+-------+
【注意】
INFORMATION_SCHEMA.COLUMNS不包含有关临时表的信息。要获取临时表列信息,必须使用SHOW COLUMNS。您还可以使用SHOW CREATE TABLE或MySQL 5.7.1,INFORMATION_SCHEMA.INNODB_TEMP_TABLE_INFO。
5. COLUMNS的更多相关文章
- JQuery Datatables Columns API 参数详细说明
---恢复内容开始--- Data Tables: http://datatables.NET/ Version: 1.10.0 Columns说明 虽然我们可以通过DOM直接获取DataTables ...
- Easyui columns列图片移位问题!!!
InitGrid: function () { $("#list").datagrid({ toolbar: '#tb', url: BanZhengXiaoLuSearch.Aj ...
- MySQL COLUMNS分区
200 ? "200px" : this.width)!important;} --> 介绍 COLUMN分区是5.5开始引入的分区功能,只有RANGE COLUMN和LIS ...
- SharePoint Calculated Columns 分类: Sharepoint 2015-07-09 01:49 8人阅读 评论(0) 收藏
SharePoint Calculated Columns are powerful tools when creating out-of-the-box solutions. With these ...
- easyui datagrid 动态添加columns属性
公司在项目设计的时候,有一个需求,就是查出来的表的字段不唯一,一张表的字段可能是三个,也可能是五个,但是却要把它显示到页面,这个给我做ui的带来一点麻烦.因为以前一般用easyui 的datagrid ...
- SharePoint 2013 Content Deployment 报错 These columns don't currently have unique values
错误描述: These columns don't currently have unique values. Content deployment job 'job name' failed.The ...
- [转]how to split the ng-repeat data with three columns using bootstrap
本文转自:http://stackoverflow.com/questions/21644493/how-to-split-the-ng-repeat-data-with-three-columns- ...
- return columns.All(new Func<string, bool>(list.Contains));
internal static bool VerifyColumns(SqlConnection conn, string table, params string[] columns) ...
- db2 Hidden columns
When a table column is defined with the implicitly hidden attribute, that column is unavailable unle ...
- DB2 Add hidden Identity columns
An identity column contains a unique numeric value for each row in the table. DB2® can automatically ...
随机推荐
- POJ3186【区间DP】
题意: 每次只能取两端,然后第 i 次取要val[ i ]*i,求一个最大值 一切都是错觉[读者省略此段] 这道题目一开始想的就是记忆化搜索,然后太天真了?好像是,一开始用一维dp[ i ]直接代表一 ...
- Apereo CAS Server服务端搭建教程
不说废话了,直接看搭建过程吧. 首先到下载源码,https://github.com/apereo/cas-overlay-template/tree/4.2 附上地址,本次版本为4.2,下载源码后如 ...
- windows虚拟机下 安装docker 踩过的坑
首先,你的是win7.8还是win10 windows对docker兼容也是最近的事,所以win7.8的话,安装docker是要用工具箱的,不过官方给了下载. 国内话的可以通过,阿里镜像,或者清华镜像 ...
- Luogu P3946 ことりのおやつ(小鸟的点心) 【最短路】By cellur925
题目传送门 日本的冬天经常下雪.不幸的是,今天也是这样,每秒钟雪的厚度会增加q毫米. 秋叶原共有n个地点,编号从1到n.每个地点在开始的时候的积雪高度为hi. 有m条双向道路连接这些地点,它们的长度分 ...
- Codeforces Round #510 (Div. 2) A&B By cellur925
第一次CF祭== 由于太菜了只做了前两题== 因为在第一题上耗费时间太多了,我还是太菜了==. A. Benches time limit per test 1 second memory limit ...
- SpringMVC中Freemarker获取项目根目录
https://blog.csdn.net/whatlookingfor/article/details/51538995 在SpringMVC框架中使用Freemarker试图时,要获取根路径的方式 ...
- SQL-添加字段处理
1.alter table [dbo].[SiteTracks] drop constraint DF__SiteTrack__Audit__47DBAE452.ALTER TAB ...
- 洛谷 P3768 简单的数学题
https://www.luogu.org/problemnew/show/P3768 化简一下式子,就是$\sum_{d=1}^ncalc(d)d^2\varphi(d)$ 其中$calc(d)=\ ...
- 并查集 HDOJ 1232 畅通工程
题目传送门 /* 并查集(Union-Find)裸题 并查集三个函数:初始化Init,寻找根节点Find,连通Union 考察:连通边数问题 */ #include <cstdio> #i ...
- React.js 的 context
这一节我们来介绍一个你可能永远用不上的 React.js 特性 —— context.但是了解它对于了解接下来要讲解的 React-redux 很有好处,所以大家可以简单了解一下它的概念和作用. 在过 ...