mysql进阶增删改查和表连接

table_name 表名,简称tb

column_name 列名简称cn

value 值,简称v

语法:
	insert into tb(cn1,cn2...) values(v1,v2...)
tb后的括号可以省略,但是values的值要一一对应。其实就相当于关键字传参。
插入多条:
	insert into tb(cn1,cn2...) values(v1,v2...),(v_1,v_2...)
	用逗号隔开
语法:
	删除单条:
		delete from tb where 条件;
	删除多条:
		delete from tb;
语法:
	改单条的数据:
		update tb set name='a' where 条件;
	改所有的数据:
		update tb set name='a';
语法:
	*代表一行的所有列的信息
	select * from tb;
	select name from tb where age=20;
	查询表中年龄为20的人的信息
可以和前面的所有连用,来解决不同的问题。

表连接

原因:
	当多个数据放在同一张表的时候,数据量过大,且对表操作的时候,更改过于麻烦。
例:
	班级表和学生表
作用:
	解决数据量过大的问题,更改麻烦。
连接方式
1、内连接	inner join
	数据一一对应,不会出现null数据
2、外连接:
	左外链接	left outer join
		左表为主表,也就是左表的数据全显
	右外连接	right outer join
		右边为主表,主表的数据全显	
3、自连接
	自己连接自己的表
最后加上on表依靠什么连接
内连接:

inner join inner可省略

例:
-- 创建数据库
create database experise charset=utf8;
use experise;
-- 创建user表和course表
create table user(id int auto_increment primary key,name varchar(20),cid int);
create table course(id int auto_increment primary key,name varchar(20));
-- 插入数据
insert into user(name,cid) values('a',1);
insert into user(name,cid) values('b',2);
insert into user(name) values('c');

insert into course(name) values('语文');
insert into course(name) values('数学');
insert into course(name) values('英语');
insert into course() values();

------------以上为添加数据库数据的代码--------------
select * from user as u inner join course as c on u.cid=c.id;



介绍:
	内连接中为空的没显示

在这里插入图片描述
外连接 outer可省略

左外连接:
	select * from user as u left outer join course as c on u.cid=c.id;

在这里插入图片描述

右外连接:
	select * from user as u right outer join course as c on u.cid=c.id;

在这里插入图片描述

简介
左外连接主动性在左边的表身上,左表数据全显,右外连接的主动性在右边上面,右表数据全显。
内连接:只有匹配到的数据才显示
自连接
自己连接自己
一样的,只不过把两张表看成一张表。用内连接连接
多表连接
多张表之间的连接
如:
	select * from user as u left join course c on u.cid=c.id left join teacher t on c.id=t.id;
如上:
	多表连接和单表连接一样的,只不过多个分之。
注意:
	在表连接的时候,需要考虑表的主动性问题,就是在连接一个表的时候,需要以哪个表为主表,哪个表位从表。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值