Python练习之操作MySQL数据库
作者:??孤寒者???? 发布时间:2024-01-20 12:29:22
标签:Python,操作,MySQL,数据库
文章介绍内容:
操作MySQL数据库:
创建MySQL数据表;
向表中插入记录;
其他数据库操作。
面试题:
如何创建MySQL数据表?
如何向MySQL表中插入数据?
如何查询MySQL中的数据?
一、创建MySQL数据表
# coding=utf-8
from pymysql import *
def connectDB():
'''
连接本地MySQL数据库,指定连接的库为test库。
:return:
'''
db = connect(host='localhost', user='root', password='123456', port=3306, db='test')
return db
db = connectDB()
print(type(db))
def createTable(db):
c = db.cursor()
try:
c.execute('''create table persons
(id int primary key not null,
name text not null,
age int not null,
address char(100),
salary real);''')
db.commit()
db.commit()
return True
except:
db.rollback()
return False
if createTable(db):
print('create table success')
else:
print('create table failed')
使用navicat工具查看:
三、向MySQL表中插入数据
# coding=utf-8
from pymysql import *
def connectDB():
'''
连接本地MySQL数据库,指定连接的库为test库。
:return:
'''
db = connect(host='localhost', user='root', password='123456', port=3306, db='test')
return db
db = connectDB()
print(type(db))
def insertRecords(db):
cursor = db.cursor()
try:
cursor.execute("delete from persons")
cursor.execute('''
insert into persons(id,name,age,address,salary)
values(1, 'GuHanZhe', 18, 'China', 9999)
''')
cursor.execute('''
insert into persons(id,name,age,address,salary)
values(2, 'XiaoZhang', 55, 'China', 9)
''')
db.commit()
return True
except Exception as e:
print(e)
db.rollback()
return False
if insertRecords(db):
print("成功插入记录")
else:
print("插入记录失败")
使用navicat工具查看:
三、查询MySQL中的数据
# coding=utf-8
from pymysql import *
def connectDB():
'''
连接本地MySQL数据库,指定连接的库为test库。
:return:
'''
db = connect(host='localhost', user='root', password='123456', port=3306, db='test')
return db
db = connectDB()
def selectRecords(db):
cursor = db.cursor()
sql = 'select name,age,salary from persons order by age desc'
cursor.execute(sql)
results = cursor.fetchall()
print(results)
print(type(results)) # 打印发现是元组类型
selectRecords(db)
db.close()
我们发现查询数据输出类型是元组类型,如果我们想要将字段名和查询出的数据一一对应该怎么做呢?
这里就需要用到两个很常用的函数dict()和zip(),如下:
# coding=utf-8
import json
from pymysql import *
def connectDB():
'''
连接本地MySQL数据库,指定连接的库为test库。
:return:
'''
db = connect(host='localhost', user='root', password='123456', port=3306, db='test')
return db
db = connectDB()
def selectRecords(db):
cursor = db.cursor()
sql = 'select name,age,salary from persons order by age desc'
cursor.execute(sql)
results = cursor.fetchall()
print(results)
print(type(results)) # 打印发现是元组类型
# 将字段名和查询结果整合在一起
fields = ['name', 'age', 'salary']
records = []
for row in results:
records.append(dict(zip(fields, row)))
return json.dumps(records) # 输出类型为JSON字符串
endresults = selectRecords(db)
print(endresults)
db.close()
来源:https://juejin.cn/post/7101921300704133151
0
投稿
猜你喜欢
- 缘由新手学习 Django 当配置好 HTML 页面后,就需要使用一些静态资源,如图片,JS 文件,CSS 样式等,但是 Django 里面
- 1、下载安装 python https://www.python.org/downloads/windows/web-based insta
- 在编译 PHP 时,如无特殊需要,一定禁止编译生成 CLI 命令行模式的 PHP 解析支持。可在编译时使用 –disable-CLI。一旦编
- 闭包account=0def atm(num,flag): global account  
- 代码#!/usr/bin/env python#coding=utf-8import random#生成[0, 1)直接随机浮点数print
- 一、编写Python脚本[root@lidabai ~]# vim harbor_clearimage.py# -*- coding:utf
- 4. 选择最有效率的表名顺序(只在基于规则的优化器中有效)ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,因此FROM子句中
- 1、字符串拼接通过+运算符现有字符串码农飞哥好,,要求将字符串码农飞哥牛逼拼接到其后面,生成新的字符串码农飞哥好,码农飞哥牛逼举个例子:st
- SQL Server中的伪列下午看QQ群有人在讨论(非聚集)索引的存储,说,对于聚集索引表,非聚集索引存储的是索引键值+聚集索引键值;对于非
- 我们来看看MD5加密码的实现:注意看一下他数据库里的加密位数!先在通用处申明:Private Const BITS_TO
- 1.global关键字默认情况下,在局部作用域对全局变量只能进行:读取,修改内部元素(可变类型),无法对全局变量进行重新赋值读取:CITY=
- ResNet沿用VGG完整的KaTeX parse error: Undefined control sequence: \time at
- python设置scatter颜色渐变的方法参考代码如下:<span style="font-size:18px;"
- Windows下ORACLE完全卸载:使用OUI可以卸载数据库,但卸载后注册表和文件系统内仍会有部分残留。这些残留不仅占用磁盘空间,而且影响
- 一年一度的六一儿童节又来了,祝大朋友小朋友节日快乐。你有没有一瞬间,特别想要回到童年?童年是一盒水彩笔,五颜六色精彩纷呈。童年是一幅漫画,新
- 1.文件结构MySQLdb和pymysql的使用差不多阅读的小伙伴可以自己尝试实现2.实验效果3.主文件:main.pyimport MyS
- Java Java 是由 Sun 公司开发而成的一种编程语言,利用 Jave 写成的小程序叫做 Java
- 目录1. 正则表达式_匹配单个字符2. 正则表达式_匹配多个字符3. 正则表达式_匹配分组小提示:4. 小练习答案:总结1. 正则表达式_匹
- --利用T-SQL语句,实现数据库的备份与还原的功能 ----体现了SQL Server中的四个知识点: ----1. 获取SQL Serv
- 前言当我们使用Python完成自己的原创的工具时,比如:端口扫描、弱口令爆破等。你是否想过添加自己的Logo,以及简要的帮助信息?如下:Sq