91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python操作mysql數據庫的方法介紹

發布時間:2020-05-28 16:52:42 來源:網絡 閱讀:273 作者:三月 欄目:數據庫

下面講講關于python操作mysql數據庫的方法,文字的奧妙在于貼近主題相關。所以,閑話就不談了,我們直接看下文吧,相信看完python操作mysql數據庫的方法這篇文章你一定會有所受益。  

基礎環境:Python 3.5.1

mysql版本:5.6.35 (rpm安裝方式)

操作系統:Centos7.3 和windows7

一、python連接數據庫模塊介紹:

    目前主要用的有以下幾種、MySQLdb和pymsql以及mysql官方提供的mysql-connector-python驅動,MySQLdb模塊是python2.X使用比較多的,而python3.X使用的pymsql會更多一點,以后再研究官方的mysql-connector-python,本次學習以及實踐全部基于pymsql模塊。

    PyMySQL的使用方法和MySQLdb幾乎一樣,習慣用MySQLdb的,只需 import MySQLdb 修改為 import pymysql  就可以了。

二、pymysql連接數據庫的方法以及參數介紹:

     pymysql連接mysql 使用pymysql.connect()方法,可以調整很多參數:

參數

描述

host數據庫地址
user數據庫用戶名,
passwd數據庫密碼,默認為空
db數據庫庫名,沒有默認庫
port數據庫端口,默認3306
connect_timeout連接超時時間,秒為單位
use_unicode結果以unicode字符串返回
charset插入數據庫編碼

連接示例:

connect=pymysql.connect(host="192.168.186.157",port=3306,user="winner",passwd="123123",db="DB",charset="utf8",connect_timeout=3000)
示例連接主要包含host,user,passwrd以及port等參數

連接示例2:
connect=pymysql.connect("192.168.186.157","winner","123123","test")
不用加host等參數,但是格式固定,分別是主機 、用戶、 密碼以及初始連接的數據庫不能互換位置,
而上面的帶參數的示例相對來說更隨意一些。

注意:這里的端口以及連接超時時間都是int,所以不需要帶引號

連接對象返回的connect()函數:

commit()提交事務。對支持事務的數據庫和表,如果提交修改操作,不適用這個方法,則不會寫到數據庫中
rollback()事務回滾。對支持事務的數據庫和表,如果執行此方法,則回滾當前事務。在沒有commit()前提下。
cursor([cursorclass])創建一個游標對象。所有的sql語句的執行都要在游標對象下進行。MySQL本身不支持游標,MySQLdb模塊對其游標進行了仿真。

 在python操作mysql數據庫的過程中,我們主要是使用獲取游標方法counect.cursor()和cursor.execute()方法對數據庫進行操作,像創建數據庫以及數據表等操作,我們一般直接在mysql客戶端連接,執行SQL語句就可以了,所以我們更多的操作就是增、刪、改、查等操作

游標對象也提供了幾種方法:

close()關閉游標
execute(sql)執行sql語句
excutemany(sql)執行多條sql語句
fetchone()從執行結果中取第一條記錄
fetchmany(n)從執行結果中取n條記錄
fetchall()從執行結果中取所有記錄
scroll(self, value, mode='relative')游標滾動

示例一、連接192.168.186.157的mysql服務端創建pymysql庫字符集為utf8

#/usr/bin/env python
#_*_coding:utf-8_*_
#導入pymysql模塊
import pymysql
#使用pymysql.connect()方法創建數據庫鏈接
con=pymysql.connect(host='192.168.186.157',user='winner',passwd='123123',port=3306)
#使用con.cursor()方法創建游標
cursor=con.cursor()
sql="  create  database  If Not Exists   pymysql default character set utf8;"
'''sql="""create table if not exists class (id int(10) primary key auto_increment,
 name varchar(20) not null ,address varchar(20) not null default "gansu")"""
'''
cursor.execute(sql)
cursor.execute("show databases")
dataname=cursor.fetchall()
print(dataname)

執行結果:

(('information_schema',), ('#mysql50#2017-03-16_09-38-47',), ('DB',), ('mysql',), ('performance_schema',),
 ('pymysql',), ('test',), ('winner_mas',))
 Process finished with exit code 0

示例二、連接剛創建的pymysql數據庫創建class表

#/usr/bin/env python
#_*_coding:utf-8_*_
#導入pymysql模塊
import pymysql
#使用pymysql.connect()方法創建數據庫鏈接
con=pymysql.connect(host='192.168.186.157',user='winner',passwd='123123',port=3306,db='pymysql')
#使用con.cursor()方法創建游標
cursor=con.cursor()
#sql="  create  database  If Not Exists   pymysql default character set utf8;"
sql="""create table if not exists class (id int(10) primary key auto_increment,
 name varchar(20) not null ,address varchar(20) not null default "gansu")"""
cursor.execute(sql)
cursor.execute("show tables")
dataname=cursor.fetchall()
print(dataname)
C:\Users\Administrator\AppData\Local\Programs\Python\Python35\python.exe C:/Users/Administrator/PycharmProjects/python/createdatabase.py
(('class',),)
C:\Users\Administrator\AppData\Local\Programs\Python\Python35\lib\site-packages\pymysql\cursors.py:166: Warning: (1050, "Table 'class' already exists")
  result = self._query(query)
Process finished with exit code 0

對于以上python操作mysql數據庫的方法相關內容,大家還有什么不明白的地方嗎?或者想要了解更多相關,可以繼續關注我們的行業資訊板塊。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

林州市| 昆山市| 潍坊市| 土默特左旗| 淳安县| 颍上县| 阜阳市| 晋中市| 富宁县| 卫辉市| 淳化县| 中牟县| 历史| 弋阳县| 瓦房店市| 娄底市| 班戈县| 宁都县| 荥经县| 柳河县| 怀仁县| 德安县| 樟树市| 梁山县| 望奎县| 静安区| 视频| 西青区| 德钦县| 德格县| 汤阴县| 永清县| 措美县| 柳河县| 翁源县| 黑河市| 新宾| 时尚| 荥阳市| 甘洛县| 商洛市|