web.py mysql_select.py

"" " 
Web.py mysql_select.py 
参照します。http://webpy.org/cookbook/select.zh-cn 
機能:データベース操作のweb.py。
テストのURL:
HTTP:// localhostを:8080 /こんにちは
HTTP:/ /127.0.0.1:8080/helloは、
HTTP:// localhostのは:8080 / SELECT MySQLを/ 
知識:
1.selectの
db.selectがサポートする次の重要なパラメータは:
VARS 
WHERE 
受注
グループの
制限が
オフセット
_test 
テーブル(SELECTは、VARS =何もない、何= '*'、=なし、注文=なし、グループ=なし、制限=なし、オフセット=なし、_test = Falseの)方法web.db.MySQLDBのインスタンス
"" " 
インポートWeb 

#データベース接続。
#Dbの= web.database(DBN = 'のMySQL'、DB = 'テスト'、ユーザ= 'ルート'、PW = '123456')
DB = web.database(DBN = "MySQLの"、ホスト= "localhost"を、ポート= 3306、DB = "テスト"、ユーザ= "ルート"、PW = "123456") プリント( "DIR(DB):" 
、DIR(DB))#DIR(DB):[ 
# '__class__'、 '__delattr__'、 '__dict__'、 '__ DIR__'、 '__doc__'、 '__eq__' 
# '__format__'、 '__ge__'、 '__getattribute__' '__gt__'、 '__hash__'、 '__init__'、
# '__init_subclass__'、 '__le__'、 '__lt__'、 '__module__'、 '__ne__'、 '__new__'、
# '__reduce__'、 '__reduce_ex__'、 '__repr__' '__setattr__'、 '__sizeof__'、
# '__str__'、 '__subclasshook__'、 '__weakref__'、 '_connect」、 '_connect_with_pooling'、 
# '_ctx'、 '_db_cursor'、 '_db_execute'、 '_get_insert_default_values_query'、 '_getctx'、
# '_load_context'、 '_param_marker'、 '_process_insert_query'、 '_process_query'、
        このメソッドは、大文字でなければなりません。
        あなたは、get、エラー変更する場合: "HTTP / 1.1 GETを/" - 405メソッドは許可されていません。
        :リターン:
        "" " 
        復帰"!こんにちは、世界
クラスの選択:
    DEF GET(セルフ):ヘルプ(db.select)




 
        表= "顧客" 
        顧客のFROM#の1.SELECT * 
        結果= db.select(表)
        :#印刷(、結果"結果")
        <0x000002562BC9D400でweb.utils.IterBetterオブジェクト>:#結果
        結果の行のために:
            #<ストレージ{ 'ID' :. 1、 '名称': 'アン'、 '年齢' 30、 'アドレス': '北京'、」給料':10進数(' 2200.00 ')}> 
            印刷(行[' ID ']、行['名前']、行['年齢']、ロウ['アドレス]、行[ '給与']) は2.vars 
        使用に必要なSQLクエリの保存、#VARSは辞書であります変数
        実際の建設に#が$変数で始まるWHERE句でSQL文を置き換えるために使用されます。
        #:
        印刷()
        MyVars = dictの(名前= "ボブ") 印刷( "MyVars:"、MyVars) 
        # `名= $ NAME`名前は=` "ボブ" `に置き換えている
        #SELECT * FROM顧客名= 'ボブの
        結果は= db.select(表、VARS = MyVars、= "名前= $名")
            #印刷( "行:"、行)
            を印刷(行[ 'ID']、行[ '名前']、行[ '年齢']、ロウ[ 'アドレス']、行[ '給与'])
            #4ボブ。北京7150.00 25 
        3.What# を照会するために何をSQLフィールド名を示します。省略した場合、デフォルトのクエリーすべてのフィールド(つまり、SELECT * FROM ...)。
        SQL文の#実際の実行:顧客から、上記IDの上に選択した名前
        (印刷)
        結果= db.select(表、=何「上記のID、名前以上」)
        結果の行のために:
            印刷(「行:」、行)
        #4.where 
        SQL文の#実際の実行:> 6上記のid上記の顧客から上記IDの上にSELECT 
        印刷()
        = db.select(表、=何「上記のID」、=「> 6上記ID」結果
        5.order# ソートクエリ結果をどのように順序を示します。
        #SQL文の実際の実行:SELECT *給与DESCのBYお客様からの注文
        を印刷()
        の結果= db.select(表、注文=「給与DESC」)
        結果の行のために:
            印刷(「行:」、行)
        #6。グループ
        #グループは仕方を指定するもので、統計的グループ化クエリ結果:
        SQL文の#実際の実行:SELECT *てアドレスからお客様がGROUP 
        印刷()
        の結果= db.select(表、グループ=「アドレス」)
        結果の行のために:
        7.limitの#の
        #制限はどのように多くのリターンが発生指定:
        SQL文の#実際の実行:お客様SELECT * FROM LIMIT 3 
        印刷()
        の結果= db.select(表、リミット= 3)
        結果の行:
            印刷(「行:」、行)
        #1 8.offset(テストに合格しないと、エラー)
        #オフセットを指定し、問い合わせの最初の数行から始まった、オフセット:
        SELECT * FROM:SQL文の#実際の実装10オフセットMyTableと
        #を印刷()
        #= db.select結果(表、オフセット= 2)
        行の結果で#用:
        #印刷( "行:"、行)
        #9._test 
        #セット_test =真、デシベル。 SQLのSELECT文だけの構成、実際には実行されません:
        # `results`はStringです。<SQL: 'SELECT *は、MyTableというオフセット10 FROM'> 印刷する)
        = db.select(表、= 10オフセット、_test =真)結果
        印刷(「結果:」、結果) 
        からのオフセット10 *お客様SELECT:#結果
        「選択」を返します 


もし__name__ == "__main__":
    アプリ= web.application(URLを、グローバル())
    app.run()
彼は198元の記事を発表 ウォン称賛58 ビュー80000 +

おすすめ

転載: blog.csdn.net/weixin_42193179/article/details/103862296