Python MySQLdbモジュールのインストールと使用
——MySQLdbモジュール
一般的な関数: commit()コミット ロールバック
cursorがコマンドを実行する方法: callproc(self,procname,args):ストレージ・プロシージャを実行するために使用され、受信したパラメータはストレージ・プロシージャ名とパラメータ・リストであり、戻り値は影響を受けるロー数である execute(self,query,args):単一のsql文を実行し、受信したパラメータはsql文自体と使用するパラメータリストであり、戻り値は影響を受ける行数である executemany(self,query,args):単一のsql文を実行しますが、パラメータリストのパラメータを繰り返し実行し、影響を受ける行数を返します. nextset(self):次の結果セットに移動
Cursorが戻り値を受信する方法: fetchall(self):すべての戻り結果行を受信 fetchmany(self,size=None):sizeバーの戻り結果行を受信する.sizeの値が戻り結果行の数より大きい場合、cursor.arraysizeバーデータを返す. fetchone(self):結果行を返します.
1.MySQLdbモジュールのインストール方法の1つ
2.MySQLdbモジュールインスタンス用テーブル情報
3.MySQLdbモジュールの接続とクエリー
4.MySQLdbモジュールの挿入と更新
5.MySQLdbモジュールの一括挿入[多くの方法、方法の1つ]
(1.データベースに書き込む必要がある情報を追加する新しいテキストを作成します(各列はスペースで区切られています)
(2.一括挿入
一般的な関数: commit()コミット ロールバック
cursorがコマンドを実行する方法: callproc(self,procname,args):ストレージ・プロシージャを実行するために使用され、受信したパラメータはストレージ・プロシージャ名とパラメータ・リストであり、戻り値は影響を受けるロー数である execute(self,query,args):単一のsql文を実行し、受信したパラメータはsql文自体と使用するパラメータリストであり、戻り値は影響を受ける行数である executemany(self,query,args):単一のsql文を実行しますが、パラメータリストのパラメータを繰り返し実行し、影響を受ける行数を返します. nextset(self):次の結果セットに移動
Cursorが戻り値を受信する方法: fetchall(self):すべての戻り結果行を受信 fetchmany(self,size=None):sizeバーの戻り結果行を受信する.sizeの値が戻り結果行の数より大きい場合、cursor.arraysizeバーデータを返す. fetchone(self):結果行を返します.
1.MySQLdbモジュールのインストール方法の1つ
[root@YunWei-129 ~]# easy_install mysql-python
2.MySQLdbモジュールインスタンス用テーブル情報
MariaDB [easy]> desc student;
+-------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id | int(11) | YES | | NULL | |
| name | varchar(20) | YES | | NULL | |
| sex | varchar(4) | YES | | NULL | |
+-------+-------------+------+-----+---------+-------+
3 rows in set (0.00 sec)
3.MySQLdbモジュールの接続とクエリー
# -*- coding: utf-8 -*-
#! /usr/bin/env python
import MySQLdb
#
connect = MySQLdb.connect(host="localhost",
user="root",
passwd="12345",
db="easy",
port=3306,
charset="utf8")
#
cursor = connect.cursor()
# SQL
SQL = cursor.execute("select * from student;")
#
EXE = cursor.fetchall()
#
for SQL in EXE:
print "ID : %-5s NAME : %-5s SEX : %-5s"% (SQL[0],SQL[1],SQL[2])
#
cursor.close()
#
connect.close()
4.MySQLdbモジュールの挿入と更新
# -*- coding: utf-8 -*-
#! /usr/bin/env python
import MySQLdb
#
connect = MySQLdb.connect(host="localhost",
user="root",
passwd="12345",
db="easy",
port=3306,
charset="utf8")
#
cursor = connect.cursor()
# insert SQL
SQL_INSERT = cursor.execute("insert into student values(2,' ',' ');")
# update SQL
SQL_UPDATE = cursor.execute("update student set name=' ',sex=' ' where id=1;")
# select SQL
SQL_SELECT = cursor.execute("select * from student;")
EXE = cursor.fetchall()
#
for SQL in EXE:
print "ID : %-5s NAME : %-5s SEX : %-5s"% (SQL[0],SQL[1],SQL[2])
#
connect.commit()
#
cursor.close()
#
connect.close()
5.MySQLdbモジュールの一括挿入[多くの方法、方法の1つ]
(1.データベースに書き込む必要がある情報を追加する新しいテキストを作成します(各列はスペースで区切られています)
[root@YunWei-129 ~]# cat info.txt
3
4
5
6
(2.一括挿入
# -*- coding: utf-8 -*-
#! /usr/bin/env python
import MySQLdb
#
touch = file('/root/info.txt')
#
connect = MySQLdb.connect(host="localhost",
user="root",
passwd="12345",
db="easy",
port=3306,
charset="utf8")
#
cursor = connect.cursor()
# insert SQL
for info in touch.readlines():
ID,NAME,SEX = info.split()
cursor.execute("insert into student values(%d,'%s','%s');"% (int(ID),NAME,SEX))
# select SQL
SQL_SELECT = cursor.execute("select * from student;")
EXE = cursor.fetchall()
#
for SQL in EXE:
print "ID : %-5s NAME : %-5s SEX : %-5s"% (SQL[0],SQL[1],SQL[2])
#
connect.commit()
#
cursor.close()
#
connect.close()