Mac 下Python 连接MySQL及使用
来源:互联网 发布:淘宝aape官方旗舰店 编辑:程序博客网 时间:2024/05/14 08:32
Mac 下Python 连接MySQL及使用
安装
首先需要安装mysql或mariadb:
brew mysql(或brew mariadb)
下载Python连接MySQL的接口模块MySQLdb:
地址:https://pypi.python.org/pypi/MySQL-python/1.2.5
下载zip包后解压出来,进入目录,使用命令安装:(详见目录下INSTALL文件)
python setup.py build
sudo python setup.py install # or su first
之后即可在Python中使用该模块: import MySQLdb
centos下直接yum install MySQL-python
即可。
使用
连接
#!/usr/bin/python# -*- coding: UTF-8 -*-import MySQLdb# 打开数据库连接db = MySQLdb.connect("localhost","testuser","test123","TESTDB" )# 使用cursor()方法获取操作游标 cursor = db.cursor()# 使用execute方法执行SQL语句cursor.execute("SELECT VERSION()")# 使用 fetchone() 方法获取一条数据库。data = cursor.fetchone()print "Database version : %s " % data# 关闭数据库连接db.close()
创建数据库表
如果数据库连接存在我们可以使用execute()方法来为数据库创建表,如下所示创建表EMPLOYEE:
#!/usr/bin/python# -*- coding: UTF-8 -*-import MySQLdb# 打开数据库连接db = MySQLdb.connect("localhost","testuser","test123","TESTDB" )# 使用cursor()方法获取操作游标 cursor = db.cursor()# 如果数据表已经存在使用 execute() 方法删除表。cursor.execute("DROP TABLE IF EXISTS EMPLOYEE")# 创建数据表SQL语句sql = """CREATE TABLE EMPLOYEE ( FIRST_NAME CHAR(20) NOT NULL, LAST_NAME CHAR(20), AGE INT, SEX CHAR(1), INCOME FLOAT )"""cursor.execute(sql)# 关闭数据库连接db.close()
数据库插入
#!/usr/bin/python# -*- coding: UTF-8 -*-import MySQLdb# 打开数据库连接db = MySQLdb.connect("localhost","testuser","test123","TESTDB" )# 使用cursor()方法获取操作游标 cursor = db.cursor()# SQL 插入语句sql = """INSERT INTO EMPLOYEE(FIRST_NAME, LAST_NAME, AGE, SEX, INCOME) VALUES ('Mac', 'Mohan', 20, 'M', 2000)"""try: # 执行sql语句 cursor.execute(sql) # 提交到数据库执行 db.commit()except: # Rollback in case there is any error db.rollback()# 关闭数据库连接db.close()
或者写成:
#!/usr/bin/python# -*- coding: UTF-8 -*-import MySQLdb# 打开数据库连接db = MySQLdb.connect("localhost","testuser","test123","TESTDB" )# 使用cursor()方法获取操作游标 cursor = db.cursor()# SQL 插入语句sql = "INSERT INTO EMPLOYEE(FIRST_NAME, \ LAST_NAME, AGE, SEX, INCOME) \ VALUES ('%s', '%s', '%d', '%c', '%d' )" % \ ('Mac', 'Mohan', 20, 'M', 2000)try: # 执行sql语句 cursor.execute(sql) # 提交到数据库执行 db.commit()except: # 发生错误时回滚 db.rollback()# 关闭数据库连接db.close()
传入参数:
user_id = "test123"password = "password"con.execute('insert into Login values("%s", "%s")' % \ (user_id, password))
查询
Python查询Mysql使用 fetchone() 方法获取单条数据, 使用fetchall() 方法获取多条数据。
- fetchone(): 该方法获取下一个查询结果集。结果集是一个对象
- fetchall():接收全部的返回结果行.
- rowcount: 这是一个只读属性,并返回执行execute()方法后影响的行数。
#!/usr/bin/python# -*- coding: UTF-8 -*-import MySQLdb# 打开数据库连接db = MySQLdb.connect("localhost","testuser","test123","TESTDB" )# 使用cursor()方法获取操作游标 cursor = db.cursor()# SQL 查询语句sql = "SELECT * FROM EMPLOYEE \ WHERE INCOME > '%d'" % (1000)try: # 执行SQL语句 cursor.execute(sql) # 获取所有记录列表 results = cursor.fetchall() for row in results: fname = row[0] lname = row[1] age = row[2] sex = row[3] income = row[4] # 打印结果 print "fname=%s,lname=%s,age=%d,sex=%s,income=%d" % \ (fname, lname, age, sex, income )except: print "Error: unable to fecth data"# 关闭数据库连接db.close()
执行事务
# SQL删除记录语句sql = "DELETE FROM EMPLOYEE WHERE AGE > '%d'" % (20)try: # 执行SQL语句 cursor.execute(sql) # 向数据库提交 db.commit()except: # 发生错误时回滚 db.rollback()
参考资料:
《在 Mac 下用 Homebrew 安装 MySQL》http://blog.neten.de/posts/2014/01/27/install-mysql-using-homebrew/
《python操作mysql数据库》http://www.runoob.com/python/python-mysql.html
0 0
- Mac 下Python 连接MySQL及使用
- mac下python连接到mysql
- Mac下python连接mysql数据库
- mac下python连接mysql数据库遇到的问题及解决
- mac下安装和使用MySQL-python
- mac下安装和使用MySQL-python
- mac下安装 mysql及使用
- Mac/Linux下安装及连接mysql的坑
- linux下使用python连接Mysql
- mac,python连接mysql模块MySQL-python
- mac下使用navicat连接mysql时遇到的问题
- mac环境下使用navicat premium连接mysql乱码问题
- MAC下djangol连接mysql
- mac下mysql使用
- Mac下使用MySQL
- Mac下使用MySQL
- Mac下MySQL使用
- Mac下使用mysql
- 深入了解触摸事件的分发
- ftp从虚拟机传输数据到开发板
- 深入了解View的绘制流程
- 深入理解Java之数据类型
- 深入理解Java之反射
- Mac 下Python 连接MySQL及使用
- 深入理解Java之集合框架
- Android之ContentProvider与ContentResolver
- 常用排序(插入、堆、归并)
- sdut2605山东省赛第四届/( A^f(1)+A^f(2)+ ... + A^f(n) )% P/存储中间值/将大数打表并用两个数组组合表示
- (总结)Linux常用指令 join指令 find指令 grep指令
- Java中HashMap遍历的四种方式
- Spring内部Bean
- HDOJ 1018 Big Number(大数位数公式)