mysql

show table status 获取表的信息
show table status like 'tableName' \G
1.Name

   表名称

2.Engine:

   表的存储引擎

3.Version:

   版本

4.Row_format

   行格式。对于MyISAM引擎,这可能是Dynamic,Fixed或Compressed。动态行的行长度可变,例如Varchar或Blob类型字段。固定行是指行长度不变,例如Char和Integer类型字段。
  1. Rows
    表中的行数。对于非事务性表,这个值是精确的,对于事务性引擎,这个值通常是估算的。
    6.Avg_row_length
    平均每行包括的字节数
    7.Data_length
    整个表的数据量(单位:字节)
    8.Max_data_length
    表可以容纳的最大数据量
    9.Index_length
    索引占用磁盘的空间大小
    10.Data_free
    对于MyISAM引擎,标识已分配,但现在未使用的空间,并且包含了已被删除行的空间。
    11.Auto_increment
    下一个Auto_increment的值
    12.Create_time
    表的创建时间
    13.Update_time
    表的最近更新时间
    14.Check_time
    使用 check table 或myisamchk工具检查表的最近时间
    15.Collation
    表的默认字符集和字符排序规则
    16.Checksum
    如果启用,则对整个表的内容计算时的校验和
    17.Create_options
    指表创建时的其他所有选项
    18.Comment
    包含了其他额外信息,对于MyISAM引擎,包含了注释徐标新,如果表使用的是innodb引擎 ,将现实表的剩余空间。如果是一个视图,注释里面包含了VIEW字样。

 1. 查看数据库可以支持的存储引擎
  用show engines; 命令可以显示当前数据库支持的存储引擎情况,如图1所示:
图1 数据库的存储引擎
  由上图可见当前系统的默认数据表类型是MyISAM。当然,我们可以通过修改数据库配置文件中的选项,设定默认表类型。
  2. 查看表的结构等信息的若干命令
  要查看表的定义结构等信息可以使用以下几种命令: 2.1Desc[ribe] tablename; //查看数据表的结构 例如,查看表t1的结构,可得下图。
图2:查看表t1的结构2.2 Show create table tablename; //显示表的创建语句 同上查询表t1,得下图:
图3 显示创建表t1的语句
  2.3 show table status like ‘tablename’\G显示表的当前状态值
  同上查询表t1,得下图:
图4 显示表t1 的当前状态值
  综上可见,后两种方式都可以帮助我们查看某一表的存储引擎类型(图中已用红色方框标出)。
  3. 设置或修改表的存储引擎
  3.1 创建数据库表时设置存储存储引擎的基本语法是:
Create table
tableName(columnName(列名1)
type(数据类型)
attri(属性设置),columnName(列名2)
type(数据类型)
attri(属性设置),……..) engine = engineName
  例如,假设要创建一个名为user的表,此表包括id,用户名username和性别sex三个字段,并且要设置表类型为merge。则可用如下的方式创建此数据表,
create table user( id int not null auto_increment, username char(20)
not null, sex char(2), primary key(id)) engine=merge
  具体执行结果见下图:
图5 创建表user

  查看创建后表user的信息,可见表的当前存储引擎是merge,如图所示:
图6 显示表t1 的当前状态值

  3.2 修改存储引擎,可以用命令Alter table tableName engine =engineName
  假如,若需要将表user的存储引擎修改为archive类型,则可使用命令alter table user engine=archive。如下图所示:
图7 修改表user的存储引擎
  查看修改后的表类型,可见表类型已经变为archive类型。
图8 显示表user修改后的状态值
  
  小结

http://blog.sina.com.cn/s/blog_6bb63c9e0100rv2v.html

http://www.cnblogs.com/hustcat/archive/2009/10/28/1591648.html

http://blog.csdn.net/java2000_wl/article/details/7935035

ALTER TABLE tablename DROP id;

ALTER TABLE tablename ADD id INT NOT NULL
PRIMARY KEY AUTO_INCREMENT FIRST

你可能感兴趣的:(mysql)