MySQL基础篇(2)

MySQL之记录的增删改查:

一、增(插入):

    insert into tablename(id,name,salary) values (1,'xx',100);

二、删(删除记录):

    delete from tablename;(删除表中的所有记录)

    delete from tablename where id<6;(删除表中id<6的记录)

三、修改:

    update tablename set age=20;(将表中所有记录的age字段改为20)

    update tablename set age=20 where age=15;(加入了条件语句,将表中所有age字段值为15的记录的age字段值修改为20)

四、查:

    select * from tablename;

 

MySQL之主键、外键:

一、主键:

    数据库中主键能唯一的标识表中的某一条记录,用户保证某条记录的唯一性,在创建表时用primary key约束表示,可用于其他表的外键关联。

二、外键:

    如果多张表中的公共关键字在一个关系中是主关键字,那么这个公共关键字被称为另一个关系的外键。(一张表中可以有多个外键,但是主键只能有一个,但是主键可以有多个字段共同组成,当主键有多个字段时,在做外键约束时也应该写成同样的多列;并且在约束外键时,作为外键的字段对应的表应该已经创建完成

例子:

  create table teachers(

    id int auto_increment primary key,

    name char(20)

    )engine=innodb default charset=utf8;

 

  create table userinfo(

    uid int auto_increment primary key,

    name char(20),

    teacher_id int,

    foreign key(teacher_id) references teachers(id)

    )engine=innodb default charset=utf8;

  另外需要注意的是,当一个表中有自增id时,需要将这个自增的id约束为该表的主键;在约束外键时,主表外键与从表的主键的数据类型必须一致,比如上述表中的id,teacher_id,类型都必须为int,如果teachers表中id类型为bigint,userinfo表中teacher_id类型写成int那么就会报:cannot add foreign key constraint这个错误

  还有就是,约束外键时,也可以这样constraint f_user_dep foreign key(teacher_id) references teachers(id);

  还有一种方式也可以给表定义外键——使用alter关键字(修改表),如下:

    alter table userinfo add constraint department_id foreign key(department_id) references department(id);

  如果表中没有该字段,需要先增加该字段:

    alter table userinfo add department_id int;

三、外键变种(基本上默认的外键都是一对多的关系):

  1、一对一关系:在约束外键时,对外键增加唯一索引约束unique,则表示当前表中对应的外键都是唯一的。

  2、多对多关系:

  

 

转载于:https://www.cnblogs.com/Hinglam/p/10872185.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值