前两天在工作之余研究了一下Python,对基础有了大致了解,就想拿她很MqSQL交互一下。

一开始就遇到了问题,要import MySQLdb,search发现有人说安装mysql-python,于是就很困惑mysql-python是什么东西呢,下载了就是安装不上,参考的是如下文章:http://blog.csdn.net/wklken/article/details/7253245。于是很纠结,mysql-python就是python用的数据库,还是什么?

继续search,终于揭开心中的迷雾:http://gdgzzch.blog.163.com/blog/static/376404522013012115950320/

原来MySQLdb就是一个驱动,好了终于搞定了,开始初次接触,很是让人心动

#encoding=utf-8
#coding=utf-8
#test connection mysql database
#author wangchuanbo
#time 2013-09-26 #导入MySQLdb模块,注意大小写(如果是没有安装,ubuntu->sudo apt-install python-mysqldb)
import sys
import MySQLdb try:
# Python2.5 初始化后会删除 sys.setdefaultencoding 这个方法,我们需要重新载入
reload(sys)
#为了解决乱码问题
sys.setdefaultencoding('utf-8')
#建立和数据库的连接
conn = MySQLdb.connect(host='localhost',user='root',passwd='wcb280280',charset='utf8')
#获取操作游标
cur = conn.cursor()
#执行SQL
cur.execute('create database if not exists python character set utf8') #选择数据库
conn.select_db('python') #建表
sql_create_user = 'create table tbl_user(id int unsigned primary key auto_increment, username varchar(20) not null,sex char(2) not null) default charset=utf8'
cur.execute(sql_create_user)
#插入记录
sql_insert_user = "insert into tbl_user(username,sex) values('方平','女')"
cur.execute(sql_insert_user) #查询记录
sql_select_user = 'select username,sex from tbl_user'
cur.execute(sql_select_user)
result = cur.fetchone()
#获取第一条记录
print '第一条记录是:'
#为了解决乱码问题
result = str(result)
result = result.decode('utf-8')
print result #提交事物(开始死活插不进去,使劲插,各种纠结,也不报错,就是少了这句,有些版本的驱动可能不需要)
conn.commit()
#关闭连接,释放资源
cur.close()
conn.close()
except MySQLdb.Error,e:
print "Mysql Error %d: %s" % (e.args[0], e.args[1])

表结构都是utf8编码:

conn_mysql.py保存也是 utf8

结果是:

主要参考了两篇文章,再次表示感谢,不过在初次阅读的时候还有有些费解,比如创建数据库用了三个引号的字符串,conn.comment()没有,插入数据的时候使用了列表,可能不利于初学者。

本来打算遵循Python的大道之简的原则,写的让初学者一看便知,结果事总于愿违,遇到了和当初自学PHP是的头疼问题,想当初搞定了PHP的乱码问题,以为在也不怕乱码了,结果这里又卡住了,一开始是插入中文的时候有乱码,最后是读取的时候有乱码,于是代码中就增加了太多解决乱码的多余代码,建议初学者,一开始用英文。

最后整了很久,翻了很久Google这本书,还是没有搞定查询乱码的问题,不知何故,今天实在是没有精力了,改天找时间,捉住BUG,读者如若明白,大可指点一二,感激不尽。

参考的文章如下,很全:

http://www.cnblogs.com/rollenholt/archive/2012/05/29/2524327.html

http://blog.csdn.net/wanghai__/article/details/6718297

http://blog.csdn.net/foyuan/article/details/1711100

http://blog.csdn.net/liuyukuan/article/details/5187633

http://www.cnblogs.com/maseng/archive/2013/03/12/python-mysql.html

