python基础之操作数据库(pymysql)操作
import pymysql
import datetime
#安装 pip install pymysql
"""
1、连接本地数据库
2、建立游标
3、创建表
4、插入表数据、查询表数据、更新表数据、删除表数据
"""
#连接本地数据库
db = pymysql.connect(
host = "localhost", #数据库的主机地址
user = "root", #数据库登录的用户名
passwd = "123456", #数据库登录的密码
database = "test" #数据库名字
)
#创建游标
cursor = db.cursor()
def create_table():
#如果存在student表,则删除
cursor.execute("DROP TABLE IF EXISTS student")
#创建student表 --元组
sql = """
create table student(
id int not null,
name char(10),
age int,
address char(20),
create_time datetime)
"""
try:
# 执行SQL语句
cursor.execute(sql)
print("创建数据库成功")
except Exception as e:
print("创建数据库失败:case%s"%e)
finally:
pass
#关闭游标连接
# cursor.close()
# 关闭数据库连接
# db.close()
def insert_into():
#批量插入数据
sql = "INSERT INTO student VALUES(%s,%s,%s,%s,%s)"
params = [
(1,"小王",23,"深圳",datetime.datetime.now()),
(2,"小刘",24,"深圳",datetime.datetime.now()),
(3,"小宋",25,"深圳",datetime.datetime.now())
]
try:
# 执行SQL语句 批量插入用executemany
cursor.executemany(sql,params)
# 提交到数据库执行
db.commit()
print("有",cursor.rowcount,"插入数据成功")
except Exception as e:
print("插入数据失败:case%s"%e)
# 如果发生错误则回滚
db.rollback()
finally:
pass
# 关闭游标连接
# cursor.close()
# 关闭数据库连接
# db.close()
def update_Set():
#SQL语句更新数据
sql = """UPDATE student SET address = '东莞' WHERE ID = %s"""%(2)
try:
# 执行SQL语句
cursor.execute(sql)
# 提交到数据库执行
db.commit()
print("有",cursor.rowcount,"更新数据成功")
except Exception as e:
print("数据更新出错:case%s"%e)
#发生错误是回滚
db.rollback()
finally:
pass
# 关闭游标连接
# cursor.close()
# 关闭数据库连接
# db.close()
def select_form():
# SQL 查询语句 --条件查询
sql = "SELECT * FROM student WHERE ID = %s"%(2)
try:
# 执行SQL语句
cursor.execute(sql)
# 获取所有记录列表 fetchall
results = cursor.fetchall()
for row in results:
id = row[0]
name = row[1]
age = row[2]
address = row[3]
create_time = row[4]
print("id=%s,name=%s,age=%s,address=%s,create_time=%s"%\
(id,name,age,address,create_time))
except Exception as e:
print("查询出错:case%s"%e)
finally:
# 关闭游标连接
cursor.close()
# 关闭数据库连接
db.close()
def exit():
"""退出系统"""
import sys
sys.exit()
print("退出系统")
def main():
while True:
choice = int(input("请选择下面的数字:\n"
"1.创建表\n"
"2.插入数据\n"
"3.更新数据\n"
"4.查询数据\n"
"5.退出系统\n"
))
if choice == 1:
create_table()
elif choice == 2:
insert_into()
elif choice == 3:
update_Set()
elif choice == 4:
select_form()
else:
exit()
if __name__ == "__main__":
main()
python基础之操作数据库(pymysql)操作的更多相关文章
- JavaScript操作数据库JS操作Access数据库
avaScript操作数据库JS操作Access数据库,跟其他语言操作差不多,总结了一下习惯代码,仅供参考学习.现在在F盘有文件abc.mdf,表名为Student,一共2个字段,Id数字类型主键,s ...
- python基础学习24----使用pymysql连接mysql
使用pymysql连接mysql 安装pymysql pymysql安装可以通过两种方式 使用pip安装 首先简单说一下pip的使用方法 获取帮助 pip --help 升级 pip pip inst ...
- Python 操作数据库pymysql
import pymysql #添加数据 conn , user='root', passwd='', db='yyy') #更改获取数据结果的数据类型,默认是元组,可以改为字典等:#cursor=c ...
- python 基础 9.3 mysql 数据操作
#/usr/bin/python #coding=utf-8 #@Time :2017/11/21 0:20 #@Auther :liuzhenchuan #@File :mysql 数据操作 ...
- python基础之元组、文件操作、编码、函数、变量
1.集合set 集合是无序的,不重复的,主要作用: 去重,把一个列表变成集合,就可以自动去重 关系测试,测试两组数据的交集,差集,并集等关系 操作例子如下: list_1 = [1,4,5,7,3,6 ...
- 使用Python来对MySQL数据库进行操作
使用Python对Mysql进行操作,前提是安装了python-Mysql的安装包,安装的方法有多种,可以使用easy_install或者pip 或者是源码进行安装. 下面介绍下如何使用Python ...
- Python之路:Python 基础(三)-文件操作
操作文件时,一般需要经历如下步骤: 打开文件 操作文件 一.打开文件 文件句柄 = file('文件路径', '模式') # 还有一种方法open 例1.创建文件 f = file('myfile. ...
- Python基础(七)-文件操作
一.文件处理流程 1.打开文件,得到文件句柄赋值给一个变量 2.通过句柄对文件进行操作 3.关闭文件 二.基本操作 f = open('zhuoge.txt') #打开文件 first_line = ...
- Python基础之文件和目录操作
1 .文件操作 1.1 文件打开和关闭 在python, 使用 open 函数, 可以打开一个已经存在的文件, 或者创建一个新文件. # 打开文件 f = open('test.txt', 'w') ...
随机推荐
- Linux学习笔记:Linux命令之权限管理命令
权限管理命令 chmod(重要) 命令名称:chmod 英文原意:change the permissions mode of a file 执行权限:所有用户 功能描述:改变文件或目录权限 语法:c ...
- jmeter+ant+jenkins框架搭建问题
工具介绍: jmeter 接口编写,调试,执行. ant Ant是Java的生成工具,都是用来编译.生成:Ant的主要目的就是把你想做的事情自动化,不用你手动一步一步做,因为里面内置了java ...
- WordPress安装篇(5):源码编译安装LNMP并部署WordPress
与YUM方式安装相比,源码编译安装方式更灵活,安装过程中能自定义功能和参数,特别是在批量部署服务器又要求软件版本及配置一致时,源码编译安装的优势很明显.本文介绍如何通过源码编译方式安装Nginx1.1 ...
- C程序从编译到运行
第一篇文章 一.前言 最近在看CSAPP(深入理解计算机系统)然后以前也学过C语言,但是从来没有深究写好的C代码是怎么编译再到执行的. 所以现在自己学习,然后记录下来. 以最常用的hello worl ...
- Java知识复习(二)
如何格式化日期? SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); Date dat=new Da ...
- 《MySQL面试小抄》索引失效场景验证
我是肥哥,一名不专业的面试官! 我是囧囧,一名积极找工作的小菜鸟! 囧囧表示:小白面试最怕的就是面试官问的知识点太笼统,自己无法快速定位到关键问题点!!! 本期主要面试考点 面试官考点之什么情况下会索 ...
- MetingJS 是如何配合 Aplayer 加载歌单的?
Meting.js 介绍 Meting.js 依赖 APlayer.js,扩展了 APlayer.js 的功能,能够使 APlayer.js 加载网易云音乐.QQ 音乐.虾米音乐中的歌单. 安装 &l ...
- 96、linux之rpm包定制
96.1.rpm包定制介绍: 编译安装软件,优点是可以定制化安装目录.按需开启功能等,缺点是需要查找并实验出适合的编译参数,诸如MySQL之类的软件编译耗时过长. yum安装软件,优点是全自动化安装, ...
- C. Learning Languages 求联通块的个数
C. Learning Languages 1 #include <iostream> 2 #include <cstdio> 3 #include <cstring&g ...
- MyBatis-HotSwap, MyBatis热部署
https://github.com/xiaochenxinqing/MyBatis-HotSwap 1 https://github.com/xiaochenxinqing/MyBatis-Ho ...