mysql3

表结构修改:

修改表名:alter table tname rename to newname;

修改字段名:alter table tname change id number int;

修改字段类型:alter table tname modify id  tinyint;

添加字段:alter table tname add age int;

删除字段:alter table tname drop number;

约束条件:

约束是一种限制,对表的数据进行限制,来确保数据的完整性,唯一性


每张表中都只能有一个主键                   主键= 非空 + 唯一

自增长要和主键一起使用

create table t1(id int default 1,name varchar(20));

create table t2(id int primary key auto_increment,name varchar(20));

外键约束:保证数据的一致性,你有的我能有,你没有的我一定不会有

create table a(id_a int primary key,name varchar(20));

create table b(id_b int primary key,age int,foreign key(id_b)  references a(id_a));

表关系:一对一、一对多(一个学院有多个学生,一个学生属于一个学院)、多对多(学生选课)

一对一:两张表的id都是primary key

一对多:一张表的id是primary key  另一张表的id可以重复值(不是primary key)

多对多:学生选课,一个学生可以选多个课程,一门课程可以有多个学生

多对多的例子:需要创建中间表实现

create table stu(id int primary key,name varchar(20));

create table course(id int primary key auto_increment,name varchar(20));

insert into stu values(1,'wl'),(2,'wang'),(3,'mao');

insert into course values(1,'python'),(2,'java'),(3,'web');

create table sel(

    s_id int,c_id int,

    primary key(s_id,c_id),     //联合主键

    foreign key(s_id) references stu(id),    //外键约束

    foreign key(c_id) references course(id)

);

insert into sel values(1,1),(1,3);     表明学号1的学生选了课程编号为1和3的课程,王磊选了python和web

select * from stu left join sel on stu.id = sel.s_id left join course on course.id = sel.c_id;

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容