MySQL 新增約束,修改約束,刪除約束
ALTER TABLE:新增,修改,刪除表的列,約束等表的定義。
· 檢視列:desc 表名;
· 修改表名:alter table t_book rename to bbb;
· 新增列:alter table 表名 add column 列名 varchar(30);
· 刪除列:alter table 表名 drop column 列名;
· 修改列名MySQL: alter table bbb change nnnnn hh int;
· 修改列名SQLServer:exec sp_rename't_student.name','nn','column';
· 修改列名Oracle:lter table bbb rename column nnnnn to hh int;
· 修改列屬性:alter table t_book modify name varchar(22);
sp_rename:SQLServer 內建的儲存過程,用與修改表的定義。
MySQL 檢視約束,新增約束,刪除約束 新增列,修改列,刪除列
· 查看錶的欄位資訊:desc 表名;
· 查看錶的所有資訊:show create table 表名;
· 新增主鍵約束:alter table 表名 add constraint 主鍵 (形如:PK_表名) primary key 表名(主鍵欄位);
· 新增外來鍵約束:alter table 從表 add constraint 外來鍵(形如:
· 刪除主鍵約束:alter table 表名 drop primary key;
· 刪除外來鍵約束:alter table 表名 drop foreign key 外來鍵(區分大小寫);
· 修改表名:alter table t_book rename to bbb;
· 新增列:alter table 表名 add column 列名 varchar(30);
· 刪除列:alter table 表名 drop column 列名;
· 修改列名MySQL: alter table bbb change nnnnn hh int;
· 修改列名SQLServer:exec sp_rename't_student.name','nn','column';
· 修改列名Oracle:alter table bbb rename column nnnnn to hh int;
· 修改列屬性:alter table t_book modify name varchar(22);
主鍵約束
create table member5(
id int(11),
username varchar(32) not null,
age int(11) ,
birthday date ,
email varchar(32) unique,
constraint pk_id primary key (id),
constraint ck_age check (age between 0 and 150)
);
外來鍵約束
create table book(
id int(11),
bookname varchar(32) not null,
mid int(11),
constraint fk_mid foreign key(mid) references member(id)
)
修改約束
alter table book drop primary key;
alter table book drop foreign key fk_book ;
alter table book add constraint pk_book primary key (id);
alter table book add constraint fk_book foreign key (mid) references member(id);