当前位置: 首页 > wzjs >正文

创app开发 杭州app开发公司seo推广优化工具

创app开发 杭州app开发公司,seo推广优化工具,赣州网站建设策划,北京高端网站建设价格目录 一、数据库 1、数据库的概念 2、数据库的表 3、字段详解 二、SQL数据库语句 1、了解SQL命令 2、CREATE命令 3、INSERT命令 三、数据库和SQL命令 四、数据库的查询与修改 1、SELECT命令 2、UPDATE命令 3、DELETE命令 4、DROP TABLE 5、SQL的注意事项 五、处…

目录

一、数据库

1、数据库的概念

2、数据库的表

3、字段详解

二、SQL数据库语句

1、了解SQL命令

2、CREATE命令

3、INSERT命令

三、数据库和SQL命令

四、数据库的查询与修改

1、SELECT命令

2、UPDATE命令

3、DELETE命令

4、DROP TABLE

5、SQL的注意事项

五、处理二进制字段


在Python中,我们通常会用列表,字典,元组等数据类型来存储一些数据,但是当我们有大量的数据时,使用这些数据类型会比较麻烦,比如要进行写入,修改,查找等操作时,我们要进行大量的数据编辑,这时我们可以把Python结合数据库来使用,下面我们会介绍其内容。

一、数据库

1、数据库的概念

数据库可以用来存放大量的数据,并且提供了方便且快速的检索手段,且能够快速查找出符合某种条件的数据(比如所有身高在170cm以上的男生)

数据库可以是一个文件比如“c:/tmp/students.db”

2、数据库的表

一个数据库文件中,可以包含很多张表,比如在students.db的数据库文件中,包含学生信息表和学生课程表

而一个表由记录构成,比如在一个学生信息的表中,每一个记录,就代表一个学生的信息

而一个记录由字段构成,每个字段对应一个属性,一个记录中若包含多个字段,就是在表述这个事物的多个属性,比如拿出一个学生记录,可以由name(姓名),id(学号),age(年龄),gender(性别)等字段构成

3、字段详解

每一个字段都是有“类型”的,下面我们用一个学生信息表的例子来介绍一下:

字段名数据类型
name(姓名)text(字符串)
gpa(成绩)real(小数)
age(年龄)integer(整数)
profile(用户资料)text(字符串)
photo(照片)blob(二进制数据)
birthday(生日)date(日期,本质上就是text)
register time(注册时间)datetime(日期+时间,本质上就是text)

二、SQL数据库语句

1、了解SQL命令

SQL命令是用来对数据库进行操作的标准语句,它支持多种数据库的操作

下面我们介绍几种常见的SQL命令(不区分大小写)

SQL命令功能
CREATE TABLE创建一个表
INSERT INTO在表中插入记录
UPDATE在表中更新记录
SELECT在表中查询记录
DALETE从表中删除记录

2、CREATE命令

我们可以用CREATE命令来创建一个表:

例子:

CREATE TABLE if not exists students (id integer primary key , name text , gpa real , birthday date , age integer , picture blob)

这个命令会创建一个名为students的表,里面会包含许多种字段(绿色的字),而后面跟着的黑色的字就是其对应的数据类型,而第一个id后面的(primary key)表示不可重复

3、INSERT命令

我们可以用INSERT INTO 命令来插入一个记录

例子:

INSERT INTO students VALUES(001 , 'Sue' , 100 , '1900-01-01' , 19 , null)

这条命令在students表中插入了一个记录,该记录暂无照片,就用“null”表示

而VALUES是指该记录中每个字段的值是什么

三、数据库和SQL命令

下面我们把数据库和Python结合:

在结合的时候我们需要导入一个sqlite3的包:

我们来看一个简单的例子:

先在某目录下创建一个后缀是.db的数据库文件(也可以不创建,但是要在Python的代码中明确之处想要创建的文件的目录及名称)

创建完成后我们在Python的文件中创建对数据库执行操作的代码:

import sqlite3db = sqlite3.connect("D:\学习\Python\students.db")    #连接数据库,若不存在则自动创建
cur = db.cursor()       #获取光标,操作数据库一般需要通过光标来进行
sql = "CREATE TABLE if not exists students (id integer primary key , name text , gpa real , birthday date , age integer )"      #创建一个students的表。如果不存在就创建它
cur.execute(sql)    #通过光标来执行上面的SQL命令
cur.execute("INSERT INTO students VALUES(1001 , 'Sue' , 100 , '1900-01-01' , 19 , 1 )")     #插入一个记录
mylist = [(1002 , 'Lua' , 98 , '1900-01-02' , 99.5 , 1) , (1003 , 'Don' , 88.5 , '1999-02-18' , 67 , 1)]for i in mylist :       #可把列表中的每个元素都遍历一遍,然后把这些数据依次插入到students表中cur.execute('INSERT INTO students VALUES(?,?,?,?,?,?)' , (i[0] , i[1] , i[2] , i[3] , i[4] , i[5]))     #“ ?”对应这后面的每一项i[x],证明是可变变量db.commit()     #执行这条语句,才能真正的把上面那些操作完成
cur.close()     #关闭光标
db.close()      #关闭数据库

执行后,我们可以用SQLite软件来查看:

可以发现我们的成功的创建了students这个表,并且插入了相关的记录

四、数据库的查询与修改

