ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

数据库与SQL语言入门

2022-02-02 18:00:46  阅读:243  来源: 互联网

标签:execute cur students 数据库 SQL db sql 入门


一,数据库与sql语言

数据库其实就是用来存储大量数据并便于检索的一种手段,便于快速的检索大量数据

 

 

后面是最常用的sql命令

 

 

 

 

这个greate table就是在数据库里面创建了一张表,如果这张表不存在的话,就创建这张表,如果存在的话就忽略这段话。

 

 

二,创建数据库:

import sqlite3
db = sqlite3.connect("c:/tmp/test.db")
#连接数据库,若不存在则自动创建
cur = db.cursor()
#获取光标,操作数据库全部都要考光标实现
sql = "GREATE TABLE if not exists student (id integer primary key, name,text,gpa real,birthday date,age integer,picture blob)"
#如果students不存在的话 就创建一个表
cur.execute(sql)
cur.execute("insert into students value(1600,'张三',3.81,’2000-09-12‘,18,null)")
mylist = [(1700,'李四',"3.25",'2001-12-01',17,None)
          (1780,'李五',"3.85",'2001-11-01',17,None)]
for s in mylist:#依次插入mylist中的每个记录
    cur.execute("insert into students value(?,?,?,?,?,?)",(s[0],s[1],s[2],s[3],s[4],s[5]))
db.commit() #真正写入,写入操作都需要这个
cur.close()#关闭光标
db.close()#关闭数据库

步骤:首先先连接数据库,获取光标,写一个命令的字符串(sql)后面所有这些字符串的实现都是要依靠光标和execute函数。还有就是可以通过遍历的方式,把列表中元组的数据读入数据库中。

 三,数据库的查询和修改:

 

where其实就是像条件,最后一句就是有用and来连接,要按照年龄来排序的话,就要有OLDER BY age

db = sqlite3.connect("c/tmp/text2.db")
cur = db.cursor()#打开光标
sql = 'select *from students'#检索所有学生的内容
cur.execute(sql)
x = cur.fetchone()#取出满足内容的第一个记录
print(x)
print(x[1])
for x in cur.fetchall:#这个函数就是取出全部的记录
    print(x[:-1])
cur.execute("SELECT *FROM students WHERE name ='Jack'")
x = cur.fetchone()
if x == None:
    print("can not find Jack")
cur.close()
db.close()

 

 

 注意这个条件也是用and连接年龄按照降序排列。而且有一个细节就是如果这个执行语句不在execute函数里面的话,就是用小写,如果在里面就是用大写。

 

 

execute函数是可以在前面的sql语句中留有?的,这些问好由后面的元组参数来填补(当元组里面只有一个参数的时候一定要加上一个逗号)。

 

 五,处理二进制文件:

安装了一个request库可以获取地址

import requests
f = open('c:/tmp/tmp.jpg','rb')#打开文件所在地址
img = f.read()#用read把文件读出来
db = sqilte3.connect('c:/tmp/test2.dp')
cur = db.cursor()
sql = "UPDATA students SET picture=? WHERE name = '李四’"
cur.execute(sql,(img,))#把文件用updata set 搞到数据库里面

 

 也能够使用request库从网络上获取文件,即通过网址获取(后面学爬虫的时候在继续看)

imgStream这个函数先记住就好了。

后面是读取二进制形式的照片

 

 

标签:execute,cur,students,数据库,SQL,db,sql,入门
来源: https://www.cnblogs.com/chengzhangpeideboke/p/15860564.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有