mysql常用表操作

来源:互联网 发布:conerstone for mac 编辑:程序博客网 时间:2024/06/06 19:31

建表或者建库语句中不判断是否存在的话,从binlog中回复数据时,如果选定的范围包含某些建表建库的语句的话会报错中断

新建数据库>CREATE DATABASE IF NOT EXISTS testDb;;目前没有找到直接修改数据名称的方法

删除数据库>DROP DATABASE testDb;

新建表>CREATE TABLE IF NOT EXISTS testDb.`table_name` (
  `id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '自增长ID',
  `col1` VARCHAR(255) NOT NULL COMMENT 'test',
  `col2` VARCHAR(255) DEFAULT NULL,
  `col3` VARCHAR(255) DEFAULT NULL COMMENT 'test',
  `state` SMALLINT(1) NOT NULL DEFAULT '1' COMMENT 'test‘,
  `createTime` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',

`lastUpdateTime` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE  CURRENT_TIMESTAMP COMMENT '最后更新时间',
  PRIMARY KEY (`id`)
) ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8

删除表结构>DROP TABLE db_name.table_name;

删除表数据>DELETE FROM TABLE db_name.table_name;执行之后,表的自增长字段从之前数据的最大自增长值的开始;

                  TRUNCATE TABLE  db_name.table_name;相对delete删除表数据较快,数据量大的时候对比明显,执行之后,表的自增长字段从最初设定的开始;

清除表中的碎片>OPTIMIZE TABLE db_name.table_name;慎用

为表添加备注>ALTER TABLE db_name.table_name  COMMENT '添加表备注';

修改自自增长ID>ALTER TABLE db_name.table_nameAUTO_INCREMENT=1;

修改表中某个字段的类型|默认值|备注>ALTER TABLE db_name.table_name MODIFY COLUMN `column_name`  VARCHAR(255) DEFAULT NULL COMMENT '修改字段的备注';

删除表中的某个字段>ALTER TABLE db_name.table_name DROP COLUMN column_name;

为表添加一个字段>ALTER TABLE db_name.table_name ADD COLUMN test1 VARCHAR(10) DEFAULT '11'  COMMENT '测试为表新添加一个字段' ;

为表添加一个索引>ALTER TABLE db_name.table_name ADD (唯一索引需要加关键字UNIQUE) INDEX|KEY test_add_index(userName,mobile,`status`);

删除表中已存在的索引>DROP  INDEX|KEY index_name ON  db_name.table_name;

                                 ALTER TABLE table_name DROP INDEX|KEY index_name;删除主键(ALTER TABLE `table_name` DROP  PRIMARY  KEY  )时可能会出现:Incorrect table definition; there can be only one auto column and it must be defined as a key,错误原因是建表时没有将自增字段设置为主键;

查看已创建表信息>SHOW CREATE TABLE db_name.`table_name`

                                    

 

原创粉丝点击