一、概述
近日使用Python对Mysql数据库进行操作,遇到SQL语句死活出问题的情况。由于最初没有将异常打印出来,一直不知道原因。随后,将异常打印出来之后,通过异常信息,对代码进行修改。最终,成功实现了对数据库的操作,并总结出了SQL语句在Python代码中的格式(规范)问题。特此写博文以记之。
二、问题描述
2.1 问题提出
特别注意:在建数据库的时候,使用的表名、类名均带引号
在Python语句中,我使用过三种格式的语句,分别为:
- 方式1:表名、类名、记录值值均带引号
sql = "INSERT INTO 'entity' ('twitterName') VALUES ('%s')" % (twitterName)
- 方式2:表名、类名带引号,记录值不带引号
sql = "INSERT INTO 'entity' ('twitterName') VALUES (%s)" % (twitterName)
- 方式3:表名、类名不带引号,记录值带引号
sql = "INSERT INTO entity (twitterName) VALUES ('%s')" % (twitterName)
2.2 得到的结果
方式1
方式2
方式3
2.3 结果分析与总结
从2.2不难看出,表名、类名不要加引号,记录值需要加引号。经过测试还发现,当记录值为字符串时需要加引号,记录值为数字时,不用加引号。
Python操作Mysql数据库时SQL语句的格式问题的更多相关文章
-
Python连接MySQL数据库执行sql语句时的参数问题
由于工作需要,今天写了一个Python小脚本,其中需要连接MySQL数据库,在执行sql命令时需要传递参数,结果出问题了.在网上查了一下,发现有以下几种方式传递参数: 一.直接把sql查询语句完整写入 ...
-
一些常用的操作MySQL数据库的sql语句
创建数据库:create database 数据库名; 删除数据库:drop datebase 数据库名; 查看数据库:show databases;(所有数据库) 使用数据库:use 数据库名;(之 ...
-
Python3.0 操作MySQL数据库执行SQL语句
py3不支持MySQLdb,需要导入pymysql模块 # coding: utf-8 # Team : Quality Management Center # Author:Carson # Dat ...
-
使用python操作mysql数据库
这是我之前使用mysql时用到的一些库及开发的工具,这里记录下,也方便我查阅. python版本: 2.7.13 mysql版本: 5.5.36 几个python库 1.mysql-connector ...
-
【Python】使用python操作mysql数据库
这是我之前使用mysql时用到的一些库及开发的工具,这里记录下,也方便我查阅. python版本: 2.7.13 mysql版本: 5.5.36 几个python库 1.mysql-connector ...
-
【转】python操作mysql数据库
python操作mysql数据库 Python 标准数据库接口为 Python DB-API,Python DB-API为开发人员提供了数据库应用编程接口. Python 数据库接口支持非常多的数据库 ...
-
python接口自动化(三十八)-python操作mysql数据库(详解)
简介 现在的招聘要求对QA人员的要求越来越高,测试的一些基础知识就不必说了,来说测试知识以外的,会不会一门或者多门开发与语言,能不能读懂代码,会不会Linux,会不会搭建测试系统,会不会常用的数据库, ...
-
Python操作MySQL数据库(步骤教程)
我们经常需要将大量数据保存起来以备后续使用,数据库是一个很好的解决方案.在众多数据库中,MySQL数据库算是入门比较简单.语法比较简单,同时也比较实用的一个.在这篇博客中,将以MySQL数据库为例,介 ...
-
Python 操作MySQL 数据库
Python 操作 MySQL 数据库 Python 标准数据库接口为 Python DB-API,Python DB-API为开发人员提供了数据库应用编程接口. Python 数据库接口支持非常多的 ...
随机推荐
-
一个c#的输入框函数
private static string InputBox(string Caption, string Hint, string Default) { Form InputForm = new F ...
-
MySQL ROOT密码更改
MySQLROOT密码 # mysql -u root -p Enter password: ERROR 1045 (28000): Access denied for user 'root'@'lo ...
-
《Effective Java》—— 读后总结
这本书在Java开发的行业里,颇有名气.今天总算是粗略的看完了...后面线程部分和序列化部分由于心浮气躁看的不仔细.这个月还剩下一周,慢慢总结消化.
-
[.net 面向对象编程基础] (7) 基础中的基础——流程控制语句
[.net 面向对象编程基础] (7) 基础中的基础——流程控制语句 本来没有这一节的内容,后来考虑到既然是一个系列文章,那么就尽可能写的详细一些,本节参考了网上朋友所写的例子,为的是让更多小伙伴学习 ...
-
groovy学习(三)range
// 1900..1999 包含边界// 2000..<2100 不包含边界twentiethCentury = 1900..1999reverseTen = 10..1println(twen ...
-
在foreach的判断条件里执行方法会有效率问题吗?
楼猪平时一有空就有看别人代码的习惯,从许多优秀规范的代码中学习到了很多简约高效的写法和画龙点睛的思想精华.但是有的时候也会觉得某些写法很值得玩味.比如刚看到一段代码,在foreach的条件判断里加了一 ...
-
python编码的那些事
字符串编码在python里是经常会遇到的问题,特别是写文件或是网络传输调用某些函数的时候. 现在来看看python中的unicode编码和utf-8编码 字符串编码的历史 计算机只能处理数字,文本转换 ...
-
overlay fs挂载及操作测试
overlayfs是目前使用比较广泛的层次文件系统,实现简单,性能较好,可以充分利用不同或则相同overlay文件系统的page cache,具有 上下合并 同名遮盖 写时拷贝 等特点. 一个 ove ...
-
sas 日期比较代码备忘
DATA A; SET S.payrecordinfo; YY=DATEPART(AddTime); FORMAT YY MMDDYY10.;RUN; DATA A1; SET ...
-
random 模块常用方法学习
>>> import random#随机小数>>> random.random() # 大于0且小于1之间的小数0.7664338663654585>> ...