https://www.bjsxt.com/down/8468.html

代码实现:

#coding:utf-
#导入模块
import sqlite3 #创建connect连接
con = sqlite3.connect('./sqlitedb/demo.db')
print(con) #查看连接是否成功生成,<sqlite3.Connection object at 0x10ae6b3b0> #创建游标对象
cur = con.cursor() #编写创建表的sql语句
sql = '''create table t_person(
pno INTEGER primary key autoincrement,
pname VARCHAR not null,
age INTEGER
)''' try:
#执行说sql语句
cur.execute(sql)
print('创建表成功')
except Exception as e:
print(e)
finally:
#关闭游标
cur.close()
#关闭连接
con.close()

返回:

/Users/user/PycharmProjects/python3/venv/bin/python /Users/user/PycharmProjects/python3/test.py
<sqlite3.Connection object at 0x106ded3b0>
创建表成功

操作sqlite3数据库插入数据

#coding:utf-
#导入模块
import sqlite3 #创建connect连接
con = sqlite3.connect('./sqlitedb/demo.db')
print(con) #查看连接是否成功生成,<sqlite3.Connection object at 0x10ae6b3b0> #创建游标对象
cur = con.cursor() #pno是自增长的,可不赋值
#(?,?)表示占位符,在执行时会传入
sql = 'insert into t_person(pname, age) values (?,?)'
try:
#执行说sql语句
cur.execute(sql, ('张三', ))
#提交事务
con.commit()
print('插入成功')
except Exception as e:
print(e)
#回滚
con.rollback()
print('插入数据失败')
finally:
#关闭游标
cur.close()
#关闭连接
con.close()

返回:

/Users/user/PycharmProjects/python3/venv/bin/python /Users/user/PycharmProjects/python3/test.py
<sqlite3.Connection object at 0x10c6ac3b0>
插入成功 Process finished with exit code

插入多条数据:

#coding:utf-
#导入模块
import sqlite3 #创建connect连接
con = sqlite3.connect('./sqlitedb/demo.db')
print(con) #查看连接是否成功生成,<sqlite3.Connection object at 0x10ae6b3b0> #创建游标对象
cur = con.cursor() #pno是自增长的,可不赋值
#(?,?)表示占位符,在执行时会传入
sql = 'insert into t_person(pname, age) values (?,?)'
try:
#执行插入多条sql语句
cur.executemany(sql, [('小李', ), ('小明', ), ('小雨', )])
#提交事务
con.commit()
print('插入多条数据成功')
except Exception as e:
print(e)
#回滚
con.rollback()
print('插入多条数据失败')
finally:
#关闭游标
cur.close()
#关闭连接
con.close()

返回:

/Users/user/PycharmProjects/python3/venv/bin/python /Users/user/PycharmProjects/python3/test.py
<sqlite3.Connection object at 0x1019fd3b0>
插入多条数据成功 Process finished with exit code

操作sqlite3数据库查询数据

#coding:utf-
#导入模块
import sqlite3 #创建connect连接
con = sqlite3.connect('./sqlitedb/demo.db')
print(con) #查看连接是否成功生成,<sqlite3.Connection object at 0x10ae6b3b0> #创建游标对象
cur = con.cursor() sql = 'select * from t_person'
try:
#执行查询所有sql内容
cur.execute(sql)
#获取所有数据
person_all = cur.fetchall() #返回的是数组
#遍历输出
for p in person_all:
print(p) except Exception as e:
print(e)
print('查询失败')
finally:
#关闭游标
cur.close()
#关闭连接
con.close()

返回:

/Users/user/PycharmProjects/python3/venv/bin/python /Users/user/PycharmProjects/python3/test.py
<sqlite3.Connection object at 0x105f903b0>
(, '张三', )
(, '小李', )
(, '小明', )
(, '小雨', ) Process finished with exit code

查询一条:

#coding:utf-
#导入模块
import sqlite3 #创建connect连接
con = sqlite3.connect('./sqlitedb/demo.db')
print(con) #查看连接是否成功生成,<sqlite3.Connection object at 0x10ae6b3b0> #创建游标对象
cur = con.cursor() sql = 'select * from t_person'
try:
#执行查询所有数据sql语句
cur.execute(sql)
#获取一条数据
person = cur.fetchone()
print(person) except Exception as e:
print(e)
print('查询失败')
finally:
#关闭游标
cur.close()
#关闭连接
con.close()

返回:

/Users/user/PycharmProjects/python3/venv/bin/python /Users/user/PycharmProjects/python3/test.py
<sqlite3.Connection object at 0x1092793b0>
(, '张三', ) Process finished with exit code

修改数据:

