ホームページ >バックエンド開発 >Python チュートリアル >mysql データベースと mysql クロスデータベース クエリの学習方法を理解するのに役立つ 3 つの記事
これまで、「mysql データベースの学習方法と mysql ライブラリでのテーブルの作成方法を学ぶのに役立つ 3 つの記事」を通じて、mysql データベースの学習 について深いレベルの研究を実施してきました。 mysql データベース学習 最も重要な知識ポイントである mysql クロスデータベース クエリを実行してみましょう。
##mysql クロスデータベース クエリを学習する前に、まず データベース挿入操作を学習する必要があります:
次の例では、SQL INSERT ステートメントを使用してテーブル EMPLOYEE にレコードを挿入します。
#!/usr/bin/python # -*- coding: UTF-8 -*- import MySQLdb # 打开数据库连接 db = MySQLdb.connect("localhost", "testuser", "test123", "TESTDB", charset='utf8' ) # 使用cursor()方法获取操作游标 cursor = db.cursor() # SQL 插入语句 sql = """INSERT INTO EMPLOYEE(FIRST_NAME, LAST_NAME, AGE, SEX, INCOME) VALUES ('Mac', 'Mohan', 20, 'M', 2000)""" try: # 执行sql语句 cursor.execute(sql) # 提交到数据库执行 db.commit() except: # Rollback in case there is any error db.rollback() # 关闭数据库连接 db.close()データベース クエリ操作
#Python Mysql にクエリを実行するには、fetchone() メソッドを使用して 1 つのデータを取得し、fetchall() メソッドを使用して複数のデータを取得します。 1.fetchone(): このメソッドは、次のクエリ結果セットを取得します。結果セットはオブジェクトです。
2.fetchall(): 返されたすべての結果行を受け取ります。
3.rowcount: これは読み取り専用の属性であり、 execute() メソッドの行数。
例: EMPLOYEE テーブルの給与フィールドが 1000 を超えるすべてのデータをクエリします: #!/usr/bin/python
# -*- coding: UTF-8 -*-
import MySQLdb
# 打开数据库连接
db = MySQLdb.connect("localhost", "testuser", "test123", "TESTDB", charset='utf8' )
# 使用cursor()方法获取操作游标
cursor = db.cursor()
# SQL 查询语句
sql = "SELECT * FROM EMPLOYEE \
WHERE INCOME > '%d'" % (1000)
try:
# 执行SQL语句
cursor.execute(sql)
# 获取所有记录列表
results = cursor.fetchall()
for row in results:
fname = row[0]
lname = row[1]
age = row[2]
sex = row[3]
income = row[4]
# 打印结果
print "fname=%s,lname=%s,age=%d,sex=%s,income=%d" % \
(fname, lname, age, sex, income )
except:
print "Error: unable to fecth data"
关闭数据库连接
db.close()
以上がmysql データベースと mysql クロスデータベース クエリの学習方法を理解するのに役立つ 3 つの記事の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。