Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Python > Pythonic wrappers for SQL?

Reply
Thread Tools

Pythonic wrappers for SQL?

 
 
Kenneth McDonald
Guest
Posts: n/a
 
      01-14-2006
I need to do some data manipulation, and SQLite is a nice little
product for it, except of course that I'd need to write SQL. Are
there any good libraries out there that let one write (basic) queries
in a Pythonic syntax, rather than directly in SQL?

Thanks,
Ken
 
Reply With Quote
 
 
 
 
Lawrence Oluyede
Guest
Posts: n/a
 
      01-14-2006
Il 2006-01-14, Kenneth McDonald <(E-Mail Removed)> ha scritto:
> I need to do some data manipulation, and SQLite is a nice little
> product for it, except of course that I'd need to write SQL. Are
> there any good libraries out there that let one write (basic) queries
> in a Pythonic syntax, rather than directly in SQL?


You need an ORM

Try SQLAlchemy - http://sqlalchemy.org

Have fun


--
Lawrence - http://www.oluyede.org/blog
"Anyone can freely use whatever he wants but the light at the end
of the tunnel for most of his problems is Python"
 
Reply With Quote
 
 
 
 
EleSSaR^
Guest
Posts: n/a
 
      01-14-2006
Kenneth McDonald si Ŕ profuso/a a scrivere su comp.lang.python tutte queste
elucubrazioni:

> there any good libraries out there that let one write (basic) queries
> in a Pythonic syntax, rather than directly in SQL?


You need an ORM. Beyond SQLAlchemy (I don't have experience with it) i
would suggest you try out SQLObject and PyDO.

Just a clue: although they prevent you from writing SQL, you'll have to
learn SQL basics anyway, or you won't understand the docs.

If you simply want to forget SQL, you can try out Axiom:

http://divmod.org/trac/wiki/DivmodAxiom

It's a native object database; it uses sqlite as backend, but that's
totally transparent to the user, you'll never be asked to enter a single
sql statement.

--
EleSSaR^ <(E-Mail Removed)>
--
Togli .xyz dalla mia email per contattarmi.
 
Reply With Quote
 
BartlebyScrivener
Guest
Posts: n/a
 
      01-15-2006
Just to chime in with Steve Holden on taking the why-not-learn-SQL
route. Chris Fehily's new book, SQL, A Visual QuickStart Guide (2nd Ed)
is a masterpiece and goes well on the bookshelf with his equally lucid
Python QuickStart Guide.

Cheap, too, for what you get.

http://www.amazon.com/exec/obidos/as...icharddooling/

rpd

 
Reply With Quote
 
Stian Soiland
Guest
Posts: n/a
 
      01-16-2006
On 1/14/06, EleSSaR^ <(E-Mail Removed)> wrote:
> Kenneth McDonald si Ŕ profuso/a a scrivere su comp.lang.python tutte queste
> elucubrazioni:
>
> > there any good libraries out there that let one write (basic) queries
> > in a Pythonic syntax, rather than directly in SQL?

>
> You need an ORM. Beyond SQLAlchemy (I don't have experience with it) i
> would suggest you try out SQLObject and PyDO.
>
> Just a clue: although they prevent you from writing SQL, you'll have to
> learn SQL basics anyway, or you won't understand the docs.
>
> If you simply want to forget SQL, you can try out Axiom:


Or - as a word play in this case - try my module ForgetSQL [1]

(Also available in a new and backwards-incompatible beta version [2]
which should be easier to get started with, has more extensive unit
tests, but has only been tested with MySQL and SQLite)

[1] http://soiland.no/software/forgetsql/
[2] http://soiland.no/i/src/forgetsql2/

Example code from [2]

import MySQLdb, forgetsql2
# Connect to MySQLdb using keyword parameters
db = forgetsql2.generate(MySQLdb, {db='fish'})

# Iterate through generated class from the table "postal"
for postal in db.Postal:
# Print normal fields
print postal.postal_no, postal.postal_name, postal.municipal_id
# Follow the foreign key municipal_id to retrieve the entry
# from the Municipal class
municipal = postal.get_municipal()
print municipal.municipal_name

# Retrieve by primary key
rogaland = db.County(county_id=11)
# Iterate over municipals that have foreign keys to rogaland
for municipal in rogaland.get_municipals():
print municipal.municipal_name

# Load by primary key, change, and save
postal = db.Postal(postal_id=4042)
postal.postal_name = "Fish land"
postal.save()


--
Stian S°iland In theory there is no difference between theory
Birmingham, UK and practice. In practice there is. [Berra]
http://soiland.no/
=/\=
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Object Oriented vs Pythonic Code, and Pythonic standards Carl J. Van Arsdall Python 4 02-07-2006 10:15 PM
ASP.Net 2.0 and the annoying <div> wrappers =?Utf-8?B?UGF0cmljaw==?= ASP .Net 8 04-25-2005 02:28 PM
How to lower warning level? [header wrappers, GCC] Maciej Pilichowski C++ 3 01-09-2005 02:51 AM
Managed wrappers in ASP.NET Session mirek ASP .Net 5 10-21-2003 04:52 AM
Use Collection classes or create wrappers for them? Lucas White Java 5 10-15-2003 03:39 AM



Advertisments