ホームページ  >  記事  >  バックエンド開発  >  Python データベースの操作

Python データベースの操作

高洛峰
高洛峰オリジナル
2016-12-27 13:30:161027ブラウズ

Windows に MySQL-python をインストールします

ダウンロード アドレス: https://pypi.python.org/pypi/MySQL-python/1.2.5 システムにインストールするだけです。

Linux に MySQL-python をインストールして MySQL に接続します:

ダウンロード アドレス: https://pypi.python.org/pypi/MySQL-python/

解凍後、ディレクトリに入り、Python セットアップを実行します。 py install

インストールプロセス中によく発生する問題:

1. mysql_config が見つからないというメッセージが表示される場合、通常は、mysql が lnmp ワンクリック インストール パッケージを使用してインストールされているため、パス

が解決されます。 :locate mysql_config found mysql_config ファイルの場所を指定し、次に ln -s を実行して /usr/bin/ へのソフト接続を作成します。

2. Ubuntu が「x86_64-linux-gnu-gcc」が見つからないというメッセージを表示したら、python-dev パッケージをインストールする必要があります:

解決策: sudo apt-get install python-dev -y

3 . CentOS プロンプト コマンド 'gcc' が終了ステータス 1 で失敗しました

解決策: yum install gcc python-devel -y

インストールが完了したら、python と入力して import MySQLdb を実行し、インポートが成功するかどうかを確認します。

補足:

ubuntu で操作していたとき、ss -lnt は mysql がループバック アドレスの 3306 ポートのみをリッスンしていることがわかり、これを変更する必要があります。
Ubuntu の mysql を変更し、そのリスニング ポート 127.0.0.1:3306 を変更して、外部接続を許可します。
/etc/mysql/my.cnf を編集します (設定パラメータはこのディレクトリ内の他のファイルにある可能性があります。注意深く確認してください)
バインド アドレスを変更します= 0.0.0.0 は、任意の IP からのアクセスを許可します。
次に /etc/init.d/mysql restart を実行して mysqlserver サービスを再起動します

# 以下は Python によるデータベース操作の例です:

#!/usr/bin/env python
# -*- coding:utf8 -*-
import MySQLdb
conn = MySQLdb.connect(
host = '192.168.2.14',
port = 3306,
user = 'root',
passwd = '123456',
db = 'demo',
)
# 操作数据库首先需要创建游标
cur = conn.cursor()
# 通过游标cur操作execute()方法可以写入纯sql语句,如下:
# 创建数据表
# cur.execute("create table teacher (id int(5),name varchar(20),class varchar(20),age varchar(10))")
# 插入数据
# cur.execute("insert into teacher values(23,'zhangsan','science',15)")
# 修改数据
# cur.execute("update teacher set id=100 where name='zhangsan'")
# 删除数据
# cur.execute("delete from teacher where id=100")
#插入一条数据【也可以用像下面这种写法】
sqli="insert into teacher values(%s,%s,%s,%s)"
cur.execute(sqli, (23,'zhangsan','science',15))
# 使用executemany一次性向数据表中插入多条值,返回值为受影响的行数。
sqli="insert into teacher values(%s,%s,%s,%s)"
cur.executemany(sqli,[
(11,'wangwu','art',23),
(8,'john','math',22),
(3,'Tom','physical',25),
])
# 最后关闭游标,执行提交操作,并关闭数据库连接
cur.close()
conn.commit()
conn.close()

データの取得と出力

#!/usr/bin/env python
# -*- coding:utf8 -*-
import MySQLdb
conn = MySQLdb.connect(
host = '192.168.2.14',
port = 3306,
user = 'root',
passwd = '123456',
db = 'demo',
)
cur = conn.cursor()
# 获得表中有多少条数据
aa = cur.execute("select * from teacher")
cur.fetchone() # fetchone()方法可以帮我们获得表中的数据,但是每执行一次输出一行满足条件的值
cur.fetchone()
......
cur.scroll(0,'absolute')# 这样能将游标定位到表中的第一条数据
info = cur.fetchmany(aa)
for i in info:
print i
cur.close()
conn.commit()
conn.close()

Python のデータベースについてエディターが紹介します操作は以上です。皆さんのお役に立てば幸いです。

Python のデータベース操作に関連するその他の記事については、PHP 中国語 Web サイトに注目してください。

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