Python3與MySQL資料庫連線

2021-08-19 00:00:08 字數 2483 閱讀 7864

1、原子性:要麼都做,要麼都不做(兩條資料(寫入和儲存)一步未成功,整體回滾)

2、一致性:資料庫的狀態改變(兩條資料(寫入和儲存)均成功,符合原子性,但未保持相互一致,不符合一致性)

3、隔離性:寫入資料不互相影響

4、永續性:資料只能修改,不能返回(不能進行』ctrl+c』操作)

本文(以下**)首先確定建立choice資料庫,建立學生表tbstudent、課程表 tbcourse及選課資訊表tbsc

安裝pymysql模組

pip install pymysql
資料庫連線
# -*- coding: utf-8 -*-

import pymysql

# 1.連線到資料庫

db = pymysql.connect(

host='localhost',

user='root',

password='123456',

db='choice',

port=3306,

charset='utf8'

)# 2.獲取游標: 使用 cursor() 方法建立乙個游標物件 cursor

cursor = db.cursor()

# 3.執行結果: 使用 execute() 方法執行 sql 查詢

cursor.execute("select * from tbstudent")

# 4.獲取結果: 使用 fetchall() 方法獲取所有資料.

data = cursor.fetchall()

# 獲取一條結果: : 使用 fetchone() 方法獲取單條資料.

# data1 = cursor.fetchone()

for i in data:

print('id:%s name:%s' % (i[0], i[1]))

# 6.關閉資料庫連線

db.close()

資料庫插入操作
# -*- coding:utf-8 -*-

import pymysql

db = pymysql.connect(

host = 'localhost',

user = 'root',

passwd = '123456',

db = 'choice',

port = 3306,

charset = 'utf8'

)# 游標

cursor = db.cursor()

# 執行

try:

sql = '''insert into tbcourse values

(7777, 'c222語言程式設計', 3, '大神級講師')'''

cursor.execute(sql)

db.commit()

except:

# 回滾(如果執行不成功)

db.rollback()

# 關閉

db.close()

刪除操作
# 刪除資料(前面**同插入操作執行以前的**)

try:

sql = '''delete from tbstudent where stuid=1002;'''

cursor.execute(sql)

db.commit()

except:

db.rollback()

# 關閉

db.close()

建立資料庫表

如果資料庫連線存在我們可以使用execute()方法來為資料庫建立表,如下所示建立表employee:

# -*- coding:utf-8 -*-

import pymysql

# 開啟資料庫連線

db = pymysql.connect(

host = 'localhost',

user = 'root',

passwd = '123456',

db = 'choice',

port = 3306,

charset = 'utf8'

)# 使用 cursor() 方法建立乙個游標物件 cursor

cursor = db.cursor()

# 使用 execute() 方法執行 sql,如果表存在則刪除

cursor.execute("drop table if exists employee")

# 使用預處理語句建立表

sql = """create table employee (

first_name char(20) not null,

last_name char(20),

age int,

*** char(1),

income float )"""

cursor.execute(sql)

# 關閉資料庫連線

db.close()

Python3和MySQL與Oracle資料庫連線

匯入pymysqimport pymysql建立乙個連線物件,再使用建立游標con pymysql.connect host 主機ip port 3306,user 使用者名稱 passwd 使用者名稱密碼 db 資料庫名稱 cursor con.cursor 執行乙個sql語句sql select...

python3菜鳥 Python3 迭代器與生成器

如教程所說,迭代器和生成器算是 python 一大特色,其核心是基於迭代器協議來的。而平時我們經常使用的 for in 迴圈體,本質就是迭代器協議的一大應用。同時 python 內建的集合型別 字元 列表 元組 字典 都已經實現了迭代器協議,所以才能使用 for in 語句進行迭代遍歷。for in...

python3 操作MySQL資料庫

pip3 install pymysql usr bin python3 import pymysql 在進行資料的修改更新和刪除時,需要進行commit 資料的獲取 cursor.fetchone self cursor.fetchall self cursor.fetchmany self,si...