知行编程网知行编程网  2022-03-05 03:00 知行编程网 隐藏边栏 |   抢沙发  40 
文章评分 0 次,平均分 0.0

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

阅读本文大概需要4分钟



    前面一篇讲了数据库的基本介绍,目前流行的三大数据库有MySQL和Mongodb(还有一个以后告诉你),除了之外还有最简单的适合小白入手的sqlite3。对于初学者来说,我一直坚持学东西循序渐进,不要上来一口吃一个胖子,太贪心会噎着的。学数据库我依然会从简单的sqlite上手开始写,把sqlite练好之后再学其他数据库会简单很多,相信大家的sqlite环境已经搭建好了,那我们今天就一起来操练一下sqlite数据库吧



数据库的基本操作,无非就是下面7招:

  • 创建

  • 读取

  • 插入

  • 更新

  • 查询

  • 排序

  • 删除


我们先要引入sqlite3这个模块,这个模块是Python自带的,不需要安装(上一篇我写错了,好多好心的小伙伴提醒我,非常感谢纠正),然后创建数据库很简单,我们假设我们要把下面一个“工资单”表格数据存入数据库,如何操作呢,下面一步一步来操作,follow me !

学会最简单的数据库|看完这7招就够了




1

创建数据库


sqlite3.connect(database [,timeout ,other optional arguments])


1).这个函数主要是打开一个到SQLite数据库文件的链接

若成功返回一个对象,如果给定的数据库名称不存在,则该调用将创建一个数据库。如果我不想在当前目录中创建数据库,那么你可以指定一个路径即可.


2).数据库好了,我们要建表

数据库其实就是一个一个表,然后维护这些表之间的爱和情仇,如何建表呢,简单,用SQL语句建表,SQL语句还是很通俗易懂的:

学会最简单的数据库|看完这7招就够了


首先创建一个table名字叫USERS,如果不存在就创建它:

然后这个表有6列,每一个分别是:

  • ID #为主key,就是唯一标识表中某一条记录,不能重复,类似身份证

  • NAME #类型是TEXT,也就是字符串,是可变长度的字符串

  • AGE  #类型是INT,也就是整型

  • SEX  #类型是字符串,固定长度为10个字节,不管用不用都分配10个字节

  • CITY #类型是字符串,固定长度为30个字节,不管用不用都分配30个字节

  • SALARY #类型是浮点数


接着插入数据:

INSERT INTO USERS (ID,NAME,AGE,SEX,CITY,SALARY) VALUES(1,'Leo',32,'Male','ShangHai',12000)

也是一个SQL语句,和前面的key要对应,按顺序写入我们的表格内容


然后提交commit:

connection.commit()

辛苦写了半天,要提交当前的事务。如果忘记了,对不起那么你所做的任何动作对数据库连接来说是不可见的


最后关闭数据库

connection.close(),千万不要忘记关闭


学会最简单的数据库|看完这7招就够了



2

读取数据库

创建好了数据库之后,我们要读一下,读数据就简单多了,我们用SELECT语句


SQLite 的 SELECT 语句,可以方便从 SQLite 数据库表中获取数据,以结果表的形式返回数据。这些结果表也被称为结果集,然后我们打印出这个结果集里面的每一行数据.

学会最简单的数据库|看完这7招就够了


select * from USERS 查询表里面的所有数据,返回给一个游标cursor

循环打印出每一行的数据


3

插入数据库

如果我们要添加一行新的内容到数据库中怎么办,用INSERT语句

conn.execute("INSERT INTO USERS (ID,NAME,AGE,SEX,CITY,SALARY) VALUES (10,'Lily',30,'Female','GuangZhou', 13000)");


比如我们增加一个姑娘的工资到数据库中,就要依此把每一列的内容写入表中

切记:确保值的顺序与列在表中的顺序一致


学会最简单的数据库|看完这7招就够了


4

更新数据库

数据库经常要更新,比如ID=10 的Lily同学工资猛涨了,帮她更新一下数据库吧,我们用Update 语句.

conn.execute("UPDATE USERS set SALARY =30000.00 WHERE ID=10");


SQLite 的 UPDATE 查询用于修改表中的记录,一般都是配合使用带有 WHERE 子句的 UPDATE 查询然后指定的那一行,这里我们是要更新ID=10,要不然你会把所有人的工资都更新了,那老板就哭了~~


学会最简单的数据库|看完这7招就够了


5

查询数据库

数据库搞好了,我们是要查询是必须呢,怎么查询呢,我们用Select 语句

跟前面的读数据有点类似,只是上面是全盘读取,我们这边是按照某一个条件读取.


比如我们要查表,年龄大于30岁,并且工资在10000以上的同学

cursor = conn.execute("SELECT AGE,SALARY from USERS "

                          "WHERE AGE>30 and SALARY >=10000")


用一个复合的逻辑判断一下就搞定了,是不是象英语一样表诉,SQL语言还是很简洁的.

学会最简单的数据库|看完这7招就够了



6

排序数据库

数据库的排序也是经常要用的,我们要按照某一些规则来排序,比如按照工资排序,比如按照年龄排序,怎么排呢,用ORDER BY语句


SQLite 里的 ORDER BY 子句是用来按照一个或多个列按升序或降序来排列


比如按工资排序:

<span style="background-color:#3c3c57;">conn</span>.execute(<span style="color:#a5c261;">"SELECT id, name, CITY, salary  from USERS ORDER BY salary DESC "</span>)


学会最简单的数据库|看完这7招就够了

>>

(10, u'Lily', u'GuangZhou', 30000.0)

(2, u'Jack', u'BeiJing', 15000.0)

(1, u'Leo', u'ShangHai', 12000.0)

(4, u'Martin', u'NanJing', 9500.0)

(3, u'Lulu', u'ChengDu', 8000.0)



7

删除数据库

上面说了6种,还差一种经常会用的操作,就是删除数据库里面的内容,前面一开始就就用了一招删除整个表,如果想删除一个表里面的一行怎么操作呢,用Delete语句


SQLite 的 DELETE 查询用于删除表中已有的记录,一般也是用带有 WHERE 子句的 DELETE 查询来删除选定行,否则所有的记录都会被删除。


比如我们删除ID=2同学的记录:

conn.execute("DELETE from USERS where ID=2")

切记要conn.commit()


学会最简单的数据库|看完这7招就够了



结论:


好了,SQLite数据库的入门操作就讲道这里了,是不是很简单啊,其实很多复杂的东西都是一层一层抽丝剥茧的去理解,会轻松很多,如果大家对今天的内容有什么疑问,欢迎留言一起讨论,后面我们会有一些实战的例子来综合运用一下数据库,敬请期待吧.




欢迎大家关注 菜鸟学Python",更多好玩有趣的Python原创教程,趣味算法,经验技巧,行业动态,尽在菜鸟学Python,一起来学python吧



历史人气文章

菜鸟学Python入门教程大盘点|7个多月的心血总结

同学,学Python真的不能这样学

全网爬取6500多只基金|看看哪家基金最强

用Python破解微软面试题|24点游戏

2道极好的Python算法题|带你透彻理解装饰器的妙用

一道Google的算法题 |Python巧妙破解


 长按二维码,关注【菜鸟学python】

和12000+小伙伴一起学Python

学会最简单的数据库|看完这7招就够了


来源 | 菜鸟学Python

作者 | xinxin

本文章为菜鸟学Python独家原创稿件,未经授权不得转载






本篇文章来源于: 菜鸟学Python

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写

发表评论

表情 格式 链接 私密 签到
扫一扫二维码分享