execute(sql,()) 传入元组形式

记得在关闭连接前,想让insert 语句 插入数据库里面去需要加上这个 ,增删改都要加上commit()

conn.commit()

执行脚本 返回1  代表插入1条记录 成功。

查询新增一条记录

mysql> select * from userinfo;
+----+------+-----+
| id | name | pwd |
+----+------+-----+
|  1 | mike | 123 |
|  2 | jack | 456 |
|  3 | alex | 555 |
+----+------+-----+
3 rows in set (0.00 sec)

execute() 方法  每次只能插入一条记录




excutemany() 方法同时可以插多条记录


用列表 把多个元组括起来 可以传递多条记录, 一个元组对应一条记录
rows = cur.executemany(sql,[(),(),()])

import pymysql

mysql_host = '192.168.0.106'
port = 3306
mysql_user = 'root'
mysql_pwd = '123'
encoding = 'utf8'

# 建立 连接mysql服务端

conn = pymysql.connect(
    host=mysql_host,  # mysql服务端ip
    port=port,  # mysql端口
    user=mysql_user,  # mysql 账号
    password=mysql_pwd,  # mysql服务端密码
    db='db10',  # 操作的库
    charset=encoding  # 读取字符串编码

)

# 拿到游标对象
cur = conn.cursor()

'''
游标是给mysql提交命令的接口
mysql> 
把sql语句传递到这里
'''


# 执行sql语句
# 插入数据
sql= 'insert into userinfo(name,pwd) values(%s, %s); '


# 把sql语句传给游标执行
# 让游标executemany去帮我拼接字符串
rows = cur.executemany(sql,[('peter','989'),('app','123'),('tom','556')])
print(rows)


# 想让insert 语句 插入数据库里面去需要加上这个
conn.commit()

# 执行完sql语句要关闭游标和mysql连接
cur.close()
conn.close()

返回3 代表插入3条记录 成功

mysql> select * from userinfo;
+----+-------+-----+
| id | name  | pwd |
+----+-------+-----+
|  1 | mike  | 123 |
|  2 | jack  | 456 |
|  3 | alex  | 555 |
|  4 | peter | 989 |
|  5 | app   | 123 |
|  6 | tom   | 556 |
+----+-------+-----+
6 rows in set (0.00 sec)
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