强调:mysql要设置严格模式,在my.ini 配置文件中

sql-mode="strict_trans_tables,only_full_group_by"    ,设置完要重启mysql服务

my.ini 配置文件中的其他参数 ,如下:

[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
sql-mode="strict_trans_tables,only_full_group_by"
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
user="root"
password="默认一个密码"

pymysql的使用方式 :

1、pymysql.connect(。。。。 )建立连接

2、conn.cursor(pymsql.cursors.DictCursor)获取游标,括号中设置pymsql.cursors.DictCursor,确保返回的结果是字典形式的

3、cursor.execute( sql, 元组),拼接sql语句

4、如果么有设置autocommit =True,  则再execute后面还要  conn.commit( )进行确认提交

# _*_ coding: gbk _*_
# @Author: Wonder
import pymysql conn = pymysql.connect(
user='root',
passwd='1234,5678a', # password means passwd
host='127.0.0.1',
port=3306,
db='exercise', # database means db
charset='utf8',
autocommit=True
) cursor_obj = conn.cursor(pymysql.cursors.DictCursor) # 增(注册)
username = input('>>>用户名').strip()
password = input('>>>密码').strip()
sql = "insert into user(username,password) values(%s,%s)"
ret = cursor_obj.execute(sql, (username, password))
print(ret) # 查
username = input('>>>用户名').strip()
sql = 'select * from user where username = %s'
res2 = cursor_obj.execute(sql, (username,))
print(res2)
res = cursor_obj.fetchall()
print(res) # 改
username = input('>>>要改的用户名').strip()
password = input('>>>修改后的密码').strip()
sql = 'update user set password=%s where username = %s'
cursor_obj.execute(sql, (password, username)) # 删
username = input('>>>要改的用户名').strip()
sql = 'delete from user where username = %s'
cursor_obj.execute(sql, (username,)) cursor_obj.close()
conn.close()

  

补充:

cursor.scroll(  移动个数,移动模式 ),移动模式有  relative(相对)  和absolute(绝对) 两种。

相对移动是从当前游标位置开始往后移动,absolute是从最开始的位置向后移动。

cursor.fetchone( )   获取一个结果

cursor.fetchmany  ( 数量 )   ,获取指定个数的结果,如果数量大于总的个数,不会报错。

cursor.fetchall( )  ,获取所有的结果

最新文章

  1. SQLite学习笔记(九)&&pager模块
  2. 冰冻三尺非一日之寒--rabbitMQ,redis
  3. 大毕设-MATLAB-常用知识回顾
  4. .NET invoke NetSuite Restlet
  5. 在线富文本编辑器kindeditor配置(.Net Framework 3.5)
  6. 获取不到app.config里面的数据库连接字符串的解决方法
  7. 一年后重翻javascript
  8. Codeforces 549H. Degenerate Matrix 二分
  9. IE6/IE7浏览器不支持display: inline-block;的解决方法
  10. Web前端性能优化——如何有效提升静态文件的加载速度
  11. Office 365 机器人(Bot)开发入门指南 (新篇)
  12. composer 实现自动加载原理
  13. Polynomial_0
  14. truncate、delete、drop区别
  15. MAC Gradle 下载的问题
  16. 4、Linux常用命令
  17. Linux服务器tomcat启动maven项目
  18. Ubuntu安装Gogs服务
  19. sql 循环 ,随机数,循环插入一年数据
  20. 怎样教你牢记17个的Win7快捷键!

热门文章

  1. python 读 xlsx
  2. python convert csv to xlsx
  3. CentOS 安装 docker-compose
  4. 基于AtomicReference的单例模式写法
  5. 转 关于HTML5中meta name="viewport" 的用法 不同分辨率手机比例缩放
  6. 使用conda部署jupyterhub以及ladp验证的安装
  7. typedef 函数指针的使用(含例子)
  8. CH340电路设计
  9. java中形参中的 “. . .” 是什么意思
  10. Hadoop(一)阿里云hadoop集群配置