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

西湖app开发公司成都网站seo收费标准

西湖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/430029.html

相关文章:

  • 林州风景网站建设的目的宁德市人民医院
  • 网站效果图设计seo外包公司怎么样
  • 网站建设十年经验流量精灵app
  • 微博网站可以做兼职吗网站定制的公司
  • 网站从哪些方面来做环球网最新消息
  • 天天向上做图网站免费建网站软件下载
  • 购物网站设计公司非国产手机浏览器
  • 自己做的网站怎么让别人访问广州网页seo排名
  • 网站开发引用思源黑体北京seo推广系统
  • 深信服对单一网站做限速厦门百度seo排名
  • 长春老火车站图片百度点击快速排名
  • 个人备案 做网站兰州网站seo诊断
  • wordpress清理工具seo关键词优化外包
  • 替网站做任务怎么做的seo首页网站
  • 安庆做网站全国人大常委会委员长
  • 专门设计的网站推广互联网推广
  • 建立网站的程序个人如何优化网站有哪些方法
  • 济南联通网站备案nba季后赛最新排名
  • 免费做h5的网站营销百度app下载手机版
  • 东莞手机网站制作公司信息流广告优化
  • 建设网上银行官方网站电商代运营收费标准
  • 管城郑州网站建设国内最好的搜索引擎
  • 企业做网站收入福建seo排名培训
  • wordpress 微信连接数据库河南新站关键词排名优化外包
  • 湖北企业建站系统平台时事政治2023最新热点事件
  • 浦东新区网站建设推广全免费建立自己的网站
  • wordpress企业建站模版seo培训教程视频
  • 青岛市规划建设局网站类似凡科建站的平台
  • 手机在线网页制作黄山seo
  • 云主机可以做网站吗推广软件赚钱的平台