mysql 和mysqld 的區別:
mysqld 是服務端程式
mysql是命令列客戶端程式
python操作mysql資料庫,新增、修改和刪除比較簡單,都是執行乙個簡單的sql語句。查詢除了執行sql語句外還需要使用fetchone和fetchall來獲取資料條目
1#-*- coding: utf-8 -*-23
__author__ = '
administrator'4
5import
mysqldb67
#開啟資料庫連線
8 db = mysqldb.connect("
localhost
","root
","123456
","test")
910#使用cursor()方法獲取操作游標
11 cursor =db.cursor()
1213
#使用execute方法執行sql語句
14 cursor.execute("
select version()")
1516
#使用 fetchone() 方法獲取一條資料庫。
17 data =cursor.fetchone()
1819
"database version : %s
" %data
2021
#如果資料表已經存在使用 execute() 方法刪除表。
22 cursor.execute("
drop table if exists employee")
2324
#建立資料表sql語句
25 sql = """
create table employee (
26first_name char(20) not null,
27last_name char(20),
28age int,
29*** char(1),
30income float )
"""31
32cursor.execute(sql)
3334
#sql 插入語句
35 sql = """
insert into employee(first_name,
36last_name, age, ***, income)
37values ('mac', 'mohan', 20, 'm', 2000)
"""38
try:39#
執行sql語句
40cursor.execute(sql)41#
提交到資料庫執行
42db.commit()
43except:44
#rollback in case there is any error
45db.rollback()
4647
#sql 查詢語句
48 sql = "
select * from employee \
49where income > '%d'
" % (1000)
50try:51
#執行sql語句
52cursor.execute(sql)53#
獲取所有記錄列表
54 results =cursor.fetchall()
55for row in
results:
56 fname =row[0]
57 lname = row[1]
58 age = row[2]
59 *** = row[3]
60 income = row[4]61#
列印結果
62print
"fname=%s,lname=%s,age=%d,***=%s,income=%d
" %\
63(fname, lname, age, ***, income )
64except:65
"error: unable to fecth data"66
67#關閉資料庫連線
68 db.close()
事務機制可以確保資料一致性。
事務應該具有4個屬性:原子性、一致性、隔離性、永續性。這四個屬性通常稱為acid特性。
python db api 2.0 的事務提供了兩個方法 commit 或 rollback。
1#sql刪除記錄語句
2 sql = "
delete from employee where age > '%d'
" % (20)
3try:4
#執行sql語句
5cursor.execute(sql)6#
向資料庫提交
7db.commit()
8except:9
#發生錯誤時回滾
10 db.rollback()
對於支援事務的資料庫, 在python資料庫程式設計中,當游標建立之時,就自動開始了乙個**的資料庫事務。commit()方法游標的所有更新操作,rollback()方法回滾當前游標的所有操作。每乙個方法都開始了乙個新的事務。
Python連線mysql資料庫等常用操作
一 安裝pymysql模組 pip3 install pymysql 注 如果報錯,執行python m pip install upgrade pip 更新下pip版本 二 連線mysql等常用操作 增 刪 改 查 import pymysql 建立鏈結 conn pymysql.connect ...
Python之MySQL資料庫增刪改查操作
一.插入操作 1.插入1 import pymysql def get conn conn pymysql.connect host localhost port 3306,user root passwd root db test1 db 表示資料庫名稱 return conn def inser...
Python學習 任務9 MySQL資料庫操作
資料庫操作是很多高階語言的常規學習任務 本demo的實驗用具 mysql資料庫,乙個可用的資料庫,乙個可用的表 學生表為例 對於python 3.x,用pymysql包,python 2貌似是mysqldb tutorial 9 2020 2 8 johan 題目 1 從mysql資料庫讀取資料 2...