ホームページ  >  記事  >  バックエンド開発  >  Pythonのデータベース操作でよく使われる関数の使い方を詳しく解説

Pythonのデータベース操作でよく使われる関数の使い方を詳しく解説

高洛峰
高洛峰オリジナル
2016-11-23 11:48:471233ブラウズ

例 1. MYSQL バージョンを取得します

コードは次のとおりです:

# -*-coding: UTF-8 -*-
#Python 用に MYSQL DB をインストールする
import MySQLdb as mdb
con = None
try:
#mysql に接続する メソッド: connect('ip','user','password','dbname')
con = mdb.connect('localhost', 'root',
'root', 'test');
#すべてのクエリ、すべて con に接続されたモジュール カーソル上で実行されます
Cur = con.cursor()
#クエリを実行します
cur.execute("SELECT VERSION()")
#前のクエリの結果を取得します。は 1 つの結果です
data = cur.fetchone()
data = cur. 25

例 2、テーブルを作成してデータを挿入します

コードをコピーする コードは次のとおりです:


# -*- コーディング: UTF- 8 -*-

mdb として MySQLdb をインポート

import sys

#con をグローバル接続として設定

con = mdb.connect('localhost', 'root', 'root', 'test');

with con:

#接続のカーソルを取得します。カーソルを取得することによってのみ、さまざまな操作を実行できます
cur = con.cursor()
#データテーブルを作成します Writers(id,name)
cur.execute("CREATE TABLE IF NOT EXISTS
Writers(Id INT PRIMARY KEY AUTO_INCREMENT, Name VARCHAR(25))")
#以下に5つのデータを挿入します
cur.execute("INSERT INTO Writers(Name) VALUES('Jack London')")
cur .execute("作家(名前)の値に挿入('バルザックオノレ')")
cur.execute ("作家(名前)の値に挿入('ライオン・フォイヒトヴァンガー')")
cur.execute("作家に挿入(Name) VALUES('Emile Zola')")
cur.execute("INSERT INTO Writers(Name) VALUES('Truman Capote')")

例 3、Python は slect を使用して mysql データを取得し、トラバースします

Copyコード コードは次のとおりです:


# -*-coding: UTF-8 -*-

import MySQLdb as mdb

import sys

#mysql に接続し、接続されているオブジェクトを取得します

con = mdb.connect('localhost' , 'root', 'root', 'test');

with con:

#それでも、最初のステップはクエリを実行するために接続されたカーソルオブジェクトを使用します
Cur = con.cursor()
#次と同様他の言語のクエリ関数、execute は Python の実行クエリ関数です
cur.execute("SELECT * FROM Writers")
#Use fetchall 関数は結果セット (多次元タプル) を行に格納します
rows = cur.fetchall( )
#結果セットを順番に走査し、各要素がテーブル内のレコードであり、ROWS の ROW のタプルとして表示されることを確認します。 1L、「ジャック・ロンドン」)
(2L、「オノレ・ド・バルザック」)
(3L、「ライオン・フォイヒトヴァンガー」)
(4L、「エミール・ゾラ」)
(5L、「トルーマン・カポーティ」)

例 4. 使用例 4.辞書カーソルを使用して結果セットを取得します (テーブルのフィールド名を使用して値にアクセスできます)

コードをコピー コードは次のとおりです:

# -*- コーディング: UTF-8 -*-

# 出典: Crazy Ant のブログwww.server110.com まとめとコンパイル

MySQLdbをmdbとしてインポート
import sys
#mysqlクエリのリンクオブジェクトを取得します
con = mdb.connect('localhost' , 'root', 'root', 'test')
with con:
#接続上の辞書カーソルを取得します。取得方法に注意してください
#各カーソルは実際にはカーソルのサブクラスです

cur = con.cursor( mdb.cursors.DictCursor)

#実行ステートメントは変更されません

cur.execute("SELECT * FROM Writers")

# データの取得方法は変わりません

rows = cur.fetchall()


行内の行:
#ここでは、キーと値のペアを使用できますキー名でデータを取得するメソッド
])

例5、単一テーブルのフィールド名と情報を取得するメソッド

コードをコピー コードは次のとおりです:


# -*- コーディング: UTF-8 -*-
# 出典: Crazy Ant のブログ www.server110.com 概要とコンパイル
import MySQLdb as mdb
import sys
#データベースのリンク オブジェクトを取得する
con = mdb . connect('localhost', 'root', 'root', 'test')
with con:
# 通常のクエリカーソルを取得します
cur = con.cursor()
cur.execute("SELECT * FROM Writers")
rows = cur.fetchall()
# 接続オブジェクトの説明情報を取得します
desc = cur.description
print 'cur.description:',desc
# フィールド名であるヘッダーを出力します
print "%s %3s" % ( desc[0][0], desc[1][0])
行内の行:
.description: (('Id', 3, 1, 11, 11 , 0, 0), ('名前', 253, 17, 25, 25, 0, 1))
ID 名前

1 ジャック・ロンドン

2 オノレ・ド・バルザック

3 ライオン・フォイヒトヴァンガー

4 エミール・ゾラ
5 トルーマン・カポーティ


例 6. Prepared ステートメントを使用してクエリを実行する (より安全で便利です)

コードをコピーする コードは次のとおりです:

# -*-coding: UTF-8 - *-
# 出典: Crazy Ant のブログ www. server110.com まとめとコンパイル

MySQLdbをmdbとしてインポート

import sys

con = mdb.connect('localhost', 'root', 'root', 'test')

with con:
Cur = con.cursor()
#これは、アセンブル可能な SQL ステートメントを書くことで実行できることがわかります
cur.execute("UPDATE Writers SET Name = %s WHERE Id = %s",
("Guy de Maupasant", "4"))
#影響を受ける行数を取得するには cur.rowcount を使用します
print "更新された行数: %d" % cur.rowcount


結果:


コードをコピーする コードは次のとおりです:


行数更新日: 1

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。