mysql+python+pymysql的一些细节问题
报错
(1044, "Access denied for user 'erio'@'localhost' to database 'library'")
就是权限问题了,没什么好说的,,,换成了root //或许也可以给erio权限
SQL SERVER 有ntext类型,mysql中无,直接使用 text
插入数据时报错:
%d format: a number is required, not str
我看了一下,要插入的table 的数据类型是int,然后传送的数据类型也是int,按理来说不应该报错啊。然后去网上搜了一下https://www.douban.com/note/206462446/
,这里说只要传送的格式对了就可以,INSERT INTO 全写%S。然后修改了代码,解决了问题
另外还修改了 set NUM =%S (原来是&d)
传入以下格式的字典
book_msg{
'BID': str,
'BNAME': str,
'AUTHOR': str,
'PUBLICATION_DATE': str,
'PRESS': str,
'POSITION': str,
'SUM': int,
'CLASSIFICATION': str
} INSERT
INTO book
VALUES(%s, %s, %s, %s, %s, %s, %s, %s)
''', (
book_info['BID'],
book_info['BNAME'],
book_info['AUTHOR'],
book_info['PUBLICATION_DATE'],
book_info['PRESS'],
book_info['POSITION'],
book_info['SUM'],
book_info['SUM']
))
然后是cursor 的问题
我不知道怎么样同时拼接多条语句,比如这样会报错
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version
cursor.execute('''
# USE Library
# CREATE TABLE student(
# SID char(15) PRIMARY KEY,
# PASSWORD char(70),
# SNAME text,
# DEPARTMENT nchar(20),
# MAJOR nchar(20),
# MAX int
# )
# CREATE TABLE administrator(
# AID char(15) PRIMARY KEY,
# PASSWORD char(70)
# )
''')
还不知道怎么解决,就只能每个事务都分开然后最后commit了。这样有些麻烦
cursor.execute('''
CREATE TABLE classification(
BID char(15),
CLASSIFICATION nchar(15),
PRIMARY KEY(BID, CLASSIFICATION)
)
''')
cursor.execute('''
INSERT
INTO administrator
VALUES('admin', '123456')
''')
conn.commit()
mysql+python+pymysql的一些细节问题的更多相关文章
- mysql python pymysql模块 基本使用
我们都是通过MySQL自带的命令行客户端工具mysql来操作数据库,那如何在python程序中操作数据库呢? 这就用到了pymysql模块,该模块本质就是一个套接字客户端软件,使用前需要事先安装 pi ...
- mysql python pymysql模块 增删改查 插入数据 介绍 commit() execute() executemany() 函数
import pymysql mysql_host = '192.168.0.106' port = 3306 mysql_user = 'root' mysql_pwd = ' encoding = ...
- mysql python pymysql模块 增删改查 查询 fetchone
import pymysql mysql_host = '192.168.0.106' port = 3306 mysql_user = 'root' mysql_pwd = ' encoding = ...
- mysql python pymysql模块 增删改查 查询 字典游标显示
我们看到取得结果是一个元祖,但是不知道是哪个字段的,如果字段多的时候,就比较麻烦 ''' (1, 'mike', '123') (2, 'jack', '456') ''' 用字典显示查询的结果,也可 ...
- mysql python pymysql模块 增删改查 查询 fetchmany fetchall函数
查询的fetchmany fetchall函数 import pymysql mysql_host = '192.168.0.106' port = 3306 mysql_user = 'root' ...
- mysql python pymysql模块 获取插入的最后一条数据的自增ID lastrowid()方法
调用游标下的lastrowid 可以获取插入之前的表里id字段存放到哪个自增id cursor.lastrowid mysql> select * from userinfo; +----+-- ...
- Python中操作mysql的pymysql模块详解
Python中操作mysql的pymysql模块详解 前言 pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同.但目前pymysql支持python3.x而后者不支持 ...
- 解决python pymysql.err.OperationalError: (2013, 'Lost connection to MySQL server during query')
解决python pymysql.err.OperationalError: (2013, 'Lost connection to MySQL server during query') 学习了:ht ...
- python + pymysql连接数据库报“(2003, "Can't connect to MySQL server on 'XXX数据库地址' (timed out)")”
python + pymysql连接数据库报"(2003, "Can't connect to MySQL server on 'XXX数据库地址' (timed out)&quo ...
随机推荐
- 集成 12 种协议、可于 USBC 端口的快充协议芯片IP2188
1. 特性 支持 12 种 USB 端口快充协议 支持 USB TypeC PD2.0/PD3.0/PPS DFP 协议 支持多种充电协议(QC3.0/QC2.0,FCP,SCP, AFC,MT ...
- 前端知识(二)04-vue-element-admin-谷粒学院
目录 一.vue-element-admin 1.简介 2.安装 二.vue-admin-template 1.简介 2.安装 一.vue-element-admin 1.简介 vue-element ...
- Spring Security 实战干货:AuthenticationManager的初始化细节
1. 前言 今天有个同学告诉我,在Security Learning项目的day11分支中出现了一个问题,验证码登录和其它登录不兼容了,出现了No Provider异常.还有这事?我赶紧跑了一遍还真是 ...
- click的简单使用
click的简单使用 先通过一个简单的例子来认知一下click把 import click @click.command() @click.option('-p', '--port', default ...
- libuv事件循环中的三种句柄
1.说明 本文会简单介绍 libuv 的事件循环,旨在入门级别的使用,而不做深入探究,简单来说就是,会大概用就行,先用熟练了,再去探究原理和源码 下图为官网的 libuv 的不同部分及其涉及的子系统的 ...
- CF1416D 做题心得
CF1416D 做题心得 上次在某trick中提到了这个题,一开始觉得太毒瘤没有写,现在把它补上了. 感觉实现这个东西,比单纯收获一个trick,收获的东西多太多了. 主要思路 它的主要trick是& ...
- python atexit模块学习
python atexit模块 只定义了一个register模块用于注册程序退出时的回调函数,我们可以在这个函数中做一下资源清理的操作 注:如果程序是非正常crash,或者通过os._exit()退出 ...
- GitLab开发流程图示、Git命令一张图
GitLab开发流程图示.Git命令一张图 一.GitLab开发流程图示 二.Git命令一张图 作图工具:ProcessOn 一.GitLab开发流程图示 二.Git命令一张图
- OpenStack (cinder存储服务)
cinder简介 提供 OpenStack 存储块(Volume)服务,该管理模块原来也为 Nova 的一部分,即 Nova-volume,后来从 Folsom 版本开始使用 Cinder 来分离出块 ...
- Go语言学习-import
import我们在写Go代码的时候经常用到import这个命令用来导入包文件,而我们经常看到的方式参考如下:import("fmt")然后我们代码里面可以通过如下的方式调用fmt. ...