Python *** 作 MySQL 的5种方式

Python  *** 作 MySQL 的5种方式,第1张

1、MySQLdb

# 前置条件

sudo apt-get install python-dev libmysqlclient-dev # Ubuntu

sudo yum install python-devel mysql-devel # Red Hat / CentOS

# 安装

pip install MySQL-python

Windows 直接通过下载 exe 文件安装

#!/usr/bin/python

import MySQLdb

db = MySQLdb.connect(

host = "localhost", # 主机名

user = "root", # 用户名

passwd = "pythontab.com", # 密码

db = "testdb") # 数据库名称

# 查询前,必须先获取游标

cur = db.cursor()

# 执行的都是原生SQL语句

cur.execute("SELECT * FROM mytable")

for row in cur.fetchall():

print(row[0])

db.close()

2、mysqlclient

# Windows安装

pip install some-package.whl

# linux 前置条件

sudo apt-get install python3-dev # debian / Ubuntu

sudo yum install python3-devel # Red Hat / CentOS

brew install mysql-connector-c # macOS (Homebrew)

pip install mysqlclient

3、PyMySQL

pip install PyMySQL

# 为了兼容mysqldb,只需要加入

pymysql.install_as_MySQLdb()

import pymysql

conn = pymysql.connect(host = '127.0.0.1', user = 'root', passwd = "pythontab.com", db = 'testdb')

cur = conn.cursor()

cur.execute("SELECT Host,User FROM user")

for r in cur:

print(r)

cur.close()

conn.close()

4、peewee

pip install peewee

import peewee

from peewee import *

db = MySQLDatabase('testdb', user = 'root', passwd = 'pythontab.com')

class Book(peewee.Model):

author = peewee.CharField()

title = peewee.TextField()

class Meta:

database = db

Book.create_table()

book = Book(author = "pythontab", title = 'pythontab is good website')

book.save()

for book in Book.filter(author = "pythontab"):

print(book.title)

5、SQLAlchemy

from sqlalchemy import create_engine

from sqlalchemy.orm import sessionmaker

from sqlalchemy_declarative import Address, Base, Person

class Address(Base):

__tablename__ = 'address'

id = Column(Integer, primary_key = True)

street_name = Column(String(250))

engine = create_engine('sqlite:///sqlalchemy_example.db')

Base.metadata.bind = engine

DBSession = sessionmaker(bind = engine)

session = DBSession()

# Insert a Person in the person table

new_person = Person(name = 'new person')

session.add(new_person)

session.commit()

在 Mac OS X 下安装 python-mysql方法如下:1、先把之前装的卸载干净:pip uninstall mysql-pythonbrew uninstall mysql-connector-c2、现在设置下mysql_config路径:首先修改系统配置文件vim ~/.bash_profile或者有些人是 ~/.profile,export PATH=$PATH:/Applications/MAMP/Library/bin这里/Applications/MAMP/Library/bin是MAMP的mysql配置文件路径3、安装brew install mysql-connector-cpip install mysql-python即可。

MBP 自带的系统有有apache ,php,python 但是没有mysql ,于是需要自己倒腾下。‘倒腾’这词用得好,因为我的确倒腾了好久。

刚开始用brew search mysql ...能找到,按照提示一步一步安装,结果到最后就是启动不起来,老提示一个sock相关的错误。。

后来我还是直接到mysql 的官网下载了适合MAC 平台的 mysql-5.5.17-osx10.6-x86_64.dmg

打开后发现3个文件,安装顺序:

mysql-5.5.17-osx10.6-x86_64.pkg 数据库

MySQLStartupItem.pkg 这样MySQL就会自动在开机时自动启动了。

MySQL.prefPane 这样就会在“系统设置偏好”中看到名为“MySQL”的ICON,通过它就可以设置MySQL开始还是停止,以及是否开机时自动运行。到这里MySQL就基本安装完毕了。

通过运行“sudo vi /etc/bashrc”,在bash的配置文件中加入mysql和mysqladmin的别名

#mysql

alias mysql='/usr/local/mysql/bin/mysql'

alias mysqladmin='/usr/local/mysql/bin/mysqladmin'

这样就可以在终端中比较简单地通过命令进行相应的 *** 作,比如安装完毕之后MySQL的root默认密码为空,如果要设置密码可以在终端运行“mysqladmin -u root password "mysqlpassword"”来设置,其中mysqlpassword即root的密码。

备注:使用PHP连接MySQL可能会报错“Can’t connect to local MySQL server through socket ‘/var/mysql/mysql.sock’”,或者使用localhost无法连接MySQL而需要127.0.0.1,原因是连接时候php默认去找/var/mysql/mysql.sock了,但是MAC版本的MYSQL改动了文件的位置,放在/tmp下了。处理办法是按如下修改php.ini:

mysql.default_socket = /tmp/mysql.sock


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8563545.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-18
下一篇 2023-04-18

发表评论

登录后才能评论

评论列表(0条)

保存