查看数据库中所有表结构的语句

show create table +表名 只查询一张表的表结构
show tables 可以查出数据库的表名
如何用sql语句查询出数据库所有表的表结构

根据需求去找指定表的结构会比较好,不用全部查不出来

使用下面的sql查询某个数据库下的所有表结构


SELECT
  COLUMN_NAME ,
  COLUMN_TYPE ,
    DATA_TYPE ,
  CHARACTER_MAXIMUM_LENGTH ,
  IS_NULLABLE ,
  COLUMN_DEFAULT ,
  COLUMN_COMMENT  
FROM
 INFORMATION_SCHEMA.COLUMNS
where
-- table_schema 为数据库名称
table_schema ='你的数据库名称'

这张表里可以获取想要的表名、列名、字段格式,可以执行一下试试

select * from information_schema.`COLUMNS` where TABLE_SCHEMA ='需要访问的数据库名'
SELECT TABLE_NAME, COLUMN_NAME, DATA_TYPE
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'database_name'

mysqldump 生成表DDL语句:(不包括数据)

库test的DDL:

mysqldump --skip-add-drop-table -u root -p --no-data test > d:\test.sql
Enter password: ********

CREATE TABLE `c1` (
  `cid` int(11) NOT NULL,
  `pid` int(11) DEFAULT NULL,
  PRIMARY KEY (`cid`),
  KEY `pid` (`pid`),
  CONSTRAINT `c1_ibfk_1` FOREIGN KEY (`pid`) REFERENCES `p1` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;