1、SELECT命令

SELECT命令是一个十分强大的命令,它可以根据你的要求去筛选记录:

下面是一些例子:

①:SELECT * FROM students

检索表students表中的全部记录

( * 代表查询所要求的记录的全部字段 )

②:SELECT * FROM students ORDER BY age

检索表students表中的全部记录,并按年龄排序

③:SELECT name , age FROM students

检索表students表中的全部记录,但每个记录只取name和age字段

④:SELECT * FROM students WHERE name = " Sue "

检索表中全部name字段为“Sue”的记录

(WHERE 代表检索条件)

⑤:SELECT * FROM students WHERE name = "Sue" AND age > 20 ORDER BY age DESC

检索表中name字段是“Sue”,且年龄大于20的人,并且结果按年龄的降序排序

下面我们根据上面已经创建好的数据库文件,来进行一个筛选:

import sqlite3db = sqlite3.connect("D:\学习\Python\students.db")    #连接数据库
cur = db.cursor()       #创建光标
sql = 'SELECT * FROM students WHERE age < 50'   #要执行的SQL语句
cur.execute(sql)    #执行SQL语句
x = cur.fetchall()      #获取SQL语句操作后,得到的结果
if x != [] :print("符合条件的共有:" , len(x))for i in x :print(i)cur.close()     #关闭光标
db.close()      #关闭数据库

我们想要筛选数据库中年龄小于50的记录

输出:

2、UPDATE命令

①UPDATE students SET age = 18

把所有记录的age都改成18

②UPDATE students SET , gpa = 88 , age = 99 WHERE name = "Don"

修改name = Don 的gpa字段和age字段

例子:

import sqlite3db = sqlite3.connect("D:\学习\Python\students.db")    #连接数据库
cur = db.cursor()       #创建光标
sql = 'UPDATE students SET age = ? WHERE name = ?'   #要执行的SQL语句
cur.execute(sql , (1, "Don"))    #执行SQL语句,元组中的两个元素对应上面的两个?(若Don不存在,则无效果)
db.commit()     #只要改变了数据库的数据就必须执行这个!!!
cur.close()     #关闭光标
db.close()      #关闭数据库

我们回到数据库的表中,发现Don的年龄被改成了1(神秘返老还童术):

3、DELETE命令

①DELETE FROM students WHERE age <18

删除年龄小于18的记录

②DELETE FROM students

删除全部记录

4、DROP TABLE

DROP TABLE IF EXISTS students

删除students表

(这个操作最后也需要commit)

5、SQL的注意事项

对于修改表的操作:如插入,删除,更新,在关闭数据库前不要忘记commit!否则可能无效

五、处理二进制字段

把图片放入数据库

import sqlite3
import requests     #网络请求db = sqlite3.connect("D:\学习\Python\students.db") 
cur = db.cursor()imgURL = "https://img5.duitang.com/uploads/item/201605/19/20160519224441_VFMWR.jpeg"
imgStream = requests.get(imgURL, stream = True)     #stream=True 参数告诉 requests 库以流式传输(streaming)的方式获取数据,而不是一次性将所有内容下载到内存中
sql = "UPDATE students SET picture = ? WHERE name = 'Don'"
cur.execute(sql , (imgStream.content , ))       #注意元组最后需要有一个逗号db.commit()
cur.close()
db.close()

补充:

f = open (r"D:\学习\Python\001.jpg" , "rb")   #字符串之前的r是把字符串内的任何特殊字符数字均看成字符,后面的rb的r是读取,b是二进制

以上就是Python与数据库的全部内容:)

http://www.dtcms.com/wzjs/147927.html

相关文章:

  • 青岛商务学校网站建设近期10大新闻事件
  • 贸易网站模板seo也成搜索引擎优化
  • 什么是门户网站?长沙seo网站管理
  • wordpress 小清新主题郑州抖音seo
  • 厦门公司建站快速开发网站的应用程序
  • 网站ip地址 a记录如何宣传推广自己的产品
  • wordpress装了英文版怎么转中文关键词优化是什么意思
  • 上海 .net网站建设营销推广的主要方法
  • 连云港网站优化长春关键词优化报价
  • 新的网站设计公司指数函数求导
  • 设计名字的网站秦皇岛seo优化
  • 山东岩海建设资源有限公司网站b站视频推广的方法有哪些
  • 绵阳做seo网站公司seo推广效果
  • 中江移动网站建设站长平台百度
  • 免费搭建企业网站跨境电商怎么做
  • 网页设计公司上海深圳seo网站推广方案
  • 跨境电商平台有哪些app重庆网站seo公司
  • 深圳建设网站开发搜索引擎关键词竞价排名
  • 外包服务美剧嘉兴seo网络推广
  • 汕头网站建设sthke新网站友链
  • 使用vue做单页面网站郑州百度搜索优化
  • 长沙网站seo源头厂家百度问答库
  • 做会计要经常关注哪些网站外贸网站推广公司
  • 网站建站模板样例营销型企业网站建设的内容
  • 网站开发报告参考文献天津百度推广排名
  • 网站设计制作哪个好如何修改百度上面的门店号码
  • 能播放优酷视频的网站怎样做百度答主中心入口
  • 自己做网站赚钱网络营销招聘
  • 临沂网站制作哪家靠谱市场营销策划方案模板
  • 网站速成营销广告语