查看mysql表结构和表创建语句的方法

首先展示一下创建数据库时的语句:

mysql>create table worker(
      id char(11) primary key,
      name varchar(20),
      work varchar(20),
      part varchar(20),
      sex enum(‘男‘,‘女‘) not null,
      birth date
      );

这是刚开始的时候创建的语句。以上为例介绍查看mysql中表结构:

1.desc 表名

例如:要查看worker数据表的表结构,先进入数据表所在的数据库,然后执行下面语句:

mysql>desc worker;

得到的结果:

 +-------+-------------+------+-----+---------+-------+
 | Field | Type        | Null | Key | Default | Extra |
 +-------+-------------+------+-----+---------+-------+
 | name  | varchar(20) | YES  |     | NULL    |       |
 | sex   | enum(‘      | NO   |     | NULL    |       |
 | work  | varchar(20) | YES  |     | NULL    |       |
 | part  | varchar(20) | YES  |     | NULL    |       |
 | id    | char(11)    | NO   | PRI | NULL    |       |
 | birth | date        | YES  |     | NULL    |       |
 +-------+-------------+------+-----+---------+-------+

2.show create table 表名

例如:mysql>show create table worker;  #注意:这里同样要求进入到表所在的数据库当中;

得到的结果:

+--------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table  | Create Table                                                                                                                                                                                                                                                                        |
+--------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| worker | CREATE TABLE `worker` (
  `name` varchar(20) DEFAULT NULL,
  `sex` enum(‘男‘,‘女‘) NOT NULL,
  `work` varchar(20) DEFAULT NULL,
  `part` varchar(20) DEFAULT NULL,
  `id` char(11) NOT NULL,
  `birth` date DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8    |
+--------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

可以看到跟输入的是不一样的,得到的更加详细

3.show columns from 表名

例如:mysql>show columns from worker;  #注意:这里同样要求进入到表所在的数据库当中;

mysql> show columns from worker;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| name  | varchar(20) | YES  |     | NULL    |       |
| sex   | enum(‘      | NO   |     | NULL    |       |
| work  | varchar(20) | YES  |     | NULL    |       |
| part  | varchar(20) | YES  |     | NULL    |       |
| id    | char(11)    | NO   | PRI | NULL    |       |
| birth | date        | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+

4.在information_schema库中查询

use information_schema;

select * from columns where table_name=‘表名‘;

如下:

mysql> use information_schema;
Database changed
mysql> select * from columns where table_name=‘worker‘;
+---------------+--------------+------------+-------------+------------------+----------------+-------------+-----------+--------------------------+------------------------+-------------------+---------------+--------------------+-----------------+-------------+------------+-------+---------------------------------+----------------+
| TABLE_CATALOG | TABLE_SCHEMA | TABLE_NAME | COLUMN_NAME | ORDINAL_POSITION | COLUMN_DEFAULT | IS_NULLABLE | DATA_TYPE | CHARACTER_MAXIMUM_LENGTH | CHARACTER_OCTET_LENGTH | NUMERIC_PRECISION | NUMERIC_SCALE | CHARACTER_SET_NAME | COLLATION_NAME  | COLUMN_TYPE | COLUMN_KEY | EXTRA | PRIVILEGES                      | COLUMN_COMMENT |
+---------------+--------------+------------+-------------+------------------+----------------+-------------+-----------+--------------------------+------------------------+-------------------+---------------+--------------------+-----------------+-------------+------------+-------+---------------------------------+----------------+
| def           | demo         | worker     | name        |                1 | NULL           | YES         | varchar   |                       20 |                     60 |              NULL |          NULL | utf8               | utf8_general_ci | varchar(20) |            |       | select,insert,update,references |                |
| def           | demo         | worker     | sex         |                2 | NULL           | NO          | enum      |                        2 |                      6 |              NULL |          NULL | utf8               | utf8_general_ci | enum(‘      |            |       | select,insert,update,references |                |
| def           | demo         | worker     | work        |                3 | NULL           | YES         | varchar   |                       20 |                     60 |              NULL |          NULL | utf8               | utf8_general_ci | varchar(20) |            |       | select,insert,update,references |                |
| def           | demo         | worker     | part        |                4 | NULL           | YES         | varchar   |                       20 |                     60 |              NULL |          NULL | utf8               | utf8_general_ci | varchar(20) |            |       | select,insert,update,references |                |
| def           | demo         | worker     | id          |                5 | NULL           | NO          | char      |                       11 |                     33 |              NULL |          NULL | utf8               | utf8_general_ci | char(11)    | PRI        |       | select,insert,update,references |                |
| def           | demo         | worker     | birth       |                6 | NULL           | YES         | date      |                     NULL |                   NULL |              NULL |          NULL | NULL               | NULL            | date        |            |       | select,insert,update,references |                |
+---------------+--------------+------------+-------------+------------------+----------------+-------------+-----------+--------------------------+------------------------+-------------------+---------------+--------------------+-----------------+-------------+------------+-------+---------------------------------+----------------+
时间: 2024-10-04 12:13:28

查看mysql表结构和表创建语句的方法的相关文章

Mysql导出表结构及表数据 mysqldump用法

命令行下具体用法如下:  mysqldump -u用戶名 -p密码 -d 數據库名 表名 脚本名; 1.导出數據库為dbname的表结构(其中用戶名為root,密码為dbpasswd,生成的脚本名為db.sql)    mysqldump -uroot -pdbpasswd -d dbname >db.sql; 2.导出數據库為dbname某张表(test)结构    mysqldump -uroot -pdbpasswd -d dbname test>db.sql; 3.导出數據库為dbna

Mysql复制表结构、表数据以及修改主键

mysql查看表结构命令 show columns from 表名; 1.复制表结构及数据到新表 CREATE TABLE 新表SELECT * FROM 旧表 这种方法会将oldtable中所有的内容都拷贝过来,当然我们可以用delete from newtable;来删除. 不过这种方法的一个最不好的地方就是新表中没有了旧表的primary key.Extra(auto_increment)等属性.需要自己用"alter"添加,而且容易搞错.     2.只复制表结构到新表 CRE

查看mysql库大小,表大小,索引大小

说明: 通过MySQL的 information_schema 数据库,可查询数据库中每个表占用的空间.表记录的行数:该库中有一个 TABLES 表,这个表主要字段分别是: TABLE_SCHEMA : 数据库名TABLE_NAME:表名ENGINE:所使用的存储引擎TABLES_ROWS:记录数DATA_LENGTH:数据大小INDEX_LENGTH:索引大小 其他字段请参考MySQL的手册,查看一个表占用空间的大小,那就相当于是 数据大小 + 索引大小 . 查看所有库的大小 mysql> u

mysql 导出表结构和表数据 mysqldump用法

mysql 导出表结构和表数据 mysqldump用法 命令行下具体用法如下:   mysqldump -u用戶名 -p密码 -d 数据库名 表名 > 脚本名; 导出整个数据库结构和数据mysqldump -h localhost -uroot -p123456 database > dump.sql 导出单个数据表结构和数据mysqldump -h localhost -uroot -p123456  database table > dump.sql 导出整个数据库结构(不包含数据)

【MySQL】MySQL复制表结构、表数据

平常,复制.备份表,一般都直接操作IDE完成.但有时,一些初始化数据的脚本,在操作数据前,最好备份下操作表的结构.数据,不至于出错了被置于为难的境地. 所以复制表结构.表数据的语句就派上用场. > 复制表结构.表数据 create table t_table_name_1 select * from t_table_name_2; > 复制表结构 如果只想复制表结构,就加个过滤数据的条件嘛(>_<) create table t_table_name_1 select * from

Mysql导出(多张表)表结构及表数据 mysqldump用法

命令行下具体用法如下:  mysqldump -u用戶名 -p密码 -d 數據库名 表名 脚本名; 1.导出數據库為dbname的表结构(其中用戶名為root,密码為dbpasswd,生成的脚本名為db.sql)    mysqldump -uroot -pdbpasswd -d dbname >db.sql; 2.导出數據库為dbname某张表(test)结构    mysqldump -uroot -pdbpasswd -d dbname test>db.sql; 3.导出數據库為dbna

mysql导出/导入表结构以及表数据

导出: 命令行下具体用法如下:  mysqldump -u用戶名 -p密码 -d 数据库名 表名 脚本名; 1.导出数据库为dbname的表结构(其中用戶名为root,密码为dbpasswd,生成的脚本名为db.sql)    mysqldump -uroot -pdbpasswd -d dbname >db.sql; 2.导出数据库为dbname某张表(test)结构    mysqldump -uroot -pdbpasswd -d dbname test>db.sql; 3.导出数据库为

从oracle数据库导出数据(表结构,表数据,视图,存储过程,序列)

package com.ahzysoft.export; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.PrintStream; import java.sql.Connection; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java

mysqldump批量导出(多张表)表结构及表数据

Mysql 批量导出表结构(数据) 仅导出结构,不导出数据: 1.导出數據库為dbname的表结构    mysqldump  -h主机地址 -u用户名 -p密码 -d dbname >db.sql; 2.导出數據库為dbname某张表(test)结构    mysqldump  -h主机地址 -u用户名 -p密码 -d dbname test>db.sql; 导出结构+数据:    3.导出數據库為dbname所有表结构及表數據(不加-d)    mysqldump  -h主机地址 -u用户