第一步: python 与mysql接口
Windows 下安装:
[http://www.codegood.com/downloads](http://www.codegood.com/downloads)
Linux:
sudo aptitude install python-mysqldb -y
第二步:
安装 mysql
Linux :
~~~
sudo aptitude install mysql-client -y
sudo aptitude install mysql-server -y
~~~
Windows:
[https://dev.mysql.com/downloads/installer/5.6.html](https://dev.mysql.com/downloads/installer/5.6.html)
第三步:
安装 SQLAlchemy
Linux
~~~
sudo easy_install SQLAlchemy
~~~
Windows:
~~~
easy_install SQLAlchemy
~~~
第四步:
~~~
easy_install uliweb
~~~
Linux下在 easy_install 前加 sudo
* * * * *
# sqlalchemy + mysql
~~~
from sqlalchemy import create_engine
engine = create_engine('mysql://username:password@127.0.0.1/foo')
~~~
sqlite
~~~
#Unix/Mac - 4 initial slashes in total
engine = create_engine('sqlite:////absolute/path/to/foo.db')
#Windows
engine = create_engine('sqlite:///C:\\path\\to\\foo.db')
#Windows alternative using raw string
engine = create_engine(r'sqlite:///C:\path\to\foo.db')
~~~
表和字段
~~~
metadata = MetaData()
user = Table('user', metadata,
Column('user_id', Integer, primary_key = True),
Column('user_name', String(16), nullable = False),
Column('email_address', String(60), key='email'),
Column('password', String(20), nullable = False)
)
user_prefs = Table('user_prefs', metadata,
Column('pref_id', Integer, primary_key=True),
Column('user_id', Integer, ForeignKey("user.user_id"), nullable=False),
Column('pref_name', String(40), nullable=False),
Column('pref_value', String(100))
)
metadata.create_all(engine)
~~~
~~~
connection = engine.connect()
~~~
插入,更新
~~~
stmt = user.insert().values(name="some name")
stmt = user.update().where(user.c.id==5).values(name="some name")
stmt = user.delete(user.c.userid==1)
connection.execute(stmt)
~~~
~~~
stmt = user.select()
all = connection.execute(stmt)
for a in all:
print a.user_name
~~~
* * * * *
# orm
建立 engine
~~~
from sqlalchemy import create_engine
engine = create_engine('mysql://username:password@127.0.0.1/foo')
~~~
创建 Base
~~~
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
~~~
创建表
~~~
from sqlalchemy import Column, Integer, String
class User(Base):
__tablename__ = 'users'
id = Column(Integer, primary_key=True)
name = Column(String(64))
fullname = Column(String(64))
password = Column(String(64))
~~~
~~~
Base.metadata.create_all(engine)
#User.create(engine) #建立一个表
#User.drop(engine) #删除一个表
~~~
session
~~~
from sqlalchemy.orm import sessionmaker
Session = sessionmaker(bind=engine)
session = Session()
~~~
新纪录
~~~
ed_user = User(name='ed', fullname='Ed Jones', password='edspassword')
~~~
~~~
session.add(ed_user)
session.commit()
~~~
多条记录
~~~
session.add_all([item1, item2, item3])
~~~
查询
~~~
our_user = session.query(User)
~~~
删除
~~~
session.query(User).filter(User.id==3).delete()
~~~
更新
~~~
someobject = session.query(User).get(5)
# set 'value' attribute to a SQL expression adding one
someobject.name = "hello"
# issues "UPDATE some_table SET value=value+1"
session.commit()
~~~
- Python爬虫入门
- (1):综述
- (2):爬虫基础了解
- (3):Urllib库的基本使用
- (4):Urllib库的高级用法
- (5):URLError异常处理
- (6):Cookie的使用
- (7):正则表达式
- (8):Beautiful Soup的用法
- Python爬虫进阶
- Python爬虫进阶一之爬虫框架概述
- Python爬虫进阶二之PySpider框架安装配置
- Python爬虫进阶三之Scrapy框架安装配置
- Python爬虫进阶四之PySpider的用法
- Python爬虫实战
- Python爬虫实战(1):爬取糗事百科段子
- Python爬虫实战(2):百度贴吧帖子
- Python爬虫实战(3):计算大学本学期绩点
- Python爬虫实战(4):模拟登录淘宝并获取所有订单
- Python爬虫实战(5):抓取淘宝MM照片
- Python爬虫实战(6):抓取爱问知识人问题并保存至数据库
- Python爬虫利器
- Python爬虫文章
- Python爬虫(一)--豆瓣电影抓站小结(成功抓取Top100电影)
- Python爬虫(二)--Coursera抓站小结
- Python爬虫(三)-Socket网络编程
- Python爬虫(四)--多线程
- Python爬虫(五)--多线程续(Queue)
- Python爬虫(六)--Scrapy框架学习
- Python爬虫(七)--Scrapy模拟登录
- Python笔记
- python 知乎爬虫
- Python 爬虫之——模拟登陆
- python的urllib2 模块解析
- 蜘蛛项目要用的数据库操作
- gzip 压缩格式的网站处理方法
- 通过浏览器的调试得出 headers转换成字典
- Python登录到weibo.com
- weibo v1.4.5 支持 RSA协议(模拟微博登录)
- 搭建Scrapy爬虫的开发环境
- 知乎精华回答的非专业大数据统计
- 基于PySpider的weibo.cn爬虫
- Python-实现批量抓取妹子图片
- Python库
- python数据库-mysql
- 图片处理库PIL
- Mac OS X安装 Scrapy、PIL、BeautifulSoup
- 正则表达式 re模块
- 邮件正则
- 正则匹配,但过滤某些字符串
- dict使用方法和快捷查找
- httplib2 库的使用