Mysql修改约束,列信息,表信息

    xiaoxiao2021-03-26  19

    修改数据表: 添加单列:

    ALTER TABLE tbl_name ADD [COLUMN] col_name column_definition [FIRST|AFTER column]; (默认在末尾)

    例如在usename后面添加列:

    alter table users1 add password varchar(20) not null after username

    在所有列的最前面添加列 alter table users1 add password varchar(20) not null first;

    添加多列:ALTER TABLE tbl_name ADD [COLUMN] (col_name col_definition,...);(无法指定位置,只能在末尾)

    删除单列:ALTER TABLE tbl_name DROP [COLUMN] col_name;

    例如: alter table users1 drop truename; 删除多列:ALTER TABLE tbl_name DROP [COLUMN] col_name,DROP [COLUMN] col_name,...;

    创建一个测试的表

    create table users2( usename varchar(20) not null, pid smallint unsigned); 增加列 alter table users2 add id smallint unsigned;

    添加主键约束

    标准: **ALTER TABLE tbl_name ADD [CONSTRAINT [symbol]] PRIMARY KEY [index_type] (index_col_name....); symbol为PRIMARY KEY的别名。** 例子: alter table users2 add constraint pk_users2_id PRIMARY KEY(id);

    添加唯一约束

    alter table users2 add unique(username);

    添加外键约束

    alter table users2 add foreign key(pid) references provinces(id);

    添加/删除默认约束

    alter table users2 add age tinyint unsigned not null;//添加一列 添加默认约束 alter table users2 alter age set default 15; 删除默认约束 alter table users2 alter age drop default;

    删除主键约束

    alter table users2 drop primary key;

    删除唯一约束

    alter table users2 drop index username;//删除的是约束,而不是字段

    删除外键约束

    先查询外键名字 show create table users2; alter table users2 drop foreign key users2_ibfk_1;

    修改列定义

    修改位置

    alter table users2 modify id smallint unsigned not null first;

    修改类型

    alter table users2 modify id tinyint unsigned not null;

    修改列的名称,从pid 改为 p_id

    alter table users2 change pid p_id tinyint unsigned not null;

    修改数据表的名字

    alter table users2 rename users4;
    转载请注明原文地址: https://ju.6miu.com/read-660170.html

    最新回复(0)