美文网首页Python程序员联盟python学习程序员
你离学会操作SQL数据库|还剩最后2招

你离学会操作SQL数据库|还剩最后2招

作者: 菜鸟学python | 来源:发表于2017-08-12 17:53 被阅读223次

这是菜鸟学Python的第96篇原创文章

阅读本文大概需要3分钟

前面讲SQL数据库我已经写了3篇,我是用关系数据库家族里面最简单的sqlite3作为起航,来慢慢的讲SQL数据库的使用,一层一层的由浅入深的讲解,但是似乎还缺什么,对的就是数据库里面有多对多的关系,也就是多表查询和还有动态变量的插入。好今天就集合Pandas库,一起把这2招教给你。

要点:

动态变量插入

多表联合查询

学生表格:

学号id

名字

邮箱

课程表格:

选修课id

选修课名字

关系图:

学号id

选修课id

成绩

1.创建数据库

既然我们有3个表格,那么先创建一个数据库名字叫'mul_table.db',然后新建3个table(具体每个表的数据变量类型这里就不细讲,参考前面的学会最简单的数据库|看完这7招就够了)

2.用Pandas存储表数据

上面3个表的数据,我们就用Pandas来存储一下.Pandas的知识小伙伴还记得嘛,前面讲了很多篇哦,若不记得了,自己去历史文章里面回顾一下。

我们把学生,成绩单和关系数据,用Pandas DataFrame存一下:

3.把Pandas数据动态插入数据库

前面几篇数据库的文章,里面的变量都是静态的,若动态的如果插入数据库呢,

假如我们上面的动态的数据是从文件里面读出来,或者从网上爬来的,或者CVS里面读的,如何写入数据库呢

很简单,在execute里面我们用VALUES的时候用?来代替动态变量,然后后面用一个元组参数去替换这个?.(是不是有点类似字符串格式化)

conn.execute("INSERT INTO Students (name,email) VALUES (?,?)",

('xx','xx@sohu.com'));

4.多表查询

先看一下3个表格之间的一对多的关系

学生表-------关系表

课程表-------关系表

1).一个学生可以选修多个课程,而一个课程也可以多个学生选择

2).对于这样的多表查询,SQL里面有一个关键字叫JOIN ,SQLite 的 Joins 子句用于结合两个或多个数据库中表的记录.

3).JOIN 是一种通过共同值来结合两个表中字段的手段

找到共同值:

学生表---关系表:student_id

课程表---关系表:course_id

那我们就来联合几个表查一下:学生的名字,选修的课程和成绩,并且按照成绩分数从高到低排序:

>>

(u'lily', u'Python', 95)

(u'Jack', u'Python', 90)

(u'James', u'Python', 80)

(u'James', u'Go', 72)

(u'Jack', u'Java', 70)

(u'James', u'Java', 60)

(u'lily', u'Go', 50)

结论:

好,SQL数据库的多表查询和动态插入,就讲到这里了.大家若有什么问题,欢迎留言讨论.后台有同学非常急迫的想学MySQL,其实MySQL和sqlite3大同小异,语法上非常接近,只是功能,性能上强大一些而已。不用太着急,两大数据库MySQL和Mongodb我都会讲的,只是我写文章喜欢循序渐进的写,敬请期待吧

若需要更多源码,请去微信公众号:“菜鸟学python”留言

相关文章

  • 你离学会操作SQL数据库|还剩最后2招

    这是菜鸟学Python的第96篇原创文章 阅读本文大概需要3分钟 前面讲SQL数据库我已经写了3篇,我是用关系数据...

  • FMDB 常用语句

    一、SQL语句 如果要在程序运行过程中操作数据库中的数据,那得先学会使用SQL语句 1.什么是SQL SQL(st...

  • iOS开发数据库篇—SQL

    一、SQL语句 如果要在程序运行过程中操作数据库中的数据,那得先学会使用SQL语句 1.什么是SQL SQL(st...

  • iOS编程中的SQL语句

    一、SQL语句 如果要在程序运行过程中操作数据库中的数据,那得先学会使用SQL语句 1.什么是SQL SQL(st...

  • FMDB 常用语句

    一、SQL语句 如果要在程序运行过程中操作数据库中的数据,那得先学会使用SQL语句 1.什么是SQL SQL(st...

  • MyBatis 源码解析MyBatis如何解析配置 ?(七)

    最后还剩sql和select|insert|update|delete 先看sql: XMLMapperBuild...

  • MySQL数据库编写SQL语句利器---mycli

    MySQL数据库的操作是利用SQL语句完成SQL语句的操作。 对于初学者,学习SQL语句是操作数据库的必经之路,但...

  • mysql数据库基操,都坐下!

    数据库的操作 链接数据库 退出数据库 sql语句最后需要有分号;结尾 显示数据库版本 显示时间 查看所有数据库 创...

  • websql使用指南

    前言 Web SQL Database引入了一组使用 SQL 操作客户端数据库的 APIs,如果你熟悉SQL语句,...

  • 数据库SQL语言入门(三)

    系列文章: 数据库SQL语言入门(一)数据库SQL语言入门(二) DML语句 DML操作指对数据中的表记录的操作,...

网友评论

    本文标题:你离学会操作SQL数据库|还剩最后2招

    本文链接:https://www.haomeiwen.com/subject/iayjrxtx.html