現在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...