Python 数据库高级(关联表,python连接,事务操作,视图)

本文详细介绍了Python与数据库交互的高级话题,包括如何处理关联表,如多表查询和设计,Python连接数据库的代码示例,事务处理的基本概念和操作,以及视图的创建和使用。内容涵盖了内连接、外连接,以及多种数据库操作的实例。
摘要由CSDN通过智能技术生成

目录

关联表 

多表查询

多表关联设计

一对多关系

Python 连接 数据库(代码)

 事务处理

视图(sql语句)


关联表 

创建的条件  :

foreign key :外键,指定该行记录从属于主表中的一条记录,主要用于参照完整性

语法格式foreign key(当前表中建立关系的外键字段) references 被关联表名(id)

关联表再在多表之间唯一存在,表中可以存在多个foreign

#先创建被关联表
create table dep (
	id int primary key auto_increment,
	dep_name char(10) not null,
	dep_desc varchar(50) not null
)

#创建关联表
create table emp (
	id int PRIMARY KEY auto_increment,
	name varchar(10),
	age int,
	gender enum('male','female'),
	dep_id int,
    FOREIGN KEY(dep_id) references dep(id) ##是已定义字段关联
)

多表查询

根据指定条件将两张表中的数据进行合并,然后在合并后的结果表中进行数据的查询。同时查询多个表的数据。

内连接:inner join

将两张表公共的部分组合成新表(合并公共项)

select * from 表名 as a inner join 表名 as b on a.porn_id = b.id
    #a,b为别名   
    #on 成立条件

注:on为可执行的关联条件 

外连接:outer join

两张表进行指定条件连接,能连接的就连接,连接不了的显示null(匹配对应项)

left join:以左边的表为主表进行交叉联结,如果左边的表中有的行,右边没有对应数据,则显示为null。同理right join。

select * from 表名 as a right join 表名 as b on a.porn_id = b.id
union
select * from 表名 as a left join 表名 as b on a.porn_id = b.id

多表关联设计

在多表的关联设计中包含了如下三种关系:一对一,一对多,多对多

一对一关系

两个表,关联表与被关联表呈现

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值