MySQL数据库——‘多表’的基本操作(更新、删除、创建写入)

1.多表更新

--基本格式
UPDATE table_references SET col_name1 = {expr1|DEFAULT} [,col_name2 = {expr2|DEFAULT}]... [WHERE where_condition];

--语法结构
table_reference {[INNER|CROSS] JOIN | {LEFT|RIGHT} [OUTER] JOIN} table_reference ON conditional_expr;

--连接类型
/*
INNER JOIN,内连接
  在MySQL中,JOIN,CROSS JOIN和INNER JOIN是等价的
LEFT [OUTER] JOIN,左外连接
RIGHT [OUTER] JOIN,右外连接
*/
--实例(假设前提条件已满足)
UPDATE tb1 INNER JOIN tb2 ON tb1_att = tb2_att SET tb1_att = tb2_id;
--tb1内连接tb2,若tb1_att=tb2_att,那么设置tb1_att为tb2_id

2.多表创建写入

若是没有创建表,那么直接在创建的时候写入数据,一步到位

--创建数据表同时将查询结果写入到数据表
CREATE TABLE [IF NOT EXISTS] tb_name [(create_definition,..)] select_statement;

--实例(假设前提条件已满足)
CREATE TABLE new_tb
(
  id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
  name VARCHAR(40) NOT NULL
)
SELECT name FROM old_tb GROUP BY old_name;

3.多表删除

--语法结构
DELETE tb_name[.*][,tb_name[.*]]...
FROM table_references
[WHERE where_condition];

--删除时,有时会用到查找重复的数据
--查找重复至少一次的数据(假设前提条件已满足)
SELECT goods_id,goods_name FROM tb_goods GROUP BY goods_name HAVING count(goods_name) > 1;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值