Python DB operation

 mysql

http://www.cnblogs.com/zhangzhu/archive/2013/07/04/3172486.htmlhtml

 

一、鏈接到本機上的MYSQL。
首先打開DOS窗口,而後進入目錄mysql\bin,再鍵入命令mysql -u root -p,回車後提示你輸密碼.注意用戶名前能夠有空格也能夠沒有空格,可是密碼前必須沒有空格,不然讓你從新輸入密碼。python

 

例1:創建一個名爲xhkdb的數據庫
   mysql> create database xhkdb;mysql

 

 

py-mysql

http://www.runoob.com/python/python-mysql.htmlsql

python操做mysql數據庫

Python 標準數據庫接口爲 Python DB-API,Python DB-API爲開發人員提供了數據庫應用編程接口。數據庫

Python 數據庫接口支持很是多的數據庫,你能夠選擇適合你項目的數據庫:express

Python DB-API使用流程:編程

  • 引入 API 模塊。
  • 獲取與數據庫的鏈接。
  • 執行SQL語句和存儲過程。
  • 關閉數據庫鏈接。
#!/usr/bin/python # -*- coding: UTF-8 -*- import MySQLdb # 打開數據庫鏈接 db = MySQLdb.connect("localhost", "testuser", "test123", "TESTDB", charset='utf8' ) # 使用cursor()方法獲取操做遊標  cursor = db.cursor() # 使用execute方法執行SQL語句 cursor.execute("SELECT VERSION()") # 使用 fetchone() 方法獲取一條數據 data = cursor.fetchone() print "Database version : %s " % data # 關閉數據庫鏈接 db.close()

 

flask sqlalchemy orm

http://www.sqlalchemy.org/flask

The Python SQL Toolkit and Object Relational Mapper

SQLAlchemy is the Python SQL toolkit and Object Relational Mapper that gives application developers the full power and flexibility of SQL.session

It provides a full suite of well known enterprise-level persistence patterns, designed for efficient and high-performing database access, adapted into a simple and Pythonic domain language.app

 

SQLALCHEMY'S PHILOSOPHY

SQL databases behave less like object collections the more size and performance start to matter; object collections behave less like tables and rows the more abstraction starts to matter. SQLAlchemy aims to accommodate both of these principles.

SQLAlchemy considers the database to be a relational algebra engine, not just a collection of tables. Rows can be selected from not only tables but also joins and other select statements; any of these units can be composed into a larger structure. SQLAlchemy's expression language builds on this concept from its core.

SQLAlchemy is most famous for its object-relational mapper (ORM), an optional component that provides the data mapper pattern, where classes can be mapped to the database in open ended, multiple ways - allowing the object model and database schema to develop in a cleanly decoupled way from the beginning.

SQLAlchemy's overall approach to these problems is entirely different from that of most other SQL / ORM tools, rooted in a so-called complimentarity- oriented approach; instead of hiding away SQL and object relational details behind a wall of automation, all processes are fully exposed within a series of composable, transparent tools. The library takes on the job of automating redundant tasks while the developer remains in control of how the database is organized and how SQL is constructed.

The main goal of SQLAlchemy is to change the way you think about databases and SQL!

Read some key features of SQLAlchemy, as well as what people are saying about SQLAlchemy.

 

 

例子

http://docs.jinkan.org/docs/flask-sqlalchemy/quickstart.html

 

from flask import Flask from flask.ext.sqlalchemy import SQLAlchemy app = Flask(__name__) app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:////tmp/test.db' db = SQLAlchemy(app) class User(db.Model): id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String(80), unique=True) email = db.Column(db.String(120), unique=True) def __init__(self, username, email): self.username = username self.email = email def __repr__(self): return '<User %r>' % self.username

 

>>> from yourapplication import db >>> db.create_all() 

砰,你的數據庫就行了。如今來建立一些用戶:

>>> from yourapplication import User >>> admin = User('admin', 'admin@example.com') >>> guest = User('guest', 'guest@example.com') 

可是它們還不在數據庫中,因此讓咱們確保它們被添加進去:

>>> db.session.add(admin) >>> db.session.add(guest) >>> db.session.commit() 

訪問數據庫中的內容易如反掌:

>>> users = User.query.all() [<User u'admin'>, <User u'guest'>] >>> admin = User.query.filter_by(username='admin').first() <User u'admin'> 

 

 

參考:

http://www.pythondoc.com/flask-sqlalchemy/config.html

https://stackoverflow.com/questions/33738467/how-do-i-know-if-i-can-disable-sqlalchemy-track-modifications

相關文章
相關標籤/搜索