使用pymysql(使用一)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
简介: 创建数据表import pymysqldb = pymysql.connect("localhost","root","","hank")cursor = db.cursor()cursor.

创建数据表

import pymysql

db = pymysql.connect("localhost","root","","hank")

cursor = db.cursor()

cursor.execute("DROP TABLE IF EXISTS leo")

sql = """CREATE TABLE leo (
            FIRST_NAME CHAR(20) NOT NULL,
            LAST_NAME CHAR(20),
            AGE INT,
            SEX CHAR(1),
            INCOME FLOAT)"""

cursor.execute(sql)

db.close()

新增数据

import pymysql

db = pymysql.connect("localhost","root","","hank")

cursor = db.cursor()

sql = """INSERT INTO leo(
         FIRST_NAME,LAST_NAME,AGE,SEX,INCOME)
         VALUES('JOE','B',20,'F',4000) """

try:
    #执行sql语句
    cursor.execute(sql)
    #提交到数据库执行    
    db.commit()

except:
    #如果发生数据库执行
    db.rollback()

db.close()

mysql> select * from leo;
+------------+-----------+------+------+--------+
| FIRST_NAME | LAST_NAME | AGE | SEX | INCOME |
+------------+-----------+------+------+--------+
| Mike | A | 30 | M | 6000 |
| JOE | B | 20 | F | 4000 |
+------------+-----------+------+------+--------+
2 rows in set (0.00 sec)


查询

import pymysql

db = pymysql.connect("localhost","root","","hank")

cursor = db.cursor()

sql = "SELECT * FROM leo "

try:
    #执行SQL语句    
    cursor.execute(sql)
    #获取所有记录列表
    results = cursor.fetchall()
    for row in results:
        fname = row[0]
        lname = row[1]
        age = row[2]
        sex = row[3]
        income = row[4]
        #打印结果
        print("fname=%s,lname=%s,age=%d,sex=%s,income=%d" %  (fname,lname,age,sex,income))

except:
    print("Error:unable to fetch data")

fname=Mike,lname=A,age=30,sex=M,income=6000
fname=JOE,lname=B,age=20,sex=F,income=4000


数据库更改

import pymysql

db = pymysql.connect("localhost","root","","hank")

cursor = db.cursor()

sql = "UPDATE leo SET AGE = AGE + 1 WHERE SEX = '%c'" % ('M')  #找到sex性别为M的更新其年龄+1

try:
    cursor.execute(sql)
    db.commit()
except:
    db.rollback()

db.close()

mysql> select * from leo;
+------------+-----------+------+------+--------+
| FIRST_NAME | LAST_NAME | AGE | SEX | INCOME |
+------------+-----------+------+------+--------+
| Mike | A | 31 | M | 6000 |
| JOE | B | 20 | F | 4000 |
+------------+-----------+------+------+--------+
2 rows in set (0.00 sec)


删除操作

import pymysql

db = pymysql.connect("localhost","root","","hank")

cursor = db.cursor()

sql = "delete from leo where name = hankleo"

try:
    cursor.execute(sql)
    db.commit()
except:
    db.rollback()

db.close()
知识在于点滴积累
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
|
SQL 关系型数据库 MySQL
mysql常见故障汇总和处理
mysql常见故障汇总和处理
|
前端开发 JavaScript NoSQL
"从零到一:全方位解析现代Web开发技术栈
【7月更文挑战第9天】在当今快速发展的互联网时代,Web开发技术日新月异,为开发者提供了前所未有的创新空间。本文将从基础到高级,全面解析现代Web开发技术栈,帮助初学者或希望升级技能树的开发者构建稳固的知识体系。我们将探讨前端、后端以及全栈开发的关键技术,并通过一个简单的项目示例来演示这些技术的实际应用。
1759 1
|
运维 安全 Ubuntu
2023年最强手机远程控制横测:ToDesk、向日葵、Airdroid三款APP免Root版本
而随着移动设备和智能手机的普及,灵活轻便的手机平板上控制电脑也成为了一种趋势,我们需要一种更加高效、轻便的方式去开展远程协作和工作,因此我们需要一款强大的手机远程控制软件。本次横测我们选择了 ToDesk、向日葵和 AirDroid 这三款 APP 作为测试对象,它们都是知名度较高的远程控制软件,且均支持免 Root 版本。下面我们将对这三款软件进行详细的测试并给出使用心得。
9978 0
2023年最强手机远程控制横测:ToDesk、向日葵、Airdroid三款APP免Root版本
|
存储 Serverless Python
怎么用Python制作一个七夕爱心?
怎么用Python制作一个七夕爱心?
373 0
|
XML Java 数据格式
解决SpringBoot获取mapper.xml路径的问题
当mapper.xml与mapper.class放在同一文件夹下时,是不能够将xml文件打包进项目的,项目构建的时候不会加载到target文件夹中。在pom.xml中加入如下这句:
641 0
|
存储 缓存 算法
考研计算机组成原理总结(6)
考研计算机组成原理总结(6)
1125 0
|
存储 运维 监控
【译】深入浅出 Cassandra 的删除和墓碑
深入浅出介绍 cassandra 作为一款分布式数据库如何支持删除操作
5529 0
【译】深入浅出 Cassandra 的删除和墓碑
|
运维 Kubernetes NoSQL
Kubernetes实战(二)- 一键部署神器kubeadm
Kubernetes实战(二)- 一键部署神器kubeadm
744 0
Kubernetes实战(二)- 一键部署神器kubeadm
|
监控 API 测试技术
PERF EVENT API篇
简介 perf_event 是内核对用户态提供软硬件性能数据的一个统一的接口,用户通过 perf_event 的句柄操作能获取到各式各样的性能数据,本文将介绍如何通过用户态实现对内核 perf_event 功能的使用 API 介绍 int perf_event_open(struct perf_e.
5115 0
|
JavaScript
修改Nodejs内置的npm默认配置路径
Nodejs 内置的npm默认会把模块安装在c盘的用户AppData目录下(吐槽一下:不明白为啥现在的软件都喜欢把资源装在这里) C盘这么小,肯定是不行的,下面一步步修改到D盘   1.