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语句传给游标执行 # 让游标execute去帮我拼接字符串 rows = cur.execute(sql,("alex", "555")) # #执行sql语句,返回sql查询成功的记录数目 print(rows) # 想让insert 语句 插入数据库里面去需要加上这个 conn.commit() # 执行完sql语句要关闭游标和mysql连接 cur.close() conn.close()
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)