第15讲 mysql积累

来源:互联网 发布:汉仪综艺简体 mac版本 编辑:程序博客网 时间:2024/06/05 18:27

mysql清空表数据后让自增ID仍从空位开始的方法


  • 1、清空表时使用truncate命令,而不用delete命令mysql> truncate test;
    使用truncate命令的好处:

    1)、速度快

    2)、可以对自增ID进行重排,使自增ID仍从1开始计算


  • 2、清空表数据后,使用alter修改表,mysql>alter table table_name auto_increment=1;
mysql修改已存在的表增加ID属性为auto_increment自动增长今天有需要将已经存在表设置自动增长属性具体如下ALTER TABLE account CHANGE id id int NOT NULL auto_increment ;//不设置主键alter table customers change id id int not null auto_increment primary key;//设置主键扩展知识://添加字段并设置主键ALTER TABLE tabelname ADD new_field_id int(5) unsigned default 0 not null auto_increment ,ADD primary key (new_field_id);//加主关键字的索引ALTER TABLE tablename ADD primary key(id);//加索引   www.2cto.com  ALTER TABLE tablename CHANGE depno depno int(5) not null;ALTER TABLE tablename ADD INDEX 索引名 (字段名1[,字段名2 …]);ALTER TABLE tablename ADD INDEX emp_name (name);//加唯一限制条件的索引ALTER TABLE tablename ADD UNIQUE emp_name2(cardnumber);//删除某个索引ALTER TABLE tablename DROP INDEX emp_name;//增加字段:ALTER TABLE table_name ADD field_name field_type;//删除字段ALTER TABLE table_name DROP field_name;//重命名列ALTER TABLE table_name CHANGE field_name1 field_name2 integer;//调整字段顺序 ALTER TABLE `users` CHANGE `user_password` `user_password` varchar( 20 ) NOT NULL AFTER user_name;//改变列的类型ALTER TABLE table_name CHANGE field_name field_name bigint not null;ALTER TABLE infos CHANGE list list tinyint not null default '0';//修改原字段名称及类型:   www.2cto.com  ALTER TABLE table_name CHANGE old_field_name new_field_name field_type;//重命名表ALTER TABLE table_name rename new_table_name;//级联更新 和 删除(红色部分,不区分大小写 )DROP TABLE IF EXISTS `mail_model`;create TABLE mail_model(id varchar(50) primary key not null ,mail_filename varchar(200),content varchar(2000))ENGINE=InnoDB DEFAULT CHARSET=gbk;DROP TABLE IF EXISTS `mail_model_extend`;create TABLE mail_model_extend(id int(6) auto_increment not null primary key,rid varchar(50) not null,content varchar(2000),INDEX (RID),FOREIGN KEY (RID) REFERENCES mail_model(ID) ON DELETE CASCADE ON UPDATE CASCADE)ENGINE=InnoDB DEFAULT CHARSET=gbk;

创建完数据库后如果发现没有设置自增长id,那么执行如下操作

mysql> alter table user add id int;Query OK, 0 rows affected (0.25 sec)Records: 0  Duplicates: 0  Warnings: 0mysql> alter table `user` change id id int not null auto_increment primary key;Query OK, 0 rows affected (0.08 sec)Records: 0  Duplicates: 0  Warnings: 0mysql>

字段长度如果不够可以如此操作

mysql> alter table user modify column aihao varchar(256);Query OK, 2 rows affected (0.03 sec)Records: 2  Duplicates: 0  Warnings: 0
原创粉丝点击