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. 学习Kubernetes,这些负载均衡知识点得知道!

    负载均衡 负载均衡是高可用架构的一个关键组件,主要用来提高性能和可用性,通过负载均衡将流量分发到多个服务器,同时多服务器能够消除这部分的单点故障. 一个没有使用负载均衡的Web架构一般会长得像这样: ...

  2. 如何获取一个Java对象所占内存大小

    新建一个maven工程 我们先在IDEA中新建一个名为ObjectSizeFetcherAgent的maven工程,如下图: 在maven项目中的pom.xml中新增一个打jar包的插件,如下: &l ...

  3. 在idea中编写自动拉取、编译、启动springboot项目的shell脚本

    idea 开发环境搭建 idea中安装shell开发插件 服务器具备的条件 已经安装 lsof(用于检查端口占用) 已安装 git 安装 maven 有 java 环境 背景 代码提交到仓库后,需要在 ...

  4. css 为什么给span加vertical-align: middle不起作用?

    vertical-align是什么意思?先举个例子! 这句html元素中的文本为什么不能垂直居中. <style> span{ height:60px;vertical-align: mi ...

  5. 多线程实现的方式二实现Rannable

    package thread; class Thread2 implements Runnable{ private String name; public Thread2(String name) ...

  6. win10 安装python模块objgraph+PyCharm环境配置

    1. 打开win10的命令行窗口 2.在命令行中输入python -m pip install objgraph,系统会自动帮忙安装 3.安装完成后,可以用命令python -m pip list查看 ...

  7. python是什么编程语言。

    python是一门动态解释性的强类型定义语言.

  8. Java入门程序HelloWord

    Java程序开发三步骤:编写,编译,运行 编译器(编译):javac.exe 解释器(运行):java.exe 编译:把我们能看得懂的java代码(xxx.java)翻译成jvm可以运行的java字节 ...

  9. CSP2019 爆炸记

    前言 第一次去参加\(csp\),被吊打,很慌. 之前\(NOIp\)普及组勉强一等,很慌. 考的也不是很好吧,很慌. 反正菜就对了. day -? 初赛,旁边坐着本校高三爷. 初赛比之前的模拟题简单 ...

  10. ElasticSearch 初识ES

    版权声明:本文为博主原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/u013047584/article/det ...