Python与MySQL首次交互的更多相关文章

  1. MySQL(10) - Python与MySQL的交互

    1.MySQL驱动模块Connector的语法 1.1.下载驱动 进入官网下载对应版本驱动 1.2.创建连接 方式一: import mysql.connector con = mysql.conne ...

  2. Python和MySQL数据库交互PyMySQL

    Python数据库操作 对于关系型数据库的访问,Python社区已经指定了一个标准,称为Python Database API SepcificationV2.0.MySQL.Qracle等特定数据库 ...

  3. 【呕心总结】python如何与mysql实现交互及常用sql语句

    9 月初,我对 python 爬虫 燃起兴趣,但爬取到的数据多通道实时同步读写用文件并不方便,于是开始用起mysql.这篇笔记,我将整理近一个月的实战中最常用到的 mysql 语句,同时也将涉及到如何 ...

  4. Python和mysql的连接

    python与mysql的连接: 说明:前提是已近安装了mysql以及可视化工具(本人装的是Navicat) 1.在cmd下下载Python的第三方数据库包:pip install pymysql: ...

  5. 前端和后端的数据交互(jquery ajax+python flask+mysql)

    上web课的时候老师布置的一个实验,要求省市连动,基本要求如下: 1.用select选中一个省份. 2.省份数据传送到服务器,服务器从数据库中搜索对应城市信息. 3.将城市信息返回客户,客户用sele ...

  6. python中web应用与mysql数据库交互

    7使用数据库 具体使用python的DB-API,这一章里介绍如何编写代码与MYSQL数据库技术交互,这里使用一个通用的数据库API,名为DB-API. 7.1基于数据库的web应用 之前我们把日志数 ...

  7. Python与Mysql交互

    #转载请联系 在写内容之前,先放一张图,bling- 这张图算是比较详细的表达出了web开发都需要什么.用户访问网页,就是访问服务器的网页文件.这些网页文件由前端工程师编写的.服务器通常用nginx/ ...

  8. 二十、Python与Mysql交互

    先安装一个python与MySQL交互的包:MySQL-python $ gunzip MySQL-python-1.2.2.tar.gz $ tar -xvf MySQL-python-1.2.2. ...

  9. MySQL之Python与Mysql交互

    一:Python操作MySQL步骤 1:Python中操作MySQL的步骤 2.引入模块 在.py文件中引入pymysql模块 import pymysql pymysql是python的一个第三方与 ...

随机推荐

  1. c指针点滴1

    #include <stdio.h> #include <stdlib.h> void main() { ; int *p = &num;//&num是一个地址 ...

  2. java 版本SQLHelper

    package com.jack.SQLHelper; import java.sql.*;import java.util.logging.*;import javax.swing.table.*; ...

  3. Direct3D 11的资源

    资源(Resource) 如果把渲染流水线比喻成汽车装配线,资源就是流水线上需要输入的东西. 资源可分为两类:Textures(纹理)和Buffers(缓冲区). Textures可以简单地分为1维, ...

  4. [RxJS] Updating Data with Scan

    You often need to update the data flowing through the stream with custom logic based on what you nee ...

  5. C#隐式执行CMD命令

    本文实现C#隐式执行CMD功能命令.下图是示例程序的主界面. 在命令文本框输入DOS命令,点击"Run"button.在以下的文本框中输出执行结果. 以下是程序的完整代码. 本程序 ...

  6. Dynamics CRM 常用 JS 方法集合

    JS部分 拿到字段的值 var value= Xrm.Page.getAttribute("attributename").getValue(); Xrm.Page.getAttr ...

  7. 【精品】Android游戏类源码大集合

    Android自定义效果——随机抽奖 一个模拟抽奖的效果,用户设定若干个选项,添加之后,就可以通过程序,来帮助随机选择其中一项出来.这个类似超市里面那种指针转盘抽奖,run之后是一个动态效果图,初始快 ...

  8. jquery获取当前元素坐标

    1. jquery获取当前元素坐标 A) 获取对象

  9. 视图View

    视图UI层的HTML,JavaScript,Css等元素 asp.net mvc 框架支持惯例优先配置原则 视图路径:view/controller名/Action \view\home\index. ...

  10. ORACLE SQL 组函数【weber出品必属精品】

    组函数:对一组数据进行加工,每组数据返回一个值 常用的组函数:count()  avg()  max()   min()  sum()   count()函数  1. count(*) :返回总共的行 ...