Python操作MySQL數(shù)據(jù)庫的簡(jiǎn)單步驟分享
前言
現(xiàn)在Python越來越被大眾所使用,特別是進(jìn)入AI人工智能時(shí)代,對(duì)編程要求更加高效根據(jù)快捷,所以Python也經(jīng)常成為人工智和大數(shù)據(jù)編程的重要語音。既然是編程語言就多多少少會(huì)需求對(duì)數(shù)據(jù)進(jìn)行操作,這一篇我們帶大家使用python對(duì)mysql進(jìn)行的操作。
別的不說,直接上代碼
MySQL 建表
建表的時(shí)候,遇到一些坑,沒有解決,如修改 MySQL 的默認(rèn)引擎,default-storage-engine=InnoDB;
執(zhí)行報(bào)錯(cuò) 。。。無奈
use mybatistable; drop table Test; -- INNODB 支持事務(wù) -- Mysql 默認(rèn)的引擎是 MyISAM ,不支持事務(wù)操作 -- 在創(chuàng)建 mysql 表時(shí),最好指定表使用的引擎 -- 或者直接修改Mysql 默認(rèn)的數(shù)據(jù)庫引擎為 InnoDB -- default-storage-engine=InnoDB; 執(zhí)行報(bào)錯(cuò) 。。。無奈 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; -- 更新表的引擎 ,執(zhí)行報(bào)錯(cuò) -- 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;
python 操作 MySQL
import pymysql ''' 連接 mysql 數(shù)據(jù)庫的步驟 fetchall 接受全部的返回結(jié)果行 PS:只有 innodb 類型的表才可以設(shè)置 autocommit; ''' def connectMySql(): host = '127.0.0.1' username = 'root' password = 'root' # dbName = 'MyBatistable' # 獲得數(shù)據(jù)庫連接對(duì)象 conn = pymysql.connect(host,username,password) #關(guān)閉數(shù)據(jù)庫的自動(dòng)提交事務(wù) conn.autocommit(False) # 選擇要操作的數(shù)據(jù)庫 conn.select_db('MyBatistable') #覆蓋之前操作的數(shù)據(jù)庫名 # 獲得游標(biāo) 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' #執(zhí)行 SQL 語句 # row = cursor._query(sql) #執(zhí)行 execute 方法,返回影響的行數(shù) row = cursor.execute(sql1) print('row type:',type(row)) print('受影響的行數(shù)為:',row) if row > 0: conn.commit() # 提交事務(wù) print('SUCCESS') else: conn.rollback() # 回滾事務(wù) print('Failure') #使用DQL ,返回結(jié)果集,以元組的形式 nums = cursor.fetchall() print('nums Type:',type(nums)) #處理結(jié)果集 if nums != () : for num in nums: print('--',num) if __name__ == '__main__': connectMySql()
總結(jié)
Python 操作 MySQL 時(shí),由于MySQL 默認(rèn)使用時(shí) MyISAM 引擎,不支持事務(wù)操作。而在Python操作 Mysql 中關(guān)閉自動(dòng)提交事務(wù),發(fā)現(xiàn)并沒有卵用,然后到網(wǎng)上百度說,Mysql 中 InnoDB 支持事務(wù),然后我查找一哈我自己表的引擎發(fā)現(xiàn)是 MyISAM ,欲哭無淚啊。然后我就重新開始建表,測(cè)試。
到此這篇關(guān)于Python操作MySQL數(shù)據(jù)庫的簡(jiǎn)單步驟的文章就介紹到這了,更多相關(guān)Python操作MySQL數(shù)據(jù)庫內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Python基礎(chǔ)之操作MySQL數(shù)據(jù)庫
- Python 操作 MySQL數(shù)據(jù)庫
- Python連接mysql數(shù)據(jù)庫及簡(jiǎn)單增刪改查操作示例代碼
- Python操作MySQL數(shù)據(jù)庫的示例代碼
- Python實(shí)現(xiàn)的連接mssql數(shù)據(jù)庫操作示例
- python詳解如何通過sshtunnel pymssql實(shí)現(xiàn)遠(yuǎn)程連接數(shù)據(jù)庫
- Python基于Pymssql模塊實(shí)現(xiàn)連接SQL Server數(shù)據(jù)庫的方法詳解
- Python連接mssql數(shù)據(jù)庫編碼問題解決方法
- 使用Python操作MySql數(shù)據(jù)庫和MsSql數(shù)據(jù)庫
相關(guān)文章
Python實(shí)現(xiàn)的從右到左字符串替換方法示例
這篇文章主要介紹了Python實(shí)現(xiàn)的從右到左字符串替換方法,涉及Python字符串遍歷、運(yùn)算、判斷、替換等相關(guān)操作技巧,需要的朋友可以參考下2018-07-07python結(jié)合shell查詢google關(guān)鍵詞排名的實(shí)現(xiàn)代碼
這篇文章主要介紹了python結(jié)合shell查詢google關(guān)鍵詞排名的實(shí)現(xiàn)代碼,需要的朋友可以參考下2016-02-02python實(shí)現(xiàn)一個(gè)簡(jiǎn)單的并查集的示例代碼
本篇文章主要介紹了python實(shí)現(xiàn)一個(gè)簡(jiǎn)單的并查集的示例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-03-03Pycharm pyuic5實(shí)現(xiàn)將ui文件轉(zhuǎn)為py文件,讓UI界面成功顯示
這篇文章主要介紹了Pycharm pyuic5實(shí)現(xiàn)將ui文件轉(zhuǎn)為py文件,讓UI界面成功顯示,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-04-04Python實(shí)現(xiàn)五子棋聯(lián)機(jī)對(duì)戰(zhàn)小游戲
本文主要介紹了通過Python實(shí)現(xiàn)簡(jiǎn)單的支持聯(lián)機(jī)對(duì)戰(zhàn)的游戲——支持局域網(wǎng)聯(lián)機(jī)對(duì)戰(zhàn)的五子棋小游戲。廢話不多說,快來跟隨小編一起學(xué)習(xí)吧2021-12-12python中array數(shù)組添加一行或一列數(shù)據(jù)的具體實(shí)現(xiàn)
這篇文章主要給大家介紹了關(guān)于python中array數(shù)組添加一行或一列數(shù)據(jù)的具體實(shí)現(xiàn),最近經(jīng)常使用到數(shù)組方法,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-09-09Python Pillow Image.save 保存為jpg圖片壓縮問題
Pillow 庫支持多種圖片格式,Pillow 能夠很輕松地實(shí)現(xiàn)圖片格式之間的轉(zhuǎn)換。本文就來詳細(xì)的介紹一下Image.save的具體使用,感興趣的可以了解一下2021-11-11