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. weighted—-LR的理解与推广

    在YouTube团队推荐系统Rank阶段,DNN输出层使用了weighted-LR,这既是这篇论文的一大创新点,也是一大难点.在这里,重新梳理下该算法的思路与推导,并进行推广. 理解 先说下常见的逻辑 ...

  2. pytest使用

    安装: pip install pytest pip install pytest-cov utils.py代码 def add(a, b): return a+b def inc(x): retur ...

  3. spring-boot maven插件

    Spring Boot Maven Plugin提供了Spring Boot的Maven支持,允许你打包可执行文件和war文件,并且就地运行. 1.Spring Boot Maven plugin的5 ...

  4. 修改Windows10 命令终端cmd的编码为UTF-8

    1. 临时修改 进入cmd窗口后,直接执行 chcp 2. 永久修改 在运行中输入regedit,找到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Pro ...

  5. Continuous Subarray Sum II

    Description Given an circular integer array (the next element of the last element is the first eleme ...

  6. nameserver

    --- deployments: - apiVersion: "apps/v1beta1" kind: "Deployment" metadata: annot ...

  7. java.security KeyPairGenerator

    KeyPairGenerator 类用于生成公钥和私钥对.密钥对生成器是使用 getInstance 工厂方法(返回一个给定类的实例的静态方法)构造的. 特定算法的密钥对生成器可以创建能够与此算法一起 ...

  8. 洛谷 P1373 小a和uim之大逃离 题解

    每日一题 day30 打卡 Analysis f[i][j][p][q]表示他们走到(i,j),且两人魔瓶内魔液量的差为p时的方法数.q=0表示最后一步是小a走的,q=1表示最后一步是uim走的.题目 ...

  9. PostgreSQL 查看表、索引等创建时间

    select s.oid,s.relname,t.stausename,t.stasubtype from pg_class s,pg_stat_last_operation t where s.re ...

  10. learning java ProcessHandle 获取进程相当信息

    Process p = rt.exec("notepad.exe"); ProcessHandle ph = p.toHandle(); System.out.println(&q ...