国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術(shù)文章
文章詳情頁

pymysql實(shí)現(xiàn)增刪改查的操作指南(python)

瀏覽:7日期:2022-06-19 17:25:50

1.安裝pymysql:pip install pymysql (在命令行窗口中執(zhí)行)

2.卸載pymysql:pip uninstall pymysql (在命令行窗口中執(zhí)行)

數(shù)據(jù)庫(kù)的連接

需要注意的是port是不用引號(hào)括起來 charset是utf8不是utf-8

# 獲取數(shù)據(jù)庫(kù)連接對(duì)象connection = pymysql.connect(host=’localhost’, port=3306, user=’root’, passwd=’2732195202’, db=’book’, charset=’utf8’)# 獲取一個(gè)游標(biāo)driver = connection.cursor()# 執(zhí)行一條sqldriver.execute('select version()')# 獲取執(zhí)行sql的返回值resultData=driver.fetchall()print(resultData)# 關(guān)閉數(shù)據(jù)庫(kù)connection.close()創(chuàng)建數(shù)據(jù)庫(kù)表

import pymysql#獲取數(shù)據(jù)庫(kù)連接對(duì)象connection = pymysql.connect(host=’localhost’, port=3306, user=’root’, passwd=’2732195202’, db=’book’, charset=’utf8’)#獲取一個(gè)游標(biāo)driver=connection.cursor()# 如果該數(shù)據(jù)庫(kù)存在就刪除driver.execute('drop table if exists t_emp ')# 定義sql語句sql=''' CREATE TABLE `t_emp` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT ’主鍵’, `department` varchar(20) DEFAULT NULL COMMENT ’部門’, `salary` decimal(10,2) DEFAULT NULL COMMENT ’工資’, `age` int(11) DEFAULT NULL COMMENT ’年齡’, `sex` varchar(4) DEFAULT NULL COMMENT ’性別’, PRIMARY KEY (`id`))ENGINE=InnoDB DEFAULT CHARSET=utf8; '''# 執(zhí)行sqldriver.execute(sql)# 關(guān)閉數(shù)據(jù)連接connection.close()向數(shù)據(jù)庫(kù)中添加數(shù)據(jù)

1.需要注意的是規(guī)范sql,該寫的字段都寫上,不使用默認(rèn)對(duì)應(yīng)

2.提交事務(wù)的對(duì)象是數(shù)據(jù)庫(kù)連接對(duì)象,而不是游標(biāo)對(duì)象

3.pycharm連接mysql數(shù)據(jù)時(shí),如果連接驅(qū)動(dòng)是高版本,需要加上時(shí)區(qū),jdbc:mysql://localhost/book?serverTimezone=GMT%2B8

4.如果主鍵是自動(dòng)遞增,則不能手動(dòng)指定值,不能寫該字段,讓其自增長(zhǎng)

# 獲取數(shù)據(jù)庫(kù)連接對(duì)象connection=pymysql.connect(host=’localhost’,port=3306,user=’root’,passwd=’2732195202’,db=’book’,charset=’utf8’)# 獲取一個(gè)游標(biāo)driver=connection.cursor()# 定義sql語句sql=''' insert into t_emp(name,department,salary,age,sex)values('tom','開發(fā)部',8000,25,'男'), ('tom','開發(fā)部',8000,25,'男') '''# 嘗試捕捉錯(cuò)誤try: # 執(zhí)行SQL,并返回收影響行數(shù) result=driver.execute(sql) # 提交事務(wù) connection.commit() print('sql(insert)->error')except: # 如果發(fā)生錯(cuò)誤 則回滾事務(wù) print('sql(insert)->error') driver.rollback()# 關(guān)閉數(shù)據(jù)庫(kù)連接connection.close()修改表中的數(shù)據(jù)

注意點(diǎn):在操作數(shù)據(jù)庫(kù)之前,需要確認(rèn)是否獲取連接數(shù)據(jù)庫(kù)成功,并且選中了數(shù)庫(kù)

2.卸載第三方庫(kù):pip uninstall pymysql

#獲取數(shù)據(jù)庫(kù)連接對(duì)象 autocommit=True:設(shè)置數(shù)據(jù)庫(kù)自動(dòng)提交connection=pymysql.connect(host='localhost',port=3306,user=’root’,passwd=’2732195202’,db=’book’,charset=’utf8’,autocommit=True)# 獲取游標(biāo)對(duì)象driver=connection.cursor()# 定義sqlsql='update t_emp set salary=%s,name=%s where id=%s;'# 如果sql錯(cuò)誤就執(zhí)行回滾操作,成功就提交try: # 執(zhí)行sql,并且返回影響的行數(shù) result=driver.execute(sql,[6000,'admin',19]) connection.commit() print('sql(update)->success')except: print('sql(update)->error') connection.rollback()# 關(guān)閉數(shù)據(jù)庫(kù)連接對(duì)象connection.close()查詢數(shù)據(jù)

1.項(xiàng)目中的.py文件不能和python庫(kù)中的文件進(jìn)行沖突,否則會(huì)出現(xiàn)異常

# 獲取數(shù)據(jù)庫(kù)連接對(duì)象connection=pymysql.connect(host=’localhost’,port=3306,user=’root’,passwd=’2732195202’,db=’book’,charset=’utf8’)# 獲取一個(gè)游標(biāo)對(duì)象driver=connection.cursor()#定義sqlsql='select id, name, department, salary, age, sex from t_emp where id>%s and sex=%s'# 只能獲取一次,獲取多次的時(shí)候會(huì)獲取到null 如果是多個(gè)參數(shù),需要傳遞一個(gè)元組try: driver.execute(sql,(1,'女')) # 獲取所有的查詢結(jié)果 返回一個(gè)元組 resultAll=driver.fetchall() print('resultAll:', resultAll) # 獲取2條數(shù)據(jù) resultTwo=driver.fetchmany(2) print('resultTwo:', resultTwo) # 獲取一條數(shù)據(jù) resultOne=driver.fetchone() print('resultThree:', resultOne) print('sql(select)->success')except: connection.rollback() print('sql(select)->error')# 關(guān)閉數(shù)據(jù)庫(kù)連接connection.close()刪除表中的記錄

import pymysql# 獲取數(shù)據(jù)庫(kù)連接對(duì)象connection = pymysql.connect(host=’localhost’, port=3306, user=’root’, passwd=’2732195202’, db=’book’, charset=’utf8’)# 獲取一個(gè)游標(biāo)driver = connection.cursor()# 定義sqlsql='delete from t_emp where id=%s'try: # 執(zhí)行一條sql driver.execute(sql, (21)) # 提交事務(wù) connection.commit() print('sql(delete)->success')except Exception as e: # 回滾事務(wù) connection.rollback() print('sql(delete)->error') print(e)#關(guān)閉數(shù)據(jù)庫(kù)連接connection.close()事務(wù)操作

pymysql實(shí)現(xiàn)增刪改查的操作指南(python)

提交事務(wù): connection.commit()

回滾事務(wù): connection.rollback()

總結(jié)

到此這篇關(guān)于pymsql實(shí)現(xiàn)增刪改查(python)的文章就介紹到這了,更多相關(guān)pymsql增刪改查內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 玖玖在线免费视频 | 喷潮白浆直流在线播放 | 中国成人在线视频 | 欧美成人免费在线观看 | 久久久久亚洲视频 | 欧美在线国产 | 欧美视频亚洲视频 | 韩国一级永久免费观看网址 | 国产精品免费精品自在线观看 | 国产精品国产三级在线高清观看 | 国产91精品高清一区二区三区 | 一级绝黄 | 欧美特黄一级视频 | 日韩免费观看一级毛片看看 | 日韩一级a毛片欧美一级 | 成人国产精品一级毛片了 | 国产成人综合亚洲欧美在 | 黄色毛片免费看 | 中日韩一级片 | 欧美成人高清性色生活 | 呦视频在线一区二区三区 | 欧美精品区 | 综合自拍亚洲综合图区美腿丝袜 | 中国老太卖淫播放毛片 | 欧美精品一级 | 亚洲视频 在线观看 | 国产午夜一级淫片 | 欧美日本免费观看αv片 | 9lporm自拍视频在线 | 日本免费特黄aa毛片 | 亚洲黄色免费在线观看 | 色本| 国产精品二 | 美女在线看永久免费网址 | 久久一日本道色综合久久 | 国产高清厕所盗摄视频 | 亚洲第一欧美 | 在线国产三级 | 一本高清 | 久久国产精品久久久久久久久久 | 久久精品免费观看久久 |