Mysql 数据库之修改标的结构

好比咱们新建一user表mysql

create table user(sql

id int unsigned auto_increment primary key,数据库

name varchar(60) not null default '',spa

password varchar(60) not null default '')engine=innodb charset=utf8;3d

 

新建到以下表结构: desc user;blog

 

对于mysql 中的表结构的修改(增删改),咱们须要记住格式rem

alter table 表名 操做名称(add/drop/modify/change) [+对应的格式]; // ①innodb

 

// 增长列 add columntable

需求:在user表中添加用户邮箱 email(在name字段后) / 登陆次数 login_countemail

   建立时间 create_at 在 login_count 以前

操做:

alter table user add email varchar(120) not null default '' after name;

alter table user add login_count int not null default 0;

 

alter table user add create_at int(10) not null default 0 before login_count; // 这个是错误的

alter table user add create_at int(10) not null default 0 after password;// 新增字段只有在某个字段以后,且这个关键字是after,没有before这个关键字

 

// 删除列 drop column

需求:删除login_count列

操做:

alter table user drop login_count;

需求:删除自增加的字段id的主键

1.修改id:  alter table user change id id int not null;

只是修改了自增加,可是仍是没有删掉主键

2.删除主键: alter table user drop primary key;

 

mysql的主键问题:

Mysql的两种主键。Primary keynot null auto_incriment 在创建mysql表时,给一个字段添加了主键primary key 在insert数据时能够不用insert主键,mysql会自动添加0,可是在第二次insert时没有填写值mysql数据库仍是默认添加0,会致使有重复的主键,这是不能够的。全部在定义了primary key时,在insert数据时要给主键填写值。

在创建mysql表时,给一个字段添加了主键 not null auto_increment;
这也是一个主键。时自增加的以1为开始。这个字段是能够不用填写值的,mysql数据库会自动给填写值,不会出现primary key的情况。

 

要给没有添加主键自增的id添加主键自增

alter table tb add primary key(id);
alter table tb change id id int(10) not null auto_increment;// 而不是 alter table tb change id id int(10) not null auto_increment=1;(这个是错误的)

 

通过这里的分析,最好的办法也是一个很好的习惯,咱们在建立表的时候就把主键自增设定好。

 

// 修改列 modify(修改某列的属性) change(彻底修改某列)

需求:修改 create_at 列的类型为 timestamp 而且默认值是 '0000-00-00 00:00:00';

操做:

alter table user modify create_at timestamp not null default '0000-00-00 00:00:00';

 

需求:把name列修改成username列

操做:

alter table user change name username varchar(60) not null default '';

 

// 查询列

需求:查询user表全部信息 

操做:desc user;

     show columns from user;

以上,效果同。

 

需求:查看表的建立的代码

操做:show create table user;

 

复习用!

相关文章
相关标签/搜索