2013-11-28 2 views
8

私は、SQLアルケミーを使用してmysqlデータベースに接続する方法を学んでいます。私は与えられた文字列で始まるDBからレコードを抜き出したい。私は単純な平等のために、私がする必要があるのはこれだと知っています。SQL錬金術を使用して「開始」クエリを実行するにはどうすればよいですか?

queryRes = ses.query(Table).filter(Tablee.fullFilePath == filePath).all() 
result = [] 

どうすればいいですか?

queryRes = ses.query(Table).filter(Table.fullFilePath.startsWith(filePath)).all() 
result = [] 

おそらくクエリは次のようになりますか?

q = ses.query(Table).filter(Table.fullFilePath.like('path%')).all() 

答えて

14

これは純粋なSQLです:

SELECT * FROM table WHERE field LIKE "string%" 

SQLの錬金術は、次のとおりです。

q = ses.query(Table).filter(Table.fullFilePath.like('path%')).all() 
3

SQLAlchemyのはstartswith column propertyを持っているので、それはあなたが思うだろうとまったく同じように動作します

queryRes = ses.query(Table).filter(Table.fullFilePath.startswith(filePath)).all() 
+0

これは、SQLAl chemyバージョン> = 0.9だが、まだ0.8の 'Column.startswith()'が12/2013より前に実装されているかどうかは分からない。 – cowbert

関連する問題