安装 pymysql 模块

pip3 install pymysql
# python2, 默认无 pip 命令
# python3, 默认自带 pip3 命令

mysql基本操作

# 导入 pymysql 模块
import pymysql # 创建连接
conn = pymysql.connect(host='192.168.0.214', port=3306, user='root', passwd='123456', db='tmpdb') # 获取光标
cursor = conn.cursor() # 以字典的形式返回结果
# cursor = conn.cursor(cursor=pymysql.cursors.DictCursor) # 插入一行
result = cursor.execute("insert into tmp(name) values (%s)",("jim")) # 插入多行
result = cursor.executemany("insert into tmp(name) values (%s)",[("james1"),("james2"),("james2")]) # 修改后必须提交
conn.commit() # 获取一行数据
cursor.execute('select * from tmp')
r = cursor.fetchone()
print(r) # 获取4行数据
cursor.execute('select * from tmp')
r = cursor.fetchmany(4)
print(r) # 获取影响的行数
result = cursor.execute('select * from tmp')
print(result) # 获取所有的值
values = cursor.fetchall()
print(values) # 把光标移到最开始处
cursor.scroll(0, mode='absolute') # 关闭光标
cursor.close() # 关闭连接
conn.close()

在操作mysql中应当禁止使用字符串拼接sql 的方式

# 禁止例子 :
inp = input('please input name: ')
sql = 'insert into tmp(name) values("%s")'
sql = sql %(inp,)
r = cursor.execute(sql)
conn.commit() # 推荐例子:
inp = input('please input name: ')
print(inp, type(inp))
r = cursor.execute('insert into tmp(name) values(%s)', inp)
conn.commit() # 获取所插入数据的主键id值,注意表的 id 必须是 AUTO_INCREMENT
nid = cursor.lastrowid
print(nid)

补充

# 数据库也可以通过以下方式连接
import pymysql PY_MYSQL_CONN_DICT = {
"host" : '192.168.0.214',
"port" : 3306,
"user" : 'root',
"passwd" : '123456',
"db" : 'tmpdb'
} conn = pymysql.connect(**PY_MYSQL_CONN_DICT)

注意

在 mysql 的 insert 语句中表名和列名外都不能加单引号,而值则可以加单引号且 sql 语句用双引号

Python mysql 创建连接的更多相关文章

  1. Python MySQL 创建表

    章节 Python MySQL 入门 Python MySQL 创建数据库 Python MySQL 创建表 Python MySQL 插入表 Python MySQL Select Python M ...

  2. Python MySQL 创建数据库

    章节 Python MySQL 入门 Python MySQL 创建数据库 Python MySQL 创建表 Python MySQL 插入表 Python MySQL Select Python M ...

  3. python selenium 测试环境的搭建及python mysql的连接

    又来一篇傻瓜教程啦,防止在学习的小伙伴们走弯路. 1.python 环境搭建 python官网:https://www.python.org/downloads/  选择最新版本python下载(如果 ...

  4. 如何给MySql创建连接用户并授权

    一般在为MySql创建用户时建议使用GRANT前台命令,当然如果对我们开发者而言,方法还有很多种,比如使用INSERT命令,甚至是直接修改mysql user数据表,但仍然建议按照MySQL规范去授权 ...

  5. python mysql创建表

    表设计 表:student 字段名 类型 是否为空 主键 描述 StdID int 否 是 学生ID StdName varchar(100) 否 学生姓名 Gender enum('M','F') ...

  6. nodejs mysql 创建连接池

    用Nodejs连接MySQL 从零开始nodejs系列文章,将介绍如何利Javascript做为服务端脚本,通过Nodejs框架web开发.Nodejs框架是基于V8的引擎,是目前速度最快的Javas ...

  7. Python MySQL - 创建/查询/删除数据库

    #coding=utf-8 import mysql.connector import importlib import sys #连接数据库的信息 mydb = mysql.connector.co ...

  8. mysql 创建连接是 Cannot create PoolableConnectionFactory (Unknown character set: 'utf8mb4')

    Cannot create PoolableConnectionFactory (Unknown character set: 'utf8mb4') maven 依赖换版本 <dependenc ...

  9. Python MongoDB 创建数据库

    章节 Python MySQL 入门 Python MySQL 创建数据库 Python MySQL 创建表 Python MySQL 插入表 Python MySQL Select Python M ...

随机推荐

  1. Javascript高级编程学习笔记(42)—— DOM(8)Attr类型

    Attr类型 我们在之前的文章中提到了,元素有一个 attributes 属性 该属性保存了一个 NamedNodeMap 集合 该集合中的元素也就是今天我们所要记叙的 attr 类型 主要就是方便我 ...

  2. 第八篇: 服务链路追踪(Spring Cloud Sleuth)

    一.简介 一个分布式系统由若干分布式服务构成,每一个请求会经过多个业务系统并留下足迹,但是这些分散的数据对于问题排查,或是流程优化都很有限.   要能做到追踪每个请求的完整链路调用,收集链路调用上每个 ...

  3. PyTorch-Adam优化算法原理,公式,应用

    概念:Adam 是一种可以替代传统随机梯度下降过程的一阶优化算法,它能基于训练数据迭代地更新神经网络权重.Adam 最开始是由 OpenAI 的 Diederik Kingma 和多伦多大学的 Jim ...

  4. js数组之sort排序的用法

    sort排序 转载自:https://blog.csdn.net/idomyway/article/details/80544509 js中用方法sort()为数组排序.sort()方法有一个可选参数 ...

  5. 冒泡 MS Azure 不便宜。。。

    一直在等 MS Azure 中国开卖, 最近有消息说正式商用了... 看看去,ok 发现官方网站 很奇葩.没有购买的地方 说毛线 啊 卧槽 欺骗感情还是吊人胃口? 好看了一下VM的价格,卧槽真不便宜. ...

  6. mysql 架构篇系列 2 复制架构一主一从搭建(异步复制)

    一. 环境准备 1.1 主库环境(172.168.18.201) 环境 说明 查看脚本 操作系统版本 CentOS Linux release 7.4.1708 (Core) cat /etc/red ...

  7. Android--UI之ScrollView

    前言 本篇博客主要讲解ScrollView和HorizontalScrollView两个容器的使用.它们分别代表了垂直滚动以及水平滚动,滚动的内容是它其中包含的View.在本篇会简单介绍ScrollV ...

  8. ArcSDE数据库连接(直连、服务连)与GT_Geometry存储配置图解

    众说周知,ArcSDE空间数据库引擎提供了两种连接数据库的方式.一是服务连接方式,一是直连方式.后者也是Esri所推崇的方式.但是,在客户的生产环境和开发商的开发环境中这两种方式都是有需求的.下面就以 ...

  9. DHCP服务器的搭建

    dhcp笔记整理:http://services.linuxpanda.tech/DHCP/index.html 1 dhcp简介 DHCP原理 动态主机配置协议(Dynamic Host Confi ...

  10. [机器学习]回归--(Simple LR and Multiple LR)

    线性回归是最贴近生活的数据模型之一 简单的线性回归 简单的线性回归公式如下: 从公式中我们可以看出,简单线性回归只有一个自变量x1,b1是自变量的系数,y是因变量.x1可能是连续型或者离散型的数据,所 ...