#coding:utf-
#导入模块
import sqlite3 #创建connect连接
con = sqlite3.connect('./sqlitedb/demo.db')
print(con) #查看连接是否成功生成,<sqlite3.Connection object at 0x10ae6b3b0> #创建游标对象
cur = con.cursor() sql = 'update t_person set pname=? where pno=?'
try:
#执行修改sql语句
cur.execute(sql,('张四',))
#提交事务
con.commit()
print('修改成功') except Exception as e:
print(e)
#回滚
con.rollback()
print('修改失败')
finally:
#关闭游标
cur.close()
#关闭连接
con.close()

返回:

/Users/user/PycharmProjects/python3/venv/bin/python /Users/user/PycharmProjects/python3/test.py
<sqlite3.Connection object at 0x10d4bb3b0>
修改成功 Process finished with exit code

查询可见修改成功:

/Users/user/PycharmProjects/python3/venv/bin/python /Users/user/PycharmProjects/python3/test.py
<sqlite3.Connection object at 0x10ab113b0>
(, '张四', ) Process finished with exit code

删除数据:

#coding:utf-
#导入模块
import sqlite3 #创建connect连接
con = sqlite3.connect('./sqlitedb/demo.db')
print(con) #查看连接是否成功生成,<sqlite3.Connection object at 0x10ae6b3b0> #创建游标对象
cur = con.cursor() sql = 'delete from t_person where pno=?'
try:
#执行删除sql语句
cur.execute(sql,(,)) #元组仅有一个参数,必需有面加逗号,保证参数类型为元组
#提交事务
con.commit()
print('删除成功') except Exception as e:
print(e)
#回滚
con.rollback()
print('删除失败')
finally:
#关闭游标
cur.close()
#关闭连接
con.close()

返回:

/Users/user/PycharmProjects/python3/venv/bin/python /Users/user/PycharmProjects/python3/test.py
<sqlite3.Connection object at 0x101ebb3b0>
删除成功 Process finished with exit code

此时查看第一条数据为:

/Users/user/PycharmProjects/python3/venv/bin/python /Users/user/PycharmProjects/python3/test.py
<sqlite3.Connection object at 0x101e623b0>
(, '小李', ) Process finished with exit code

MySQL数据库的下载

我已经安装好了,这里省略,去官网下载即可,端口默认3306

安装对应的模块PyMySQL

以为之前的deeplearning中的可用在这,发现不行,所以就重新下载了:

(venv) (base) userdeMBP:python3 user$ pip install PyMySQL
Collecting PyMySQL
Using cached https://files.pythonhosted.org/packages/ed/39/15045ae46f2a123019aa968dfcba0396c161c20f855f11dea6796bcaae95/PyMySQL-0.9.3-py2.py3-none-any.whl
Installing collected packages: PyMySQL
Successfully installed PyMySQL-0.9.

我已经下载好了

操作MySQL数据库创建表

先是创建了数据库python_db:

首先先连接:

#导入pymysql
import pymysql #创建连接
con = pymysql.connect(host='localhost', user='root', password='user78', database='python_db', port=)
print(con)

成功连接:

/Users/user/PycharmProjects/python3/venv/bin/python /Users/user/PycharmProjects/python3/test.py
<pymysql.connections.Connection object at 0x103d3f6a0> Process finished with exit code
#导入pymysql
import pymysql #创建连接
con = pymysql.connect(host='localhost', user='root', password='user78', database='python_db', port=) #创建游标对象
cur = con.cursor() #编写创建表的sql,score总共三位,小数点占一位
sql = '''
create table t_student(
sno int primary key auto_increment,
sname varchar() not null,
age int(),
score float(,)
)
''' try:
#执行创建表的sql
cur.execute(sql)
print('创建成功')
except Exception as e:
print(e)
print('创建失败')
finally:
#关闭游标
cur.close()
#关闭连接
con.close()

返回:

/Users/user/PycharmProjects/python3/venv/bin/python /Users/user/PycharmProjects/python3/test.py
创建成功 Process finished with exit code

查看成功创建:

插入数据:

#导入pymysql
import pymysql #创建连接
con = pymysql.connect(host='localhost', user='root', password='user78', database='python_db', port=) #创建游标对象
cur = con.cursor() #插入数据
sql = 'insert into t_student(sname, age, score) values(%s, %s, %s)' try:
#执行创建表的sql
cur.execute(sql, ('王一', , ))
#提交事务
con.commit()
print('插入成功')
except Exception as e:
print(e)
con.rollback()
print('插入失败')
finally:
#关闭游标
cur.close()
#关闭连接
con.close()

返回:

/Users/user/PycharmProjects/python3/venv/bin/python /Users/user/PycharmProjects/python3/test.py
插入成功 Process finished with exit code

查看:

插入多条数据:

#导入pymysql
import pymysql #创建连接
con = pymysql.connect(host='localhost', user='root', password='user78', database='python_db', port=) #创建游标对象
cur = con.cursor() #插入数据
sql = 'insert into t_student(sname, age, score) values(%s, %s, %s)'
temp = [('王二', , ), ('王三', , )]
try:
#执行创建表的sql
cur.executemany(sql, temp)
#提交事务
con.commit()
print('插入成功')
except Exception as e:
print(e)
con.rollback()
print('插入失败')
finally:
#关闭游标
cur.close()
#关闭连接
con.close()

返回:

/Users/user/PycharmProjects/python3/venv/bin/python /Users/user/PycharmProjects/python3/test.py
插入成功 Process finished with exit code

查看:

查询数据

#导入pymysql
import pymysql #创建连接
con = pymysql.connect(host='localhost', user='root', password='user78', database='python_db', port=) #创建游标对象
cur = con.cursor() #查询多个数据
sql = 'select * from t_student where age >= 19' try:
#执行创建表的sql
cur.execute(sql)
students = cur.fetchall()
print(students)
print('查询成功')
except Exception as e:
print(e)
print('查询失败')
finally:
#关闭游标
cur.close()
#关闭连接
con.close()

返回:

/Users/user/PycharmProjects/python3/venv/bin/python /Users/user/PycharmProjects/python3/test.py
((, '王二', , 70.0), (, '王三', , 80.0))
查询成功 Process finished with exit code

查询:

#导入pymysql
import pymysql #创建连接
con = pymysql.connect(host='localhost', user='root', password='user78', database='python_db', port=) #创建游标对象
cur = con.cursor() #查询多个数据
sql = 'select * from t_student where age >= 19' try:
#执行创建表的sql
cur.execute(sql)
students = cur.fetchall()
for student in students:
print(student[], end = ' ,')
print(student[], end=' ,')
print(student[], end=' ,')
print(student[]) except Exception as e:
print(e)
print('查询失败')
finally:
#关闭游标
cur.close()
#关闭连接
con.close()

返回:

/Users/user/PycharmProjects/python3/venv/bin/python /Users/user/PycharmProjects/python3/test.py
,王二 , ,70.0
,王三 , ,80.0 Process finished with exit code

查询一个数据:

#导入pymysql
import pymysql #创建连接
con = pymysql.connect(host='localhost', user='root', password='user78', database='python_db', port=) #创建游标对象
cur = con.cursor() #查询一个数据
sql = 'select * from t_student where age >= 19' try:
#执行创建表的sql
cur.execute(sql)
student = cur.fetchone()
print(student) except Exception as e:
print(e)
print('查询失败')
finally:
#关闭游标
cur.close()
#关闭连接
con.close()

返回:

/Users/user/PycharmProjects/python3/venv/bin/python /Users/user/PycharmProjects/python3/test.py
(, '王二', , 70.0) Process finished with exit code

更新数据:

#导入pymysql
import pymysql #创建连接
con = pymysql.connect(host='localhost', user='root', password='user78', database='python_db', port=3306) #创建游标对象
cur = con.cursor() #查询一个数据
sql = 'update t_student set sname=%s where sno =%s' try:
#执行创建表的sql
cur.execute(sql, ('王五', 1))
#提交事务
con.commit() print('更新成功') except Exception as e:
print(e)
con.rollback()
print('更新失败')
finally:
#关闭游标
cur.close()
#关闭连接
con.close()

返回:

/Users/user/PycharmProjects/python3/venv/bin/python /Users/user/PycharmProjects/python3/test.py
更新成功 Process finished with exit code 0

查看:

删除数据:

#导入pymysql
import pymysql #创建连接
con = pymysql.connect(host='localhost', user='root', password='user78', database='python_db', port=3306) #创建游标对象
cur = con.cursor() #查询一个数据
sql = 'delete from t_student where sname =%s' try:
#执行创建表的sql
cur.execute(sql, ('王五',))
#提交事务
con.commit() print('删除成功') except Exception as e:
print(e)
con.rollback()
print('删除失败')
finally:
#关闭游标
cur.close()
#关闭连接
con.close()

返回:

/Users/user/PycharmProjects/python3/venv/bin/python /Users/user/PycharmProjects/python3/test.py
更新成功 Process finished with exit code 0

查看:

python-learning-第二季-数据库编程的更多相关文章

  1. python下的MySQL数据库编程

    https://www.tutorialspoint.com/python/python_database_access.htm if you need to access an Oracle dat ...

  2. python 教程 第二十章、 数据库编程

    第二十章. 数据库编程 环境设置 1).安装MySQL-python http://www.lfd.uci.edu/~gohlke/pythonlibs/ MySQL-python-1.2.3.win ...

  3. 小课堂week17 编程范式巡礼第二季 并发那些事

    编程范式巡礼第二季 并发那些事 继续上周的编程范式话题,今天想聊一下并发范式. 并发也算一种范式? 真正的并发式编程,绝不只是调用线程API或使用synchronized.lock之类的关键字那么简单 ...

  4. 运用Python语言编写获取Linux基本系统信息(三):Python与数据库编程,把获取的信息存入数据库

    运用Python语言编写获取Linux基本系统信息(三):Python与数据库编程 有关前两篇的链接: 运用Python语言编写获取Linux基本系统信息(一):获得Linux版本.内核.当前时间 运 ...

  5. Python学习系列(七)( 数据库编程)

    Python学习系列(七)( 数据库编程)        Python学习系列(六)(模块) 一,MySQL-Python插件       Python里操作MySQL数据库,需要Python下安装访 ...

  6. Python程序设计9——数据库编程

    1 数据持久化 持久化是将内存中的对象存储在关系数据库中,当然也可以存储在磁盘文件.XML数据文件中.实现数据持久化至少需要实现以下3个接口 void Save(object o):把一个对象保存到外 ...

  7. python 闯关之路四(下)(并发编程与数据库编程) 并发编程重点

    python 闯关之路四(下)(并发编程与数据库编程)   并发编程重点: 1 2 3 4 5 6 7 并发编程:线程.进程.队列.IO多路模型   操作系统工作原理介绍.线程.进程演化史.特点.区别 ...

  8. python之数据库编程

    python之数据库编程 sqlite 1.前期准备工作 导入模块: import sqlite3 连接数据库 conn = sqlite3.connect("test.db") ...

  9. python数据库编程_sqlite

    原文请看:http://blog.csdn.net/jj_liuxin/article/details/3584448 sqlite是一个轻量级的数据库,与很多大型的数据库(例如DB2,Oracle, ...

随机推荐

  1. 使用Numpy的矩阵来实现神经网络

    要是书都讲得这么细致, AI也不会那么难学啦. import numpy as np # sigmoid作为隐藏层的激活函数 def sigmoid(x): return 1 / (1 + np.ex ...

  2. [2019/05/17]解决springboot测试List接口时JSON传参异常

    报错信息,大致如下 c.c.c.c.a.BaseControllerExceptionHandler : 运行时异常: java.lang.IllegalStateException: No prim ...

  3. 51nod 2497 数三角形

    小b有一个仅包含非负整数的数组a,她想知道有多少个三元组(i,j,k),满足i<j<k且a[i],a[j],a[k]可能作为某个三角形的三条边的边长. 收起   输入 第一行输入一个正整数 ...

  4. 牛客NOIP暑期七天营-提高组1 解题报告

    https://ac.nowcoder.com/acm/contest/920#question A 构造+双指针 发现m的限制是1e5,而点数是5e4,所以不能构造太多的边,思考一下最短路树的定义. ...

  5. Scikit-learn库

    1 简介 对Python语言有所了解的科研人员可能都知道SciPy——一个开源的基于Python的科学计算工具包.基于SciPy,目前开发者们针对不同的应用领域已经发展出了为数众多的分支版本,它们被统 ...

  6. 《转》BAT批处理教程

    第一章 批处理基础第一节 常用批处理内部命令简介 批处理定义:顾名思义,批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT或者CMD.这些命令统称批处理命令.小知识:可以 ...

  7. 图表可视化highcharts和百度的echarts

    前端数据可视化插件有很多,有 Highcharts(https://www.hcharts.cn/) Echarts(http://echarts.baidu.com/) D3(https://d3j ...

  8. Selenium常用API的使用java语言之20-获取窗口截图

    自动化用例是由程序去执行,因此有时候打印的错误信息并不十分明确.如果在脚本执行出错的时候能对当前窗口截图保存,那么通过图片就可以非常直观地看出出错的原因. WebDriver提供了截图函数getScr ...

  9. Docker 安装mysql、oracle

    来源:唐山网站优化 Docker 安装mysql.oracle 使用ssh工具登录docker docker 的ip一般默认为192.168.99.100可以通过安装docker-machine之后, ...

  10. 《S》读后感

    利用周末时间读完了<S>,有一幅画面在脑袋里挥之不去:一条急湍直下的河,岸边茂密的枝叶延伸到河面上,很多人被河水冲向前方,每个人的眼里都夹杂着凄凉与愤怒,时不时回头,,想同这河水做一次歇斯 ...