尛磊孨

导航

Mysql主外键

主键  primary   key

创建表时直接加上主键:

create table student1(
id int primary key,

name varchar(20),

age int,

gender char(5)

);

定义列之后在指定主键

create table student2(
id int,

name varchar(20),

age int,

gemder char(5),

primary key(id)
);

修改表时添加主键:

create table student3(

id int,

name varchar(20),

age int,

gender char(5)

);

alter table student3 add primary key(id);

主键自增长:

主键必须是整数类型才可以自动增长

create table student4 (
id int primary key auto_increment,

name varchar(19),

age int,

gender char(5)

);

删除主键:

alter table student4 change id id int; --删除自动增长
DESC student4;
alter table student4 drop primary key;
DESC student4;

修改表时设置自增长

create table student5(

id int primary key,

name varchar(29),

age int,

gender char(7)

);

alter table student5 change id id int auto_increment;

-----删除主键自增长:

alter table student5 change id id int;

-----非空:

create table student6 (

id int primary key auto_increment,

name varchar(20) not null,

age int,

gender char(3)

);

-----唯一:

create table student7(

id int primary key auto_increment,

name varchar(20) unique,

age int ,

gender char(5)

);

添加唯一:

ALTER TABLE 表名 CHANGE name name VARCHAR(30) UNIQUE;

删除唯一:

DROP INDEX 列名 ON 表名;

alter table 表名 drop index 列名;

外键

create table a(

a_id int primary key auto_increment,

name varchar(20) unique not null,

age int,

gender char(5)
);

create table b(

b_id int primary key auto_increment,

name varchar(30),

age int,

gender char(4),

a_id int,

constraint cc foreign key(a_id) references a(a_id)
外键名 外键 谁是外键 参照物 那个表

);

-------修改表指定a s是b 的外键

create table a1(

a_id int primary key,

name varchar(20)
);

create table b1(

b_id int primary key,

name varchar(20),

a_id int
);

alter table b1 add constraint cc foreign key(a_id) references a1(a_id);

-----删除外键约束:

alter table b1 drop foreign key cc;

posted on 2018-11-15 09:42  尛磊孨  阅读(171)  评论(0编辑  收藏  举报