您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

python数据库操作读书笔记

bubuko 2022/1/25 19:45:01 python 字数 5303 阅读 984 来源 http://www.bubuko.com/infolist-5-1.html

一、了解数据库 程序运行的时候,数据都是在内存中的。当程序终止的时候,通常都需要将数据保存到磁盘上,无论是保存到本地磁盘,还是通过网络保存到服务器上,最终都会将数据写入磁盘文件。 为了便于程序保存和读取数据,而且,能直接通过条件快速查询到指定的数据,就出现了数据库(Database)这种专门用于集中 ...

一、了解数据库

      程序运行的时候,数据都是在内存中的。当程序终止的时候,通常都需要将数据保存到磁盘上,无论是保存到本地磁盘,还是通过网络保存到服务器上,最终都会将数据写入磁盘文件。

      为了便于程序保存和读取数据,而且,能直接通过条件快速查询到指定的数据,就出现了数据库(Database)这种专门用于集中存储和查询的软件。数据库软件诞生的历史非常久远,早在1950年数据库就诞生了。经历了网状数据库,层次数据库,我们现在广泛使用的关系数据库是20世纪70年代基于关系模型的基础上诞生的。

   关系模型有一套复杂的数学理论,但是从概念上是十分容易理解的。举个学校的例子:

假设某个省x市s县第一小学有3个年级(用grade表示),每个年级有若干个班(用class表示),显然grade与class之间有个映射关系,就是可以根据Grade_ID可以在班级表中查找对应所有班级,也就是Grade表的每一行对应Class表的多行,在关系数据库中,这种基于表(Table)的一对多的关系就是关系数据库的基础。

根据某个年级的ID就可以查找所有班级的行,这种查询语句在关系数据库中称为SQL语句,可以写成:

1 SELECT *FROM classes WHERE grade_id=1

 

二、数据库的类别

目前广泛使用的数据库有下列几种:

付费的商用数据库:

技术分享图片

 

 

免费的开源数据库:

 

技术分享图片

 

三、了解SQL

       SQL是结构化查询语言的缩写,用来访问和操作数据库系统。SQL语句既可以查询数据库中的数据,也可以添加、更新和删除数据库中的数据,还可以对数据库进行管理和维护操作。不同的数据库,都支持SQL,这样,我们通过学习SQL这一种语言,就可以操作各种不同的数据库。

四、以MySQL为例,对数据库进行操作

1、查询数据

①基本查询

SELECT * FROM students
SELECT * FROM classes

②条件查询

1 SELECT * FROM students WHERE score >= 80
2 SELECT * FROM students WHERE score >= 80 AND gender = M

③投影查询

注意俩个放在逗号中间就是改名字

SELECT id, score, name FROM students;
SELECT id, score points, name FROM students;
SELECT id, score points, name FROM students WHERE gender = M;

④排序

a、我们使用SELECT查询时,细心的读者可能注意到,查询结果集通常是按照id排序的,也就是根据主键排序。这也是大部分数据库的做法。如果我们要根据其他条件排序怎么办?可以加上ORDER BY子句。例如按照成绩从低到高进行排序:

SELECT id, name, gender, score FROM students ORDER BY score;

b、如果要反过来,按照成绩从高到底排序,我们可以加上DESC表示“倒序”:

SELECT id, name, gender, score FROM students ORDER BY score DESC;

c、如果score列有相同的数据,要进一步排序,可以继续添加列名。例如,使用ORDER BY score DESC, gender表示先按score列倒序,如果有相同分数的,再按gender列排序:

SELECT id, name, gender, score FROM students ORDER BY score DESC, gender

d、’默认的排序规则是ASC:“升序”,即从小到大。ASC可以省略,即ORDER BY score ASC和ORDER BY score效果一样。 如果有WHERE子句,那么ORDER BY子句要放到WHERE子句后面。例如,查询一班的学生成绩,并按照倒序排序:

SELECT id,name,gender,score FROM students WHERE class_id=1 ORDER BY score DESC

⑤分页查询

使用SELECT查询时,如果结果集数据量很大,比如几万行数据,放在一个页面显示的话数据量太大,不如分页显示,每次显示100条。 要实现分页功能,实际上就是从结果集中显示第1~100条记录作为第1页,显示第101~200条记录作为第2页,以此类推。 因此,分页实际上就是从结果集中“截取”出第M~N条记录。这个查询可以通过LIMIT <M> OFFSET <N>子句实现。我们先把所有学生按照成绩从高到低进行排序:

SELECT id, name, gender, score FROM students ORDER BY score DESC

 

 

 

 

 

 

 

 

 

 

python数据库操作读书笔记

原文:https://www.cnblogs.com/qinlai/p/13033194.html


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