python pymysql 增删改查mysql数据库实例

python头和导入pymysql模块:

1
2
3
4
#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
import pymysql

 

打开数据库:

  写法一:推荐

1
db=pymysql.connect(host='192.168.83.144',user='user1',password='pwd',port=3306,db='testdb')

  写法二:

1
db=pymysql.connect(host='192.168.83.144','user1','pwd',3306,'testdb')

  

获取操作数据游标:

1
cur= db.cursor()
'''
游标是给mysql提交命令的接口
mysql> 
把sql语句传递到这里
'''

------------

增:获取游标后,开始插入数据:

1
2
3
4
5
6
#命令行执行命令写法:
INSERT INTO testdb(FIRST_NAME) VALUES (%s) % ('Mac');
 
#python中命令写法:
## 指定参数
cur.execute("INSERT INTO testdb(FIRST_NAME) VALUES ('Mac')")

    ## 插入一个值

1
2
sql_cmd= "INSERT INTO testdb(FIRST_NAME) VALUES(%s)"
cur.execute(sql_cmd,('Mac2'))

  ## 插入多个值

1
2
sql_2= "INSERT INTO testdb(FIRST_NAME,LAST_NAME, AGE, SEX, INCOME) VALUES(%s, %s, %s, %s, %s)"
cur.execute(sql_2,('Mac', 'Mohan', 20, 'M', 2000))

   ## 插入多行值

1
2
3
4
5
6
7
8
9
10
11
12
13
sql_3= """
INSERT INTO
EMPLOYEE(FIRST_NAME,LAST_NAME, AGE, SEX, INCOME)
VALUES(%s, %s, %s, %s, %s)
"""
 
list03= [
    ('Mac1', 'Mohan1', 21, 'M', 2001),
    ('Mac2', 'Mohan2', 22, 'M', 2002),
    ('Mac3', 'Mohan3', 23, 'M', 2003)
]
 
cur.executemany(sql_3,list03)

  * 注意:插入多行用另一个函数“executemany”

 ----------

 查:获取游标后,开始查询数据:

方式一:查询一条语句

1
2
3
4
5
6
7
sql_4= """
select distinct IINSTANCENAME FROM ieai_instance_version WHERE IVERSIONALIAS='opm';
"""
 
c_sql=cur.execute(sql_4)
res = cur.fetchall()
print(res)

 

方式二:查询一条带变量的语句

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
##定义一个变量
res= '一年级'
 
## 语句里%s内容由%(res)的变量提供
sql_5= """
select * FROM ieai_sus_basic_pacname_info WHERE IINSTANCENAME='%s';
""" %(res)
 
##执行SQL语句
cur.execute(sql_5)
 
## 获取全部结果给res5变量
res5 = cur.fetchall()
 
##打印所有结果,结果是tule元组
print(res5)

  

 

 

 

 

 

参考:

http://cnblogs.com/mingerlcm/p/9932570.html

http://m.runoob.com/python/python-mysql.html

http://baijiahao.baidu.com/s?id=1723340702253118926&wfr=spider&for=pc(https://www.cnblogs.com/goOJBK/p/15856190.html)

http://blog.csdn.net/weixin_51945232/article/details/121696067

https://www.pythonheidong.com/blog/article/405429/36d911f1f70b2e5df386/

 

1
 
posted @   悟透  阅读(185)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
点击右上角即可分享
微信分享提示