python連線資料庫(3)插入更新和刪除

2021-08-01 19:56:43 字數 2027 閱讀 1804

首先說一下事務與回滾:

事務就是執行單元的集合

回滾就是回到執行之前的狀態

事務應該具有4個屬性:原子性、一致性、隔離性、永續性。這四個屬性通常稱為acid特性。

① 原子性(atomicity)。乙個事務是乙個不可分割的工作單位,事務中包括的諸操作要麼都做,要麼都不做。

② 一致性(consistency)。事務必須是使資料庫從乙個一致性狀態變到另乙個一致性狀態。一致性與原子性是密切相關的。

③ 隔離性(isolation)。乙個事務的執行不能被其他事務干擾。即乙個事務內部的操作及使用的資料對併發的其他事務是隔離的,併發執行的各個事務之間不能互相干擾。

④ 永續性(durability)。持續性也稱永久性(permanence),指乙個事務一旦提交,它對資料庫中資料的改變就應該是永久性的。接下來的其他操作或故障不應該對其有任何影響。

#coding:utf-8

import mysqldb

conn=mysqldb.connect(host = '127.0.0.1',

port = 3306,

charset ='utf8',

passwd = '123456',

user = 'root',

db = 'immo'

)cursor = conn.cursor()

sql_insert="insert into user(userid,username) values(13,'name110')"

sql_update="update user set username='name911' where userid=9"

sql_delete="delete from user where userid<4"

cursor.execute(sql_insert)

print cursor.rowcount#execute執行之後生成效果有幾行

cursor.execute(sql_delete)

print cursor.rowcount

cursor.execute(sql_update)

print cursor.rowcount

conn.commit()

cursor.close()

conn.close()

**一和**二的區別就是加入了檢測機制,是否出現異常。如果正常用conn.commit()提交到資料庫,重新整理即可。否者用到回滾事務,見**

#coding:utf-8

import mysqldb

conn=mysqldb.connect(host = '127.0.0.1',

port = 3306,

charset ='utf8',

passwd = '123456',

user = 'root',

db = 'immo'

)cursor = conn.cursor()

sql_insert="insert into user(userid,username) values(16,'name19')"

sql_update="update user set username='name7' where userid=7"

sql_delete="delete from user where usrid<5"

try:

cursor.execute(sql_insert)

print cursor.rowcount#執行過inset改變了幾行

cursor.execute(sql_delete)

print cursor.rowcount#同上

cursor.execute(sql_update)

print cursor.rowcount

conn.commit()

except exception as e:

print e

conn.rollback()#回滾事務

cursor.close()

conn.close()

python 連線資料庫

原文 原文1 安裝mysql python pip install mysql python dome1 def db mange db bank conn none try 開啟資料庫連線 conn mysqldb.connect localhost root 123456 db bank 獲取操...

Python連線資料庫

usr bin env python coding utf 8 import sys reload sys sys.setdefaultencoding utf 8 import pymysql import pymysql.cursors usr bin env python coding utf...

python連線資料庫

1 安裝mysql ubantu下安裝不撰述 2 安裝python版本的mysql開發包 sudo apt get install python mysqldb3 編寫python usr bin python coding utf 8 import mysqldb 引入mysqldb包 開啟資料庫...