广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python 学习笔记 - 操作MySQ
  • 840
分享到

Python 学习笔记 - 操作MySQ

学习笔记操作Python 2023-01-31 07:01:28 840人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

python里面操作Mysql可以通过两个方式:pymysql模块ORM框架的sqlAchemey本节先学习第一种方式。学习Python模块之前,首先看看MySQL的基本安装和使用,具体语法可以参考豆子之前的博客Http://beanxyz

python里面操作Mysql可以通过两个方式:

  1. pymysql模块

  2. ORM框架sqlAchemey


本节先学习第一种方式。


学习Python模块之前,首先看看MySQL的基本安装和使用,具体语法可以参考豆子之前的博客Http://beanxyz.blog.51cto.com/5570417/1609972

或者官方简介

https://mariadb.com/kb/en/mariadb/basic-sql-statements/


简单的回顾一下基本环境的搭建:


首先安装Mariadb(我的环境是Centos7)

yum install mariadb*
systemctl start mariadb

配置防火墙

firewall-cmd --add-port=3306/tcp --permanent
systemctl restart firewalld

配置root密码

mysqladmin -u root passWord 'mysql'
mysql -uroot -p


创建一个测试用的数据库和表

MariaDB [(none)]> create database mydb;
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> use mydb
Database changed
MariaDB [mydb]> create table student(id int not null auto_increment,name varchar(10), primary key(id));
Query OK, 0 rows affected (0.04 sec)

MariaDB [mydb]> insert into student(name) values('Jay'),('Bob'),('Alex');
Query OK, 3 rows affected (0.00 sec)
Records: 3  Duplicates: 0  Warnings: 0

MariaDB [mydb]> select * from student;
+----+------+
| id | name |
+----+------+
|  1 | Jay  |
|  2 | Bob  |
|  3 | Alex |
+----+------+
3 rows in set (0.00 sec)


创建一个远程访问的账户

MariaDB [(none)]> create user yli@10.2.100.60;
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> set password for yli@'10.2.100.60'=password('yli');
Query OK, 0 rows affected (0.01 sec)
MariaDB [(none)]> grant all privileges on mydb.* to yli@10.2.100.60;
Query OK, 0 rows affected (0.00 sec)


然后安装一个图形界面的工具Navicat,绑定数据库

wKioL1gij7nxF_w0AADPQRGw3qE012.png

wKiom1gij7rh9UoaAADlgxB33VI628.png


这样一个基本的测试环境就搭建好了。


现在来看看pymysql的使用。


在我的客户端安装一下pymysql的模块

C:\windows\system32>pip install pymysql
Collecting pymysql
  Downloading PyMySQL-0.7.9-py3-none-any.whl (78kB)
    100% |################################| 81kB 610kB/s
Installing collected packages: pymysql
Successfully installed pymysql-0.7.9


Python源码演示


查询

#!/usr/bin/env python
# -*- coding:utf-8 -*-
import pymysql
#打开数据库连接
conn = pymysql.connect(host='sydnagiOS', port=3306, user='yli', passwd='yli', db='mydb')
#创建一个游标对象
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)
#SQL查询
cursor.execute("select * from student")
# 获取第一行数据
# row_1 = cursor.fetchone()
# print(row_1)
# 获取前n行数据
# row_2 = cursor.fetchmany(3)
# 获取所有数据
row_3 = cursor.fetchall()
print(row_3)
#scroll可以使用相对位置或者绝对位置,这里相对位置(末尾)向上移动2行
cursor.scroll(-2,mode='relative')
row_3 = cursor.fetchall()
print(row_3)
#提交,不然无法保存新的数据
conn.commit()
#关闭游标
cursor.close()
#关闭连接
conn.close()
-----------
[{'id': 1, 'name': 'Jay'}, {'id': 2, 'name': 'Bob'}, {'id': 3, 'name': 'Alex'}]
[{'id': 2, 'name': 'Bob'}, {'id': 3, 'name': 'Alex'}]


修改

