python清除数据库表命令_数据库----Python操作数据库
python操作mysql
一, 数据库的安装和连接
PyMySQL的安装:
pip install PyMySQL
python连接数据库:
import pymysql
db = pymysql.connect("数据库ip","用户","密码","数据库" ) # 打开数据库连接
cursor.execute("SELECT VERSION()") # 使用 execute() 方法执行 SQL 查询
data = cursor.fetchone() # 使用 fetchone() 方法获取单条数据
print ("Database version : %s " % data)
db.close() # 关闭数据库连接
# 其他参数
import pymysql
conn = pymysql.connect(
host='localhost', user='root', password="root",
database='db', port=3306, charset='utf-8',
)
cur = conn.cursor(cursor=pymysql.cursors.DictCursor)
二, 创建表操作
import pymysql
# 打开数据库连接
db = pymysql.connect("localhost","testuser","test123","TESTDB" )
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
# 使用 execute() 方法执行 SQL,如果表存在则删除
cursor.execute("DROP TABLE IF EXISTS EMPLOYEE")
# 使用预处理语句创建表
sql = """CREATE TABLE EMPLOYEE (
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","testuser","test123","TESTDB" )
# 使用cursor()方法获取操作游标
cursor = db.cursor()
# SQL 插入语句
sql = """INSERT INTO EMPLOYEE(FIRST_NAME,
LAST_NAME, AGE, SEX, INCOME)
VALUES ('Mac', 'Mohan', 20, 'M', 2000)"""
try:
cursor.execute(sql) # 执行sql语句
db.commit() # 提交到数据库执行
except:
db.rollback() # 如果发生错误则回滚
# 关闭数据库连接
db.close()
# 注意: 不要自己进行SQL命令的字符串拼接,会产生SQL注入问题
import pymysql
# 打开数据库连接
db = pymysql.connect("localhost","testuser","test123","TESTDB" )
# 使用cursor()方法获取操作游标
cursor = db.cursor()
# SQL 插入语句
sql = "INSERT INTO EMPLOYEE(FIRST_NAME, \
LAST_NAME, AGE, SEX, INCOME) \
VALUES (%s, %s, %s, %s, %s )" % \
('Mac', 'Mohan', 20, 'M', 2000)
try:
cursor.execute(sql) # 执行sql语句
db.commit() # 执行sql语句
except:
db.rollback() # 发生错误时回滚
# 关闭数据库连接
db.close()
二, 查询操作
Python查询Mysql使用 fetchone() 方法获取单条数据, 使用fetchall() 方法获取多条数据。
fetchone(): 该方法获取下一个查询结果集。结果集是一个对象
fetchall(): 接收全部的返回结果行.
rowcount: 这是一个只读属性,并返回执行execute()方法后影响的行数。
import pymysql
# 打开数据库连接
db = pymysql.connect("localhost","testuser","test123","TESTDB" )
# 使用cursor()方法获取操作游标
cursor = db.cursor()
# SQL 查询语句
sql = "SELECT * FROM EMPLOYEE \
WHERE INCOME > %s" % (1000)
try:
cursor.execute(sql)# 执行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=%s,sex=%s,income=%s" % \
(fname, lname, age, sex, income ))
except:
print ("Error: unable to fetch data")
# 关闭数据库连接
db.close()
三, 更新操作
import pymysql
# 打开数据库连接
db = pymysql.connect("localhost","testuser","test123","TESTDB" )
# 使用cursor()方法获取操作游标
cursor = db.cursor()
# SQL 更新语句
sql = "UPDATE EMPLOYEE SET AGE = AGE + 1 WHERE SEX = '%c'" % ('M')
try:
cursor.execute(sql) # 执行SQL语句
db.commit() # 提交到数据库执行
except
db.rollback() # 发生错误时回滚
# 关闭数据库连接
db.close()
四, 删除操作
import pymysql
# 打开数据库连接
db = pymysql.connect("localhost","testuser","test123","TESTDB" )
# 使用cursor()方法获取操作游标
cursor = db.cursor()
# SQL 删除语句
sql = "DELETE FROM EMPLOYEE WHERE AGE > %s" % (20)
try
cursor.execute(sql) # 执行SQL语句
db.commit() # 提交修改
except
db.rollback() # 发生错误时回滚# 关闭连接
db.close()
四, SQL注入问题
注意: 不要自己进行SQL命令字符串拼接,而是交给pymysql去做
# 如下代码,会造成可以在不知道账号和密码的情况下查询
import pymysql
conn = pymysql.connect(host='127.0.0.1', user='root', password="123",database='ceshi')
cur = conn.cursor()
user = "akhksh' or 1=1 ;-- "
password = '*******'
sql = "select * from userinfo where username = %s and password =%s;" % (user, password)
cur.execute(sql)
ret = cur.fetchone()
cur.close()
conn.close()
# 而使用pymysql的execute()方法自动拼接,不会出现此类问题
import pymysql
conn = pymysql.connect(host='127.0.0.1', user='root', password="123", database='ceshi')
cur = conn.cursor()
user = "akhksh' or 1=1 ;-- "
password = '*******'
sql = "select * from userinfo where username = %s and password =%s;"
cur.execute(sql, (user, password))
ret = cur.fetchone()
cur.close()
conn.close()
python清除数据库表命令_数据库----Python操作数据库相关推荐
- python数据库迁移命令_创建和进行数据库迁移,同步数据库
模型(model)建好后,django可以根据这个模型(model)在数据库中创建一张数据表格. Django自带一个数据库迁移(migration)系统来跟踪对模型(models)的修改,然后同步到 ...
- mysql 数据库安装命令_教你MySQL数据库的编译安装以及命令详解(5.7版本)
一.安装MySQL所需的环境依赖包 [root@localhost opt]# yum -y install gcc gcc-c++ make ncurses ncurses-devel bison ...
- python网页提交表单_使用Python中的POST请求通过网站表单上传基本文件
我尝试使用Python和HTTP请求在一个随机的网站上上传一个文件.为此,我使用名为Requests的便利库. 根据the documentation,以及StackOverflow here和the ...
- python登录交换机执行命令_利用Python脚本登录交换机实现自动配置备份的方法
主机参考:服务器测评参考推荐网,专注分享服务器优惠信息!如果您想在本站投放您的广告,点此直达!如果您不想付费,您也可以免费投稿您的产品信息,点此直达!联系我们 部分文章发布时间较久远,可能存在未知因素 ...
- python网页提交表单_用Python的urllib库提交WEB表单
class EntryDemo( Frame ): """Demonstrate Entrys and Event binding""" c ...
- python怎么导入sql数据库,##使用python将excel表中数据导入sql server数据库
如何用python将excel数据导入到postgresql数据库中 把excel表格另存为csv文件 python将exce文件含有多个sheet同时l导入sqlserver数据库 需要使用xlrd ...
- python如何读取文件数据恢复_删python目录
Python学习笔记 (1)Hello World(环境搭建+输出Hello World!) 随想 高考发挥失常.科三遇火车发挥失常,各种不顺--突然发现假期都快没了,才想起高考前想象的这个假期要做的 ...
- Python语言学习:python编程之pip命令集合、python调式、头部代码、代码运行等常见概念详细攻略(解决问题为导向)
Python语言学习:python编程之pip命令集合.python调式.头部代码.代码运行等常见概念详细攻略(解决问题为导向) 目录 一.pip命令集合 1.pip常规命令 1.1 pip下载se ...
- python权限不够无法写入_解决python使用pip安装模块的权限问题
ubuntu16.04下默认的python和pip 1.ubuntu16.04默认安装了两个版本的python,python2.7和python3.5,可以使用python -V查看版本 命令行中py ...
- 数据库应用——MySQL基础知识和操作数据库
这里写目录标题 初识MySQL 什么是数据库 数据库分类 MySQL简介 安装MYSQL win10安装 安装SQLyog 连接数据库 linux安装 使用Navicat Premium连接数据库 操 ...
最新文章
- Android入门第八篇之GridView(九宫图)
- jittor和pytorch生成网络对比之wgan_div
- 找到IIS Express配置/配置数据库文件在哪里?
- 弹性理论法研究桩基受力计算公式_收藏!桩基检测的7种方法
- 圆柱体积怎么算立方公式_【六年级数学微课】巧算圆锥的体积
- flutter创建可移动的stack小部件
- python paramiko sftp_python paramiko (ssh,sftp)
- java 随机数种子_Java--随机数和随机数种子(转)
- 安徽省计算机水平考试试卷,第1次安徽省计算机水平考试试卷.doc
- php计划任务 框架,计划任务的使用 ThinkCMF内容管理框架,做最简约的ThinkPHP开源软件...
- STM32之RTT调试
- 数学图形(2.1)三叶结
- mybatis自定义插件
- html5 斗鱼 苹果,斗鱼ios端——手游直播开播指导
- 【学习笔记】Stern-Brocot Tree
- 正海转债,寿22转债,东材转债上市价格预测
- 桌面计算机图标无响应,win7系统电脑鼠标点击桌面图标没反应怎么办【图文】...
- 用js函数判断一个数是否为素数
- 电脑如何通过数据线连接手机网络?(USB共享网络)
- 牛奶可乐经济学之Q7:为什么官僚们喜欢使用语焉不详的句子?