Java教程

数据库与SQL语言入门

本文主要是介绍数据库与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这个函数先记住就好了。

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

 

 

这篇关于数据库与SQL语言入门的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!