.. meta:: :keywords: web2py, framework, DAL, データベース抽象化レイヤ, 辞書型データを使用したデータ操作 .. _operation_by_dict: 辞書型データを使用したデータ操作 ================================ 辞書型データを使って、データベースに対しデータ操作がが可能です。 :: >>> db['person'].insert(**{'name':'test1'}) # レコード挿入 1L >>> print db(db['person']['name'] == 'test1').select() # レコード検索 person.id,person.name 1,test1 >>> db(db['person']._id==1).update(**{'name':'test2'}) # レコード更新 1 >>> db(db['person']._id==1).delete() # レコード削除 1 これにより、変数を使ってデータ操作することができます。 :: >>> tablename = 'person' >>> fieldname = 'name' >>> data1 = 'test1' >>> data2 = 'test2' >>> db[tablename].insert(**{fieldname:data1}) # レコード挿入 1L >>> print db(db[tablename]['fieldname'] == 'test1').select() # レコード検索 person.id,person.name 1,test1 >>> db(db[tablename]._id==1).update(**{fieldname:data2}) # レコード更新 1 >>> db(db[tablename]._id==1).delete() # レコード削除 1 なお、レコード更新・削除で :attr:`~dal.Table._id` 属性を使用していることに注意してください。 通常は ``id`` でも問題はありませんが、キーがidという名前でない可能性がある場合、``_id`` を使用した方が便利です。 参考: `Inserting and updating from a dictionary `_ | `辞書からの挿入や更新 `_