[python] MySQL - nativní rozhraní pro Python
Tomas Brabenec
konference na brabenec.net
Úterý Červenec 1 09:29:55 CEST 2008
Tady je ukazka z dokumentace:
http://www.sqlalchemy.org/docs/05/documentation.html#datamapping_joins
Nebo muzes proste delat standardni SQL funkce bez tech vopicek.
Cili nejjednoduseji treba takhle:
from sqlalchemy import create_engine
dbe = create_engine('sqlite:///:memory:', echo=True)
db = dbe.connect()
vysledek = db.execute("LIBOVOLNY SQL DOTAZ").fetchone()
Opet vse viz dokumentace.
Tomas
On 1.7.2008 9:10, azurIt wrote:
> Ked ste sa uz o tomto tak rozpisali, tak prihodim jednu otazku aj ja.
>
> Dost by ma zaujimalo ako sa s tymto daju robit zlozitejsie SQL dotazy,
> napr. nejake JOINy a podobne. Moc si to neviem predstavit.
>
>
>> -----Pôvodná správa-----
>> Od: Jan Bednařk [mailto:jan.bednarik na gmail.com]
>> Komu: "Konference PyCZ" <python na py.cz>
>> Predmet: Re: [python] MySQL - nativní rozhraní pro Python
>>
>>
>> 2008/6/29 zu1234 <zu1234 na seznam.cz>:
>>> Doufám že to někdo nevezme jako provokaci, ale opravdu
>>> by mi občas bodlo dostat se prostě do obrazu.
>>>
>>> Takže, byl by někdo ochotný obeznámit nás začátečníky s pojmy jako je
>>> SQLAlchemy a Django. Ale prosím opět polopatě a prakticky a lidsky.
>>>
>>> ZU
>> SQLAlchemy je aplikace, která ti umožní pracovat s tabulkami a záznamy
>> v databázi jako s běžnými objekty. Je určena pro integraci do jiných
>> aplikací, jako databázová vrstva. Nemusíš tak být odborník na SQL, aby
>> jsi mohl jednoduše a pohodlně pracovat s databází, teoreticky ani
>> nemusíš vědět, jak databáze fungují a co to SQL je. Koukni na
>> http://www.sqlalchemy.org/docs/05/ormtutorial.html a pochopíš, oč jde.
>>
>> Django je RAD (Rapid Application Development) framework pro tvorbu
>> internetových aplikací. Funguje na principu MTV = Model Template View.
>> V první úrovni - Model - nadefinuješ modely. To jsou třídy
>> reprezentující tabulky v databázi a jejich závislosti a pak s nimi
>> pracuješ jako s objekty. Je to hodně podobné jako ta SQLAlchemy s
>> hlavním rozdílem v tom, že nedefinuješ jen typické datové typy
>> (varchar, int, atd.), ale můžeš použít i speciální jako EmailField,
>> IPAddressField, apod., které jsou v databázi uloženy třeba jako
>> obyčejný varchar, ale při práci mají speciální "schopnosti", jako
>> třeba že ten EmailField při přiřazení kontroluje, zda je hodnota
>> platná e-mailová adresa. Teď trochu odbočím, ale musím prozradit jednu
>> z bezkonkurenčních (pokud jsem dobře informován) výhod Djanga oproti
>> jiným webovým frameworkům, a tou je automaticky generovaná
>> administrace. Na základě zadefinovaných modelů generuje velmi
>> propracované administrační rozhraní. Proto je tam taky spousta různých
>> datových typů, které ve výsledku mají vliv jen na chování té
>> administrace (různé formulářové prvky s JS/AJAX vylepšeními). A když
>> jsou nadefinované modely, přide na řadu část View. To znamená
>> nadefinovat šablony pro URL a k nim odpovídající view funkce, které se
>> mají zavolat (dle potřeby s parametry získanými z URL). Tady je to
>> hlavně o hraní s objekty modelů. Ve view získáš potřebná data, která
>> se zpracují v poslední části - Template. Template jsou (X)HTML (nebo
>> XML, nebo jakékoliv jiné) soubory, které obsahují speciální značky,
>> které Django nahradí hodnotou z view. Pole hodnot vypíše cyklem.
>> Aplikuje na hodnoty různé výstupní filtry třeba na pěkné zobrazení
>> data či zaokrouhlení měny. A tak podobně. Je toho spousta, co by šlo o
>> Djangu napsat, doporučuji ale rovnou zkusit. Je to zábava s ním
>> pracovat.
>>
>> Ještě jsem si vzpoměl na jedno video z nějaké přednášky o Djangu,
>> které stojí za to shlédnout
>> http://video.google.com/videoplay?docid=-70449010942275062&q=django&ei=7mhpSMG7Jpyc2wLx8dyoCg
>>
>> Honza
>> _______________________________________________
>> Python mailing list
>> Python na py.cz
>> http://www.py.cz/mailman/listinfo/python
>
> _______________________________________________
> Python mailing list
> Python na py.cz
> http://www.py.cz/mailman/listinfo/python
Další informace o konferenci Python