11.データベース操作

 

MySQLドライバのインストール:

私たちは、DjangoのMySQLの、基本的な事実やPythonによる操作を操作するために使用されます。だから私たちは、あなたがドライバをインストールする必要があり、すべての上に、MySQLを動作させるためにはDjangoを使用したいです。python3では、ドライバはさまざまなオプションがあります。例えば、これにはmysqlclientとがpymysql。ここでは、使用しmysqlclientて動作します。mysqlclientインストールは非常に簡単です。あなただけが必要なpip install mysqlclientインストールします。

MySQLは、共通のドライブを導入しました:

  1. MySQL-python:それはMySQLdbはあります。これは、C言語のシンプルなパッケージMySQLデータベース操作です。PythonのDBのAPI v2のに従ってください。しかし、唯一のPython2をサポートするために、現在のpython3をサポートしていません。
  2. mysqlclient:MySQLの-pythonの別の支店です。python3のサポートとは、いくつかのバグを修正します。
  3. pymysql:純粋なPython実装をドライブ。それは純粋なPythonの、そのためのMySQL-pythonのより効率的なの実装で書かれているので。そしてまたなぜなら、それは純粋なPythonで書かれ、Pythonコードをシームレスにすることができます。
  4. MySQL Connector/Python:純粋なPythonの接続MySQLを使用して、ドライブのMySQLの公式発表。それは純粋なPythonの開発があるので。効率性は高くありません。

Djangoの設定データベース接続:

データベースを操作する前に、まず最初にデータベースに接続する必要があります。ここでは、MySQLを設定するために説明するための例があります。Djangoのデータベース接続は、別の接続オブジェクトを作成する必要はありません。あなただけがする必要がありsettings.py、それには良い仕事データベース関連のコンフィギュレーションファイルを実行します。次のようにサンプル・コードは次のとおりです。

DATABASES = {
    'default': {
        # 数据库引擎(是mysql还是oracle等)
        'ENGINE': 'django.db.backends.mysql',
        # 数据库的名字
        'NAME': 'dfz',
        # 连接mysql数据库的用户名
        'USER': 'root',
        # 连接mysql数据库的密码
        'PASSWORD': 'root',
        # mysql数据库的主机地址
        'HOST': '127.0.0.1',
        # mysql数据库的端口号
        'PORT': '3306',
    }
}

データベースのDjangoの動作では:

2つの方法で、Djangoのデータベース操作で。最初の方法は、ネイティブのオペレーティング・SQLステートメントを使用することで、第二は、動作させるためにORMモデルを使用することです。一種類のDirの面で最初のすべてのこのレッスン。

Djangoの操作でネイティブのSQLステートメントを使用すると、実際に動作するPythonのDBのAPIインタフェースを使用しています。あなたはmysqlの駆動pymysqlを使用している場合は、動作するようpymysqlを使用しているが、これは限り私たちはDjangoのパッケージの後に直接使用settings.pyのデータベース接続情報で構成されているように、よくパッケージDjangoのデータベース接続の一部となります良いインターフェイスはアップして動作することができます。次のようにサンプル・コードは次のとおりです。

# 使用django封装好的connection对象,会自动读取settings.py中数据库的配置信息
from django.db import connection

# 获取游标对象
cursor = connection.cursor()
# 拿到游标对象后执行sql语句
cursor.execute("select * from book")
# 获取所有的数据
rows = cursor.fetchall()
# 遍历查询到的数据
for row in rows:
    print(row)


上記はfetchAllとPython DB APIメソッドは、仕様で定義されて実行されます。MySQLを操作するためのPythonを使って任意のドライバは、このに従ってください。それはpymysqlはmysqlclientかのMySQLdbを使用しているかであるかどうかので、そのインターフェイスは同じです。:より多くの仕様についてを参照してくださいhttps://www.python.org/dev/peps/pep-0249/

カーソルオブジェクトのAPIのPython DB下の共通インタフェース仕様:

  1. description:カーソル問合せは、SQLコードを実行された場合。だから、読んでcursor.descriptionタプルがロードされたリストを返すときに、プロパティを、タプルがそれぞれ設置されている(name,type_code,display_size,internal_size,precision,scale,null_ok)名前は、データ、有用ではない他のパラメータを見つけるために、フィールドの名前を表し、。

  2. rowcount:これは、影響を受けたSQL文を実行した後の行数を表します。

  3. close:カーソルを閉じます。カーソルを閉じた後、もはやそれ以外の場合は、例外がスローされます、使用することはできません。

  4. execute(sql[,parameters]):SQL文を実行します。あなたは、SQL文の実行にパラメータを渡す必要がある場合は、パラメータのパラメータを渡すことができます。次のようにサンプル・コードは次のとおりです。

     cursor.execute("select * from article where id=%s",(1,))
    
  5. fetchone第1のデータを取得し、クエリを実行した後。

  6. fetchmany(size):検索操作を実行した後、データの部分を取得します。具体的にどのように多くは、サイズパラメータのパスに依存します。あなたはサイズパラメータを渡さない場合は、デフォルトでは最初のデータを得ることです。

  7. fetchall:すべて満たすSQL文データを取得します。

おすすめ

転載: www.cnblogs.com/ys-python/p/11266144.html