mysql,sqlserver数据库查询表,获得表结构,结构类型说明,获得这些数据,可以拿去创建表
//表名p_order
select * from information_schema.COLUMNS where TABLE_NAME='p_order';
1、TABLE_CATALOG ,nvarchar(128),数据库名
2、TABLE_SCHEMA,nvarchar(128) ,表所有者
3、TABLE_NAME,nvarchar(128) ,表名。
4、COLUMN_NAME,nvarchar(128),列名(字段)。
5、ORDINAL_POSITION,smallint,列标识号(排序)。
6、COLUMN_DEFAULT,nvarchar(4000), 列的默认值(字段默认值)。
7、IS_NULLABLE varchar(3), NULL返回 YES。否则,返回 NO,是否为空。
8、DATA_TYPE,nvarchar(128),数据类型。
9、CHARACTER_MAXIMUM_LENGTH,smallint,以字符为单位的最大长度,适于二进制数据、字符数据,或者文本和图像数据。否则,返回 NULL。有关更多信息,请参见数据类型。(varchar类的类型设置的长度,存在就给长度)
10、CHARACTER_OCTET_LENGTH,smallint,以字节为单位的最大长度,适于二进制数据、字符数据,或者文本和图像数据。否则,返回 NULL。(varchar类的类型设置的长度,存在就给长度)
11、NUMERIC_PRECISION,tinyint,近似数字数据、精确数字数据、整型数据或货币数据的精度。否则,返回 NULL。(数据类的长度,如int)
12、NUMERIC_PRECISION_RADIX ,smallint,近似数字数据、精确数字数据、整型数据或货币数据的精度基数。否则,返回 NULL。(数据类的长度,如int)
13、NUMERIC_SCALE,tinyint ,近似数字数据、精确数字数据、整数数据或货币数据的小数位数。否则,返回 NULL。(数据类的长度,保留几位小数)
14、DATETIME_PRECISION ,smallint,datetime 及 SQL-92 interval 数据类型的子类型代码。对于其它数据类型,返回 NULL。(目前看到数值3,默认)
15、CHARACTER_SET_CATALOG,varchar(6),如果列是字符数据或 text 数据类型,那么返回 master,指明字符集所在的数据库。否则,返回 NULL。
16、CHARACTER_SET_SCHEMA,varchar(3),如果列是字符数据或 text 数据类型,那么返回 DBO,指明字符集的所有者名称。否则,返回 NULL。
17、CHARACTER_SET_NAME ,nvarchar(128), 如果该列是字符数据或 text 数据类型,那么为字符集返回唯一的名称。否则,返回 NULL。(字符串类型,默认)
18、COLLATION_CATALOG,varchar(6),如果列是字符数据或 text 数据类型,那么返回 master,指明在其中定义排序次序的数据库。否则此列为 NULL。
19、COLLATION_SCHEMA,varchar(3),返回 DBO,为字符数据或 text 数据类型指明排序次序的所有者。否则,返回 NULL。
20、COLLATION_NAME,nvarchar(128) ,如果列是字符数据或 text 数据类型,那么为排序次序返回唯一的名称。否则,返回 NULL。
21、DOMAIN_CATALOG,nvarchar(128), 如果列是一种用户定义数据类型,那么该列是某个数据库名称,在该数据库名中创建了这种用户定义数据类型。否则,返回 NULL。
22、DOMAIN_SCHEMA, nvarchar(128) ,如果列是一种用户定义数据类型,那么该列是这种用户定义数据类型的创建者。否则,返回 NULL。
23、DOMAIN_NAME, nvarchar(128), 如果列是一种用户定义数据类型,那么该列是这种用户定义数据类型的名称。否则,返回 NULL。(自定义类型名称)
24、COLUMN_COMMENT(备注)
25、COLUMN_TYPE(字段类型)
SELECT
TABLE_SCHEMA AS '数据库',
TABLE_NAME AS '表名',
column_name AS '字段名称',
COLUMN_TYPE AS '字段类型',
IS_NULLABLE AS '是否为空',
COLUMN_DEFAULT AS '默认值',
column_comment AS '字段备注'
FROM
information_schema.COLUMNS
WHERE
table_name = 'cdj_order_87'
OR table_name = 'cdj_order_89'
OR table_name = 'cdj_order_90'