久久久精品一区ed2k-女人被男人叉到高潮的视频-中文字幕乱码一区久久麻豆樱花-俄罗斯熟妇真实视频

python連接數(shù)據(jù)庫(kù)操作MySQL

參考

創(chuàng)新互聯(lián)建站專(zhuān)業(yè)為企業(yè)提供和平網(wǎng)站建設(shè)、和平做網(wǎng)站、和平網(wǎng)站設(shè)計(jì)、和平網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、和平企業(yè)網(wǎng)站模板建站服務(wù),10余年和平做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。

:http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001391435131816c6a377e100ec4d43b3fc9145f3bb8056000

http://www.cnblogs.com/fnng/p/3565912.html

一 模塊

  • MySQL-connector-python:是MySQL官方的純Python驅(qū)動(dòng);

  • MySQL-python:是封裝了MySQL C驅(qū)動(dòng)的Python驅(qū)動(dòng)。

可以把兩個(gè)都裝上,使用的時(shí)候再?zèng)Q定用哪個(gè):

$ pip install  mysql-connector-python
pip install  MySQL-python

或者 使用yum安裝(包名我忘記了 可以是使用yum search mysql去找)

yum install MySQL-python

測(cè)試是否按照好的驅(qū)動(dòng)

#!/usr/bin/env python
#coding:utf-8
import sys
try:
    import MySQLdb
    print "MySQL python drivier is ok!"
except Exception, e:
    print e
    sys.exit(1)
finally:
    sys.exit(1)

二、數(shù)據(jù)庫(kù)中的表

show create table net_data; 可以查看

CREATE TABLE `net_data` (
  `_id` int(11) NOT NULL AUTO_INCREMENT,
  `create_date` datetime NOT NULL,
  `province` varchar(64) NOT NULL,
  `city` varchar(64) NOT NULL,
  `net_type` enum('CTC','CNC','CMC','JK') NOT NULL,
  `med` float NOT NULL,
  `loss` float NOT NULL,
  PRIMARY KEY (`_id`)
) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8;

三  先看插入的實(shí)例吧

作用,連接數(shù)據(jù)庫(kù)插入一條數(shù)據(jù)

數(shù)據(jù)庫(kù)插入一條數(shù)據(jù)

import MySQLdb
....
....
def insert_into_mysql(info):
    conn= MySQLdb.Connect(
            host='localhost',
            port = 3306,
            user='root',
            passwd='12qwaszx',
            db ='netmap',
            charset='utf8',
            )
    cur = conn.cursor()
    sqli = "insert into net_data (create_date,province,city,net_type,med,loss) values(%s,%s,%s,%s,%s,%s)"
    cur.execute(sqli,(datetime.now(),'上海','上海','CTC','23','0'))
    conn.commit()
    cur.close()
    conn.close()

同時(shí)插入多條數(shù)據(jù)

#info type is list 列表
def insert_into_mysql(info):
    conn= MySQLdb.Connect(
            host='localhost',
            port = 3306,
            user='root',
            passwd='12qwaszx',
            db ='netmap',
            charset='utf8',
            )
    cur = conn.cursor()
    sqli = "insert into net_data (create_date,province,city,net_type,med,loss) values(%s,%s,%s,%s,%s,%s)"
    cur.executemany(sqli,(info))
    conn.commit()
    cur.close()
    conn.close()

四、查詢(xún)實(shí)例(完成程序的一部分,完成的是一個(gè)統(tǒng)計(jì)報(bào)表發(fā)送的郵件的程序)

#!/usr/bin/env python
#encoding=utf8
#by cuizhiliang at 2016-04-29
from datetime import datetime, timedelta
import time
from jinja2 import Template
from sendmail import SendHtmlEmail
import MySQLdb
import os,sys
reload(sys)
sys.setdefaultencoding("utf-8")
g= {
    'host': '127.0.0.1',
    'port': 3306,
    'user': 'zabbix',
    'password': 'zabbix',
    'db':'zabbix',
}
now= datetime.now()
yesterday = now - timedelta(1)
yest_clock = (datetime.now()  -timedelta(1)).strftime('%s')
data = {}
def select_mysql(cmd):
    conn= MySQLdb.Connect(
            host= g['host'],
            port= g['port'],
            user= g['user'],
            passwd= g['password'],
            db =g['db'],
            charset='utf8',
            )
    #print cmd
    cur = conn.cursor()
    cur.execute(cmd)
    res =cur.fetchall()
    return res
#zabbix 上用戶(hù)列表
def get_user_info():
    cmd="select userid, alias,  name, type  from users;"
    user_list = []
    user_list= list(select_mysql(cmd))
    print user_list
    return user_list
if __name__ == "__main__":
    
    data["user"]= get_user_info()

五、注意: 

1 插入數(shù)據(jù)庫(kù)中文亂碼  連接數(shù)據(jù)的字符集 一定要設(shè)定

charset='utf8'

2 不慣數(shù)據(jù)庫(kù)中的字段是datetime類(lèi)型還是int類(lèi)型,在插入的時(shí)候都傳為%s 字符串類(lèi)型,類(lèi)型對(duì)我們是透明了,模塊會(huì)自動(dòng)處理類(lèi)型! 

3 模塊在mac中可能會(huì)出錯(cuò) MySQLdb 

報(bào)錯(cuò):

Traceback (most recent call last):

  File "ping_info.py", line 12, in <module>

    import MySQLdb

  File "/Library/Python/2.7/site-packages/MySQLdb/__init__.py", line 19, in <module>

    import _mysql

ImportError: dlopen(/Library/Python/2.7/site-packages/_mysql.so, 2): Library not loaded: libmysqlclient.18.dylib

  Referenced from: /Library/Python/2.7/site-packages/_mysql.so

  Reason: p_w_picpath not found

解決方法,因?yàn)槭荂語(yǔ)言開(kāi)發(fā)驅(qū)動(dòng),所有依賴(lài)mysql客戶(hù)端模塊

 sudo find / -name "libmysqlclient.18.dylib"

/usr/local/mysql-5.6.24-osx10.8-x86_64/lib/libmysqlclient.18.dylib

sudo cp /usr/local/mysql-5.6.24-osx10.8-x86_64/lib/libmysqlclient.18.dylib /usr/lib

本文標(biāo)題:python連接數(shù)據(jù)庫(kù)操作MySQL
文章位置:http://sd-ha.com/article0/jsjcio.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營(yíng)銷(xiāo)、標(biāo)簽優(yōu)化動(dòng)態(tài)網(wǎng)站、營(yíng)銷(xiāo)型網(wǎng)站建設(shè)網(wǎng)站維護(hù)、云服務(wù)器

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)