#!/usr/bin/env python
# -*- coding:utf-8 -*-
import pymysql
conn = pymysql.connect(host='sydnagios', port=3306, user='yli', passwd='yli', db='mydb')
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)
cursor.execute("Update student set name='BoB' where id=2")
cursor.execute("select * from student")
row_3 = cursor.fetchall()
print(row_3)
conn.commit()
cursor.close()
conn.close()
----------
[{'id': 1, 'name': 'Chris'}, {'id': 2, 'name': 'BoB'}, {'id': 3, 'name': 'Alex'}]


删除

#!/usr/bin/env python
# -*- coding:utf-8 -*-
import pymysql
conn = pymysql.connect(host='sydnagios', port=3306, user='yli', passwd='yli', db='mydb')
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)
cursor.execute("delete from student where id=2")
cursor.execute("select * from student")
row_3 = cursor.fetchall()
print(row_3)
conn.commit()
cursor.close()
conn.close()
----------
[{'id': 1, 'name': 'Chris'}, {'id': 2, 'name': 'BoB'}, {'id': 3, 'name': 'Alex'}]


添加

#!/usr/bin/env python
# -*- coding:utf-8 -*-
import pymysql
conn = pymysql.connect(host='sydnagios', port=3306, user='yli', passwd='yli', db='mydb')
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)
cursor.execute("insert into student(name) value ('ZhangSan'),('LiSi')")
cursor.execute("select * from student")
row_3 = cursor.fetchall()
print(row_3)
conn.commit()
cursor.close()
conn.close()
----------
[{'name': 'Chris', 'id': 1}, {'name': 'Alex', 'id': 3}, {'name': 'ZhangSan', 'id': 4}, {'name': 'LiSi', 'id': 5}]


--结束END--

本文标题: Python 学习笔记 - 操作MySQ

本文链接: https://www.lsjlt.com/news/191755.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python 学习笔记 - 操作MySQ
    Python里面操作MySQL可以通过两个方式:pymysql模块ORM框架的SQLAchemey本节先学习第一种方式。学习Python模块之前,首先看看MySQL的基本安装和使用,具体语法可以参考豆子之前的博客http://beanxyz...
    99+
    2023-01-31
    学习笔记 操作 Python
  • python学习笔记(十)、文件操作
    在前面我们了解到了没得模块,其中有一个模块为fileinput,为文件操作模块,不知道小伙伴们是否还记得?   1 打开文件   要打开文件,可以使用fileinput中的fileinput.input函数进行打开,也可以使用模块 io ...
    99+
    2023-01-31
    学习笔记 操作 文件
  • python学习笔记(一)-文件操作
    python的基本文件操作是包含在__buildin__模块中的。   I, 基本操作1, 打开fh=open('filename', 'r')   fh是打开文件的handle,每一个被打开的文件都应该退出时关闭(除了handle没有赋给...
    99+
    2023-01-31
    学习笔记 操作 文件
  • Python学习笔记(2)比特操作、类、
    下面的笔记内容依然来自于codecademy 比特操作注意一: 适用范围 Note that you can only do bitwise operations on an integer. Trying to do them on s...
    99+
    2023-01-31
    学习笔记 操作 Python
  • [Python学习笔记] 数字类型及操作
    数字类型 整数类型 十进制:1110,-123 二进制:以0B或0b开头 0b110,-0B101 八进制:以0O或0o开头 0o123,-0O567 十六进制:以0X或0x开头 0x555,-0X89a 浮点数类型...
    99+
    2023-01-31
    学习笔记 类型 操作
  • Python学习笔记
    Python介绍 Python是一种解释型、面向对象的语言。 官网:www.python.org Python环境 解释器:www.python.org/downloads 运行方式: 交互模式。在IDLE中运行。 脚本模式。文件的后缀...
    99+
    2023-01-30
    学习笔记 Python
  • Python 学习笔记
    rs=Person.objects.all() all返回的是QuerySet对象,程序并没有真的在数据库中执行SQL语句查询数据,但支持迭代,使用for循环可以获取数据。 print rs.query 会打印出原生sql语句 rs=Pe...
    99+
    2023-01-31
    学习笔记 Python
  • python学习笔记--趣学Python
    由反弹球和球拍构成的游戏。球会在屏幕上飞过来,玩家要用球拍把它弹回去 画布和画弹球 引入模块 #Tkinter -- Python的标准GUI库,Tk 接口,是python 内置的安装包 from tkinter import * i...
    99+
    2023-01-31
    学习笔记 python Python
  • Python学习笔记(2)操作符和数据类
    2019-02-25 一: (1)常用操作符:   ① 算数操作符:=、-、*、/、%(求余)、**(幂运算)、//(地板除法:计算结果取比商小的最大整型)   注意:幂运算操作符比其左侧的一元运算符的优先级高,比其右边的一元运算符优先级...
    99+
    2023-01-30
    学习笔记 操作 数据
  • python——Matplotlib学习笔记
      Matplotlib是pyhon中一个强大的绘图图,可以理解为 MatLab 开源替代,鉴于MatLab的内存之大及安装之复杂,决定先学学Matplotlib这个库。  1Matplotlib的安装  window:  打开cmd,: ...
    99+
    2023-06-02
  • python-memcached学习笔记
    介绍:   memcached是免费、开源、高性能、分布式内存对象的缓存系统(键/值字典),旨在通过减轻数据库负载加快动态web应用程序的使用。   数据类型:只用一种字符串类型 1:安装 sudo apt-get install me...
    99+
    2023-01-31
    学习笔记 python memcached
  • python scrapy学习笔记
    scrapy是python最有名的爬虫框架之一,可以很方便的进行web抓取,并且提供了很强的定制型。一、安装scrapy# pip install scrapy二、基本使用1、初始化scrapy项目# scrapy startproject...
    99+
    2023-01-31
    学习笔记 python scrapy
  • Python学习笔记(1)
    1 def sum_args(*args): 2 return sum(args)) 3 4 def run_with_positional_args(func, *args): 5 return func(*...
    99+
    2023-01-31
    学习笔记 Python
  • python OpenCV学习笔记
    目录图像翻转图像轮廓排序图像轮廓排序颜色识别基础颜色识别根据BGR获取HSV阈值编辑器图像翻转 使用Python的一个包,imutils。使用下面的指令可以安装。 pip in...
    99+
    2022-11-12
  • Python学习笔记(matplotli
    Python学习笔记--在Python中如何调整颜色和样式   参靠视频:《Python数据可视化分析 matplotlib教程》链接:https://www.bilibili.com/video/av6989413/p=6 所用的库及环...
    99+
    2023-01-30
    学习笔记 Python matplotli
  • Python学习笔记-SQLSERVER
    环境 : python3.6 / win10 / vs2017 / sqlserver2017 一、需要安装的包pymssql pip install pymssql 二、pymssql模块的介绍 pymssql 包 有modules...
    99+
    2023-01-30
    学习笔记 Python SQLSERVER
  • Python学习笔记(1)
    Python开发框架:       a.Python基础;       b.网络编程;       c.WEB框架;       d.设计模式+算法;       e.项目阶段; 开发:   开发语言:       高级语言:Python...
    99+
    2023-01-30
    学习笔记 Python
  • python学习笔记(1
    关于随笔 python随笔只是个人笔记,可能会有遗漏或错误,仅供参考 学习文档地址 https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e5...
    99+
    2023-01-30
    学习笔记 python
  • Python学习笔记(二)
    学完了基础中的基础后,我们准备深入基础中的函数、类和对象。 function函数: 正如英文单词描述的,函数就是“功能”的意思,把完成一个功能所需要的代码打包起来放在一个函数下可以方便以后程序的重复调用,也能使整体代码条理清晰。正如前...
    99+
    2023-01-30
    学习笔记 Python
  • Python 学习笔记 - SQLAlc
    继续上一篇SQLAlchemy的学习之旅。多对多表的创建表Host和表HostUser通过表HostToHostUser关联在一起from sqlalchemy import create_engine from sqlalchemy.ex...
    99+
    2023-01-31
    学习笔记 Python SQLAlc
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作