python操作mysql——mysql.connector


連接mysql, 需要mysql connector, conntector是一種驅動程序,python連接mysql的驅動程序,mysql官方給出的名稱為connector/python,

可參考mysql官網:https://dev.mysql.com/downloads/connector/

 

環境

操作系統:Windows 10

python版本:2.7

mysql版本:5.5.53 MySQL Community Server (GPL)

IDE工具:pycharm 2016.3.2

 

 

接下來列舉python操作mysql的步驟:

1.下載並安裝connector/python

A.下載mysql-connector-python-2.1.6-py2.7-winx64.msi,下載之后,根據提示安裝即可

下載地址:https://dev.mysql.com/downloads/connector/python/

 

2.使用命令行往mysql中添加數據

A.進入數據庫命令行操作界面,使用mysql -u USERNAME -p PASSWORD

B.數據庫常用操作

show databases;        # 顯示所有數據庫
create database t1;     # 創建數據庫t1
use database t1;       #指定當前操作的數據庫為t1
drop database t1;      #刪除數據庫t1

注:操作數據庫,可參考菜鳥教程http://www.runoob.com/mysql/mysql-tutorial.html

C.表中所有數據如下

3.使用python中的mysql.connector模塊操作mysql

python代碼

import mysql.connector                 

# mysql1.py
config = {
    'host': '127.0.0.1',
    'user': 'root',
    'password': 'root',
    'port': 3306,
    'database': 'test',
    'charset': 'utf8'
}
try:
    cnn = mysql.connector.connect(**config)
except mysql.connector.Error as e:
    print('connect fails!{}'.format(e))
cursor = cnn.cursor()
try:
    sql_query = 'select name,age from stu ;'
    cursor.execute(sql_query)
    for name, age in cursor:
        print (name, age)
except mysql.connector.Error as e:
    print('query error!{}'.format(e))
finally:
    cursor.close()
    cnn.close()

操作結果

(u'xiaoming', 10)
(u'rose', 18)
(u'jack', 19)
(u'fang', 20)
(u'Liang', 40)
(u'Age', None)

 

更加規范的操作,代碼如下

def select2(sql_cmd, param):
    """
    :param sql_cmd sql 命令
    :param param 參數
    """
    try:
        conn = mysql.connector.connect(**config)
    except mysql.connector.Error as e:
        print('connect fails!{}'.format(e))

    cursor = conn.cursor()
    try:
        cursor.execute(sql_cmd, param)
    except mysql.connector.Error as e:
        print('connect fails!{}'.format(e))
    finally:
        cursor.close()
        conn.close()

if __name__ ==  '__main__':
    sql_cmd = "insert into stu (name, age, sex) value (%s, %s, %s)"
    param = ('yangguo', 28, 'male')
    select2(sql_cmd=sql_cmd, param=param)    # 將命令和參數分隔開,操作起來更加安全

 

這里只是使用mysql.connector的入門案例

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM