mysql、oracle、sqlserver根据对应的表查询表中的所有字段名称、类型、别名、长度等信息
来源:互联网 发布:软件下载官方网站排行 编辑:程序博客网 时间:2024/05/16 13:56
上一节我们介绍了如何查询数据库中的所有表,当我们把表查询出来之后,我们如何根据对应的表查询表中的所有字段名称、类型、别名、长度等信息呢?我不是一个喜欢讲废话的人,直接上代码吧
1.mysql
SELECT
t.COLUMN_NAME AS NAME,
(
CASE
WHEN t.IS_NULLABLE = 'YES' THEN
'1'
ELSE
'0'
END
) AS isNull,
(t.ORDINAL_POSITION * 10) AS sort,
t.COLUMN_COMMENT AS comments,
t.COLUMN_TYPE AS jdbcType
FROM
information_schema.`COLUMNS` t
WHERE
t.TABLE_SCHEMA = (SELECT DATABASE())
AND t.TABLE_NAME = 'db_movie' - - 此处传入表明
ORDER BY
t.ORDINAL_POSITION
t.COLUMN_NAME AS NAME,
(
CASE
WHEN t.IS_NULLABLE = 'YES' THEN
'1'
ELSE
'0'
END
) AS isNull,
(t.ORDINAL_POSITION * 10) AS sort,
t.COLUMN_COMMENT AS comments,
t.COLUMN_TYPE AS jdbcType
FROM
information_schema.`COLUMNS` t
WHERE
t.TABLE_SCHEMA = (SELECT DATABASE())
AND t.TABLE_NAME = 'db_movie' - - 此处传入表明
ORDER BY
t.ORDINAL_POSITION
2.sqlServer
SELECT
t.COLUMN_NAME AS NAME,
(
CASE
WHEN t.IS_NULLABLE = 'YES' THEN
'1'
ELSE
'0'
END
) AS isNull,
(t.ORDINAL_POSITION * 10) AS sort,
isnull(g.[ VALUE ], '') AS comments,
(
t.DATA_TYPE + CASE
WHEN t.DATA_TYPE IN (
'varchar',
'char',
'nvarchar',
'nchar'
) THEN
'(' + CONVERT (
VARCHAR,
t.CHARACTER_MAXIMUM_LENGTH
) + ')'
WHEN t.DATA_TYPE IN ('numeric', 'decimal') THEN
'(' + CONVERT (
VARCHAR,
t.NUMERIC_PRECISION_RADIX
) + ',' + CONVERT (
VARCHAR,
ISNULL(t.NUMERIC_SCALE, 0)
) + ')'
ELSE
''
END
) AS jdbcType
FROM
INFORMATION_SCHEMA. COLUMNS t
INNER JOIN sys.sysobjects o ON t.TABLE_NAME = o. NAME
AND SCHEMA_NAME (o.uid) = t.TABLE_SCHEMA
LEFT JOIN sys.extended_properties g ON o.id = g.major_id
AND t.ORDINAL_POSITION = g.minor_id
AND g. NAME = 'MS_Description'
WHERE
t.TABLE_SCHEMA = (SCHEMA_NAME())
AND t.TABLE_NAME = 'db_movie' - - 此处传入表明
t.COLUMN_NAME AS NAME,
(
CASE
WHEN t.IS_NULLABLE = 'YES' THEN
'1'
ELSE
'0'
END
) AS isNull,
(t.ORDINAL_POSITION * 10) AS sort,
isnull(g.[ VALUE ], '') AS comments,
(
t.DATA_TYPE + CASE
WHEN t.DATA_TYPE IN (
'varchar',
'char',
'nvarchar',
'nchar'
) THEN
'(' + CONVERT (
VARCHAR,
t.CHARACTER_MAXIMUM_LENGTH
) + ')'
WHEN t.DATA_TYPE IN ('numeric', 'decimal') THEN
'(' + CONVERT (
VARCHAR,
t.NUMERIC_PRECISION_RADIX
) + ',' + CONVERT (
VARCHAR,
ISNULL(t.NUMERIC_SCALE, 0)
) + ')'
ELSE
''
END
) AS jdbcType
FROM
INFORMATION_SCHEMA. COLUMNS t
INNER JOIN sys.sysobjects o ON t.TABLE_NAME = o. NAME
AND SCHEMA_NAME (o.uid) = t.TABLE_SCHEMA
LEFT JOIN sys.extended_properties g ON o.id = g.major_id
AND t.ORDINAL_POSITION = g.minor_id
AND g. NAME = 'MS_Description'
WHERE
t.TABLE_SCHEMA = (SCHEMA_NAME())
AND t.TABLE_NAME = 'db_movie' - - 此处传入表明
ORDER BY
t.ORDINAL_POSITION
t.ORDINAL_POSITION
3.Oracle
SELECT
t.COLUMN_NAME AS NAME ,(
CASE
WHEN t.NULLABLE = 'Y' THEN
'1'
ELSE
'0'
END
) AS isNull,
(t.COLUMN_ID * 10) AS sort,
c.COMMENTS AS comments,
decode(
t.DATA_TYPE,
'DATE',
t.DATA_TYPE || '(' || t.DATA_LENGTH || ')',
'VARCHAR2',
t.DATA_TYPE || '(' || t.DATA_LENGTH || ')',
'VARCHAR',
t.DATA_TYPE || '(' || t.DATA_LENGTH || ')',
'NVARCHAR2',
t.DATA_TYPE || '(' || t.DATA_LENGTH / 2 || ')',
'CHAR',
t.DATA_TYPE || '(' || t.DATA_LENGTH || ')',
'NUMBER',
t.DATA_TYPE || (
nvl2 (
t.DATA_PRECISION,
nvl2 (
decode(
t.DATA_SCALE,
0,
NULL,
t.DATA_SCALE
),
'(' || t.DATA_PRECISION || ',' || t.DATA_SCALE || ')',
'(' || t.DATA_PRECISION || ')'
),
'(18)'
)
),
t.DATA_TYPE
) AS jdbcType
FROM
user_tab_columns t,
user_col_comments c
WHERE
t.TABLE_NAME = c.table_name
AND t.COLUMN_NAME = c.column_name
AND t.TABLE_NAME = upper('db_movie'
)
ORDER BY
t.COLUMN_ID
t.COLUMN_NAME AS NAME ,(
CASE
WHEN t.NULLABLE = 'Y' THEN
'1'
ELSE
'0'
END
) AS isNull,
(t.COLUMN_ID * 10) AS sort,
c.COMMENTS AS comments,
decode(
t.DATA_TYPE,
'DATE',
t.DATA_TYPE || '(' || t.DATA_LENGTH || ')',
'VARCHAR2',
t.DATA_TYPE || '(' || t.DATA_LENGTH || ')',
'VARCHAR',
t.DATA_TYPE || '(' || t.DATA_LENGTH || ')',
'NVARCHAR2',
t.DATA_TYPE || '(' || t.DATA_LENGTH / 2 || ')',
'CHAR',
t.DATA_TYPE || '(' || t.DATA_LENGTH || ')',
'NUMBER',
t.DATA_TYPE || (
nvl2 (
t.DATA_PRECISION,
nvl2 (
decode(
t.DATA_SCALE,
0,
NULL,
t.DATA_SCALE
),
'(' || t.DATA_PRECISION || ',' || t.DATA_SCALE || ')',
'(' || t.DATA_PRECISION || ')'
),
'(18)'
)
),
t.DATA_TYPE
) AS jdbcType
FROM
user_tab_columns t,
user_col_comments c
WHERE
t.TABLE_NAME = c.table_name
AND t.COLUMN_NAME = c.column_name
AND t.TABLE_NAME = upper('db_movie'
)
ORDER BY
t.COLUMN_ID
阅读全文
1 0
- mysql、oracle、sqlserver根据对应的表查询表中的所有字段名称、类型、别名、长度等信息
- mysql、oracle、sqlserver查询对应数据库的表名称和别名
- 列出SQLSERVER所有表、字段定义,类型,长度,一个值等信息,并导出到中
- 列出SQLSERVER所有表,字段名,主键,类型,长度,小数位数等信息
- Oracle 查询对应表所有字段名称,可排除不想要的字段
- SQL查询所有表,字段名,主键,类型,长度,小数位数等信息【经典】
- 得到access的数据库表的字段的名称、类型、长度等信息
- SQLServer查询所有表所有字段包含xx的信息
- SQLServer查询所有表所有字段包含xx的信息
- 查询数某个表(视图)的所有字段名称类型等
- oracle 查询表的结构和字段类型,字段长度
- SQLSERVER获取数据库中的所有表的名称、表中所有字段的名称
- Oracle中获取对应表的所有字段信息
- Java 通过JDBC查询数据库表结构(字段名称,类型,长度等)
- Java 通过JDBC查询数据库表结构(字段名称,类型,长度等)
- Java 通过JDBC查询数据库表结构(字段名称,类型,长度等)
- ORACLE中查询系统中的所有表和查询某张表中所有字段的名称的SQL写法
- 获取数据库所有表及其字段名称、类型、长度
- POJ 1144 Network 求割点
- Java NIO 详解
- bzoj1411
- 在一个普通的html文件中引入es6
- 判断 SharedPreferences 是否是第一次登录
- mysql、oracle、sqlserver根据对应的表查询表中的所有字段名称、类型、别名、长度等信息
- TensorFlow中CNN的两种padding方式“SAME”和“VALID”
- Spring使用Cache、整合Ehcache
- Arrays.asList方法
- 『 Spark 』6. 深入研究 spark 运行原理之 job, stage, task
- 关于go的第三方包go-sqlite3的安装
- erlang开发的开源项目
- Tomcat配置图片服务器
- C/C++ -- 内存泄露和野指针