mysql操作

Posted kelx

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql操作相关的知识,希望对你有一定的参考价值。

pymysql(一)检索、增加、更新、删除数据

利用python调用pymysql来对数据库进行操作。

 

首先在cmd中查看我们将要操作的数据表infor:

技术分享图片

 

查看infor表列的定义:

技术分享图片

 

现在使用pymysql对mysql进行操作。

(一)  SELECT 检索数据

代码如下:

 

[python] view plain copy
  1. import pymysql  
  2.    
  3. ‘‘‘‘‘ 
  4. pymysql使用指南 
  5. host = ‘127.0.0.1‘ 
  6. 回送地址,指本地机 
  7. port = 3306 
  8. MySQL的默认端口 
  9. user 
  10. 用户名 
  11. passwd 
  12. 密码 
  13. db 
  14. 数据库 
  15. charset 
  16. 字符类型 
  17. ‘‘‘  
  18.    
  19. my_con = pymysql.connect(host =‘127.0.0.1‘,  
  20.                         port = 3306,  
  21.                         user = ‘root‘,  
  22.                         passwd = ‘12345678‘,  
  23.                         db = ‘my_firstsql‘,  
  24.                         charset = ‘utf8‘  
  25.                         )  
  26. my_cousor = my_con.cursor()  
  27. #获取数据库游标对象  
  28. sql_select = ‘SELECT * FROM infor;‘  
  29. #用一个变量接收mysql语句  
  30. my_cousor.execute(sql_select)  
  31. #执行  
  32. my_cousor.rowcount  
  33. #返回被execute影响的数据的行数,注:execute不是方法.  
  34. get_row = my_cousor.fetchone()  
  35. #取结果集下一行  
  36. print(get_row)  
  37. get_row = my_cousor.fetchmany(3)  
  38. #取结果集下三行  
  39. print(get_row)  
  40. get_row = my_cousor.fetchall()  
  41. #取结果集剩下所有行  
  42. print(get_row)  
  43.    
  44.    
  45. my_cousor.close()  
  46. #关闭游标  
  47. my_con.close()  
  48. #关闭连接  

结果如下:

(1, ‘Tom‘, 18, ‘[email protected]‘)

((2, ‘Ada‘, 19, ‘[email protected]‘), (3,‘Peter‘, 20, ‘[email protected]‘), (4, ‘Green‘, 29, ‘[email protected]‘))

((5, ‘Douglas‘, 32, ‘[email protected]‘),(6, ‘White‘, 16, ‘[email protected]‘))

 

(一)  使用INSERT、DELETE、UPDATE进行增删改

代码如下:

 

[python] view plain copy
  1. import pymysql  
  2.   
  3. my_con = pymysql.connect(host = ‘127.0.0.1‘,  
  4.                         port = 3306,  
  5.                         user = ‘root‘,  
  6.                         passwd = ‘12345678‘,  
  7.                         db = ‘my_firstsql‘,  
  8.                         charset = ‘utf8‘  
  9.                         )  
  10.   
  11. my_cousor = my_con.cursor()  
  12. #获取数据库游标对象  
  13.   
  14. sql_insert = ‘INSERT INTO INFOR(id, user_name, age, mail) VALUES (NULL, "DOGE", 26, "[email protected]")‘  
  15. sql_update = ‘UPDATE infor SET mail = "playstation.com" WHERE user_name = "Peter"‘  
  16. sql_delete = ‘DELETE FROM infor WHERE age > 28‘  
  17. #将mysql的增删改语句存在变量中  
  18.   
  19. my_cousor.execute(sql_insert)  
  20. #执行增  
  21. print(my_cousor.rowcount)  
  22.   
  23. my_cousor.execute(sql_update)  
  24. #执行改  
  25. print(my_cousor.rowcount)  
  26.   
  27. my_cousor.execute(sql_delete)  
  28. #执行删  
  29. print(my_cousor.rowcount)  
  30.   
  31. my_con.commit()  
  32. #提交事务  
  33. #如果没有my_con.commit()语句,则事务无法提交  
  34. #则此时查看数据库中的数据表,发现infor没有发生改变  
  35.   
  36. my_cousor.close()  
  37. #关闭游标  
  38. my_con.close()  
  39. #关闭连接  

结果如下:

 

1

1

2

再查看数据库中的infor数据表:

技术分享图片

 

 

我们发现Peter邮箱被更改,age大于28岁的用户记录被删除,最后一行多了一条在python中录入的新记录(由于infor表之前被更改过多次,所以新增记录的id不是7,而是16)

转自https://blog.csdn.net/m0_37422217/article/details/76696740




以上是关于mysql操作的主要内容,如果未能解决你的问题,请参考以下文章

python编写mysql类实现mysql的操作

Mysql:数据库操作数据表操作字段操作整理

1029 MySQL操作表 MySQL操作表数据行

python简单操作mysql

Mac终端操作Mysql,以及Mysql的操作

python操作MySQL;MySQL补充知识