Python操作MySQL資料庫的簡單步驟分享

2022-09-21 23:39:10 字數 2591 閱讀 2405

現在python越來越被大眾所使用,特別是進入ai人工智慧時代,對程式設計要求更加高效根據快捷,所以python也經常成為人工智和大資料程式設計的重要語音。既然是程式語言就多多少少會需求對資料進行操作,這一篇我們帶大家使用python對mysql進行的操作。

別的不說,直接上**

建表的時候,遇到一些坑,沒有解決,如修改 mysql 的預設引擎,default-storage-engine=innodb;執行報錯 。。。無奈

use mybatistable;

drop table test;

-- innodb 支援事務

-- mysql 預設的引擎是 myisam ,不支援事務操作

-- 在建立 mysql 表時,最好指定表使用的引擎

-- 或者直接修改mysql 預設的資料庫引擎為 innodb

-- default-storage-engine=innodb; 執行報錯 。。。無奈

create table test(

id int(10) not null auto_increment,

name varchar(20) not null,

password varchar(30) not null,

constraint pk_id primary key(id),

constraint程式設計客棧 uk_name unique(name)

)engine=innodb charset=utf8;

-- 檢視表的引擎

show create table test;

-- 更新表的引擎 ,執行報錯

-- alter table test type = innodb;

insert into test values(default,'小紅',123);

insert into test values(default,'小李',123);

insert into test values(default,'小趙',123);

insert into test values(default,'小軍',123);

insert into test values(default,'小方',123);

select * from test;

imporcdxfljnout pymysql

''' 連線 mysql 資料庫的步驟

fetchall 接受全部的返回結果行

ps:只有 innodb 型別的cdxfljnou表才可以設定 autocommit;

'''def connectmysql():

host = '127.0.0.1'

username = 'root'

password = 'root'

# dbname = 'mybatistable'

# 獲得資料庫連線物件

conn = pymysql.connect(host,username,password)

#關閉資料庫的自動提交事務

conn.autocommit(false)

# 選擇要操作的資料程式設計客棧庫

conn.select_db('mybatistable') #覆蓋之前操作的資料庫名

# 獲得游標

cursor = conn.cursor()

#定義 sql 語句

sql = 'select * from test'

sql1 = 'insert into test values(程式設計客棧default,"小鍋","120")'

sql2 = 'update test set name="小庫2" where id = 2'

sql3 = 'delete from test where id = 2'

#執行 sql 語句

# row = cursor._query(sql)

#執行 execute 方法,返回影響的行數

row = cursor.execute(sql1)

print('row type:',type(row))

print('受影響的行數為:',row)

if row > 0:

conn.commit() # 提交事務

print('success')

else:

conn.rollback() # 回滾事務

print('failure')

#使用dql ,返回結果集,以元組的形式

nums = cursor.fetchall()

print('nums type:',type(nums))

#處理結果集

if nums != () :

for num in nums:

print('--',num)

if __name__ == '__main__':

connectmysql()

python 操作 mysql 時,由於mysql 預設使用時 myisam 引擎,不支援事務操作。而在python操作 mysql 中關閉自動提交事務,發現並沒有卵用,然後到網上百度說,mysql 中 innodb 支援事務,然後我查詢一哈我自己表的引擎發現是 myisam ,欲哭無淚啊。然後我就重新開始建表,測試。

python操作mysql查詢資料

首先需要連線資料庫,然後才查詢出資料。例如下表名字為 sinauser iduse id use name11 db12 2db233 db3class database def init self self.conn mysqldb.connect 連線資料庫 host 連線你要取出資料庫的ip,...

python操作MySQL資料庫

堅持每天學一點,每天積累一點點,作為自己每天的業餘收穫,這個文章是我在吃飯的期間寫的,利用自己零散的時間學了一下python操作mysql,所以整理一下。我採用的是mysqldb操作的mysql資料庫。先來乙個簡單的例子吧 import mysqldb try conn mysqldb.connec...

Python操作Mysql資料庫

coding utf8 author yangjing import mysqldb 查詢。def select host user root password port 3306,db sql connect mysqldb.connect host host,user user,passwd p...