CSIC_716_20191216【pymysql模块】

强调: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()

  

猜你喜欢

转载自www.cnblogs.com/csic716/p/12049481.html