日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

python的mysql模块_python使用MySQLdb模块连接MySQL

發布時間:2025/10/17 66 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python的mysql模块_python使用MySQLdb模块连接MySQL 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.安裝驅動

目前有兩個MySQL的驅動,我們可以選擇其中一個進行安裝:

MySQL-python:是封裝了MySQL C驅動的Python驅動;mysql-connector-python:是MySQL官方的純Python驅動。

MySQL-python:

mysql-connector-python:

2.測試連接

這里使用MySQL-python驅動,即MySQLdb模塊。

test_connect.py

1 #!/usr/bin/python

2 #-*- coding: UTF-8 -*-

3

4 importMySQLdb5

6 #打開數據庫連接

7 db = MySQLdb.connect("localhost", "root", "123456", "test")8

9 #使用cursor()方法獲取操作游標

10 cursor =db.cursor()11

12 #使用execute方法執行SQL語句

13 cursor.execute("SELECT VERSION()")14

15 #使用 fetchone() 方法獲取一條數據庫。

16 data =cursor.fetchone()17

18 print "Database version : %s" %data19

20 #關閉數據庫連接

21 db.close()

測試結果如下,連接成功:

3.創建數據庫表

測試成功后,我們可以在python中直接為MySQL創建表:

create_table.py

1 #!/usr/bin/python

2 #-*- coding: UTF-8 -*-

3

4 importMySQLdb5

6 #打開數據庫連接

7 db = MySQLdb.connect("localhost", "root", "123456", "test")8

9 #使用cursor()方法獲取操作游標

10 cursor =db.cursor()11

12 #如果數據表已經存在使用 execute() 方法刪除表。

13 cursor.execute("DROP TABLE IF EXISTS EMPLOYEE")14

15 #創建數據表SQL語句

16 sql = """CREATE TABLE EMPLOYEE (17 FIRST_NAME CHAR(20) NOT NULL,18 LAST_NAME CHAR(20),19 AGE INT,20 SEX CHAR(1),21 INCOME FLOAT )"""

22

23 cursor.execute(sql)24

25 #關閉數據庫連接

26 db.close()

建表結果 如下:

4.操作數據庫表

注意點:MySQL中的占位符為%s

operate_table.js

1 #!/usr/bin/python

2 #-*- coding: UTF-8 -*-

3

4 importMySQLdb5

6 #打開數據庫連接

7 db = MySQLdb.connect("localhost", "root", "123456", "test")8

9 #使用cursor()方法獲取操作游標

10 cursor =db.cursor()11

12 #SQL插入語句

13 ins_sql = """INSERT INTO EMPLOYEE(FIRST_NAME,14 LAST_NAME, AGE, SEX, INCOME)15 VALUES ('yu', 'jie', 20, 'M', 8000)"""

16

17 ins_sql1 = 'insert into employee(first_name, last_name, age, sex, income) values (%s, %s, %s, %s, %s)'

18

19 #SQL查詢語句

20 sel_sql = 'select * from employee where first_name = %s'

21

22 #SQL更新語句

23 upd_sql = 'update employee set age = %s where sex = %s'

24

25 #SQL刪除語句

26 del_sql = 'delete from employee where first_name = %s'

27

28 try:29 #執行sql語句

30 #insert

31 cursor.execute(ins_sql)32 cursor.execute(ins_sql1, ('xu', 'f', 20, 'M', 8000))33 #select

34 cursor.execute(sel_sql, ('yu',))35 values =cursor.fetchall()36 printvalues37 #update

38 cursor.execute(upd_sql, (24, 'M',))39 #delete

40 cursor.execute(del_sql, ('xu',))41

42 #提交到數據庫執行

43 db.commit()44 except:45 #發生錯誤時回滾

46 db.rollback()47

48 #關閉數據庫連接

49 db.close()

執行插入操作

執行查詢操作

執行更新操作

執行刪除操作

查詢語句的知識點:

Python查詢Mysql使用 fetchone() 方法獲取單條數據, 使用fetchall() 方法獲取多條數據。

fetchone():?該方法獲取下一個查詢結果集。結果集是一個對象

fetchall():接收全部的返回結果行.

例如該例子:

1 sel_sql = 'select * from employee where first_name = %s'

2 cursor.execute(sel_sql, ('yu',))3 results =cursor.fetchall()4 for row inresults:5 fname =row[0]6 lname = row[1]7 age = row[2]8 sex = row[3]9 income = row[4]10 print "fname=%s, lname=%s,age=%d,sex=%s,income=%d" % (fname, lname, age, sex, income)

結果如下:

總結

以上是生活随笔為你收集整理的python的mysql模块_python使用MySQLdb模块连接MySQL的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。