上节介绍了如何使用命令行操作mysql增删改查,现在介绍如何使用python管理mysql

使用pip 下载完mysql后,mysql会以pymysql模块的形式存储在pycharm的包文件里。我们通过操作pymysql包的对象来管理我们的mysql.

首先导入pymysql包并通过connet对象建立数据库连接。

import pymysql
user=input('>>>输入用户名:')
pwd=input('>>>输入密码:')
conn= pymysql.connect(
host='127.0.0.1',#数据库地址
user='root',#数据库用户名
password='1qaz2wsx',#密码
database='s23',#准备使用的数据库
port=3306,#该数据库端口
charset='utf8'#字符集 ******
)
#print(conn)
#创建游标
cursor=conn.cursor()#使用游标并打开数据库
sql='select * from user where name="%s" and password="%s"'%(user,pwd)
print(sql)
#用游标执行原生sql
ret=cursor.execute(sql)
print(ret)
cursor.close()
conn.close()

执行结果

模拟sql注入攻击,密码错误也能查询到结果

通过案例可以发现,密码错误时,依旧能查询到结果。pymsql的参数传参为我们解决了这个问题。(形参不需要在占位符左右添加双引号)

pymysql 支持字典和元祖。使用字典传参

通过pymysql向mysql插入数据。

插入、删除、修改的执行和查询语句执行的差异。插入语句在执行完命令后,需要执行commit()函数。否则插入的数据只停留在内存中但未提交至数据库

Django学习之mysql增删改查的更多相关文章

  1. 学习笔记: mysql增删改查基础语句

    mysql基础入门语句 增: INSERT INTO 表名(字段1, 2, 3) VALUES('值1', '2', '3') 删: DELETE FROM 表明 WHERE 删除条件 不提供更新条件 ...

  2. ASP.NET从零开始学习EF的增删改查

           ASP.NET从零开始学习EF的增删改查           最近辞职了,但是离真正的离职还有一段时间,趁着这段空档期,总想着写些东西,想来想去,也不是很明确到底想写个啥,但是闲着也是够 ...

  3. MyBatis学习系列二——增删改查

    目录 MyBatis学习系列一之环境搭建 MyBatis学习系列二——增删改查 MyBatis学习系列三——结合Spring 数据库的经典操作:增删改查. 在这一章我们主要说明一下简单的查询和增删改, ...

  4. MySQL—增删改查,分组,连表,limit,union,alter,排序,去重

    MySQL增删改查 在表格的增删改查中,查的内容是最多的,包括group by ,join,limit,union,alter,排序都是服务于查的 #sql语句数据行操作补充 #增加: #insert ...

  5. PHP MySql增删改查

    mysql_connect()连接数据库 mysql_select_db选择数据库 mysql_fetch_assoc()获取结果集 mysql_query()执行sql语句 实例如下: <?p ...

  6. mysql增删改查练习

    Mysql增删改查sql语句练习 关于数据库的一些操作: 进入mysql 命令行: mysql -uroot –p 查看所有数据库: show databases; 创建数据库: create dat ...

  7. http://www.cnblogs.com/nangong/p/db29669e2c6d72fb3d0da947280aa1ce.htm ASP.NET从零开始学习EF的增删改查

    http://www.cnblogs.com/nangong/p/db29669e2c6d72fb3d0da947280aa1ce.htmlASP.NET从零开始学习EF的增删改查

  8. mysql增删改查相关操作

    mysql增删改查相关操作 以前用mysql用的少,对于数据库相关的操作不熟悉,现在开始要接触数据库了,记录一下相关的基础操作吧. 1.数据库的授权操作 # mysql -u root -p Ente ...

  9. 基于gin的golang web开发:mysql增删改查

    Go语言访问mysql数据库需要用到标准库database/sql和mysql的驱动.标准库的Api使用比较繁琐这里再引入另一个库github.com/jmoiron/sqlx. go get git ...

随机推荐

  1. 【Leetcode】【Medium】Triangle

    Given a triangle, find the minimum path sum from top to bottom. Each step you may move to adjacent n ...

  2. Go语言 map遍历

    1 遍历顺序 Go语言里的map,是不保证遍历顺序的(这一点很好理解).甚至同样内容的map,两次遍历的顺序,也可能不一样.下面是一个例子: m := map[string]int{"a1& ...

  3. openlayers中的自定制工具栏,包含画点、线、面

    先是在projectquantan-master这个项目中有一个EditingPanel这个工具条,也挺好的,功能挺全的,但是有一点就是只有画多边形的一个按钮,没有point和path俩个的,所以就想 ...

  4. 如何查看Windows下端口占用情况

    开始---->运行---->cmd,或者是window+R组合键,调出命令窗口  输入命令:netstat -ano,列出所有端口的情况.在列表中我们观察被占用的端口,比如是49157,首 ...

  5. mongo数据库基础语法

    http://www.runoob.com/mongodb/mongodb-create-collection.html 很详细  

  6. Vue教程:指令与事件(二)

    一.插值 v-once 通过使用 v-once 指令,你也能执行一次性地插值,当数据改变时,插值处的内容不会更新.但请留心这会影响到该节点上所有的数据绑定: span v-once>这个将不会改 ...

  7. Notes 20180306 : 变量与常量

    1.1 变量与常量 我们在开发中会经常听到常量和变量,那么常量和变量指的又是什么呢?顾名思义,在程序执行过程中,其值不能被改变的量称为常量,其值能被改变的量称为变量.变量与常量的命名都必须使用合法的标 ...

  8. Knowledge Point 20180305 十进制转换成二进制浮点数

    如何将十进制的浮点数 转换二进制的浮点数,分为两部分: 1. 先将整数部分转换为二进制, 2. 将小数部分转换为二进制, 然后将整数部分与小数部分相加. 以 20.5 转换为例,20转换后变为1010 ...

  9. oracle 优化相关

    --选择最有效率的表名顺序:  Oracle的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,  在FROM子句中包含多 ...

  10. DQL-分组查询

    一.语法   select 分组函数,分组后的字段   from 表 [ where 筛选条件]   group by 分组的字段[having 分组后的筛选][order by 排序列表] 例如 S ...