目次
1. 背景
2. 基本操作
1. PyMySQL ライブラリをインストールします
2. MySQL データベースのインストール
3. SQL の基本構文
ホームページ データベース mysql チュートリアル Python を使用して MySQL データベースを操作する方法

Python を使用して MySQL データベースを操作する方法

May 26, 2023 pm 02:46 PM
mysql python

1. 背景

今回は Python3.6 環境を使用し、Anaconda ノートブックで接続実験を行いましたが、もちろん Python シェルでも操作できます。

MySQL データベースに接続するために最も一般的に使用され、安定した Python ライブラリは PyMySQL です。

2. 基本操作

1. PyMySQL ライブラリをインストールします

最も簡単な方法:

コマンドラインに入力しますpip install pymysql

または:

インストール用の whl ファイル [1] をダウンロードします。インストール プロセスは自分で行います。

2. MySQL データベースのインストール

MySQL データベースには

MySQLMariaDB

の 2 つがあります。私は MySQL のフォークである MariaDB を使用しています。

両者はパフォーマンスのほとんどの面で互換性があり、使用中に違いを感じることはありません。

はダウンロード アドレスを示します: MySQL[2]MariaDB[3]、インストール プロセスは非常に簡単です。次のステップに従うだけですが、パスワードを覚えておいてください。

ちょっとしたエピソードがありますが、MySQL と MariaDB は姉妹と姉妹の関係に相当し、同じ人 ( Widenius ) によって作成されました。

MySQL が Oracle に買収された後、ワイドニウス氏は不満を感じ、MySQL を完全に置き換えることができる MariaDB を構築しました。

ダニエルは故意です。

3. SQL の基本構文

次に、SQL テーブルの作成、クエリ、データ挿入などの関数を使用して、SQL 言語の基本的な文を簡単に紹介します。

  • データベースの表示: SHOW DATABASES;

  • データベースの作成: CREATE DATEBASE データベース名;

  • データベースの使用: USE データベース名;

  • データ テーブルの表示:SHOW TABLES;

  • データテーブルの作成: CREATE TABLE テーブル名 (列名 1 (データ型 1)、列名 2 (データ型 2));

  • データの挿入: INSERT INTO テーブル名 (列名 1、列名 2) VALUES (データ 1、データ 2);

  • データの表示:

    SELECT * FROM テーブル名;

  • データの更新:

    UPDATE テーブル名 SET カラム名 1 = 新しいデータ 1、カラム名 2 =新しいデータ 2 WHERE 特定の列 = 特定のデータ;

4. データベースへの接続

必要なファイルとライブラリをインストールしたら、正式に接続を開始しますデータベースへ まあ、不思議だけど難しくはない!

#首先导入PyMySQL库
import pymysql
#连接数据库,创建连接对象connection
#连接对象作用是:连接数据库、发送数据库信息、处理回滚操作(查询中断时,数据库回到最初状态)、创建新的光标对象
connection = pymysql.connect(host = 'localhost' #host属性
                            user = 'root' #用户名
                            password = '******'  #此处填登录数据库的密码
                            db = 'mysql' #数据库名
                            )
ログイン後にコピー

このコードを実行すると接続が完了します。

5. 追加、削除、変更、およびクエリ操作

最初にどのデータベースがあるかを確認します:

#创建光标对象,一个连接可以有很多光标,一个光标跟踪一种数据状态。
#光标对象作用是:、创建、删除、写入、查询等等
cur = connection.cursor()
#查看有哪些数据库,通过cur.fetchall()获取查询所有结果
print(cur.fetchall())
ログイン後にコピー

すべてのデータベースを出力します:

(('information_schema',),
('law',),
('mysql',),
('performance_schema',),
('test',))
ログイン後にコピー

Create inテスト データベース テーブル:

#使用数据库test
cur.execute('USE test')
#在test数据库里创建表student,有name列和age列
cur.execute('CREATE TABLE student(name VARCHAR(20),age TINYINT(3))')
ログイン後にコピー

データ テーブルにデータを挿入する学生:

sql = 'INSERT INTO student (name,age) VALUES (%s,%s)'
cur.execute(sql,('XiaoMing',23))
ログイン後にコピー

データ テーブルの内容を表示する学生:

cur.execute('SELECT * FROM student')
print(cur.fetchone())
ログイン後にコピー

出力は次のとおりです。 ('シャオミン'、23)

ビンゴ!これは挿入したばかりのデータです。

最後に、カーソルと接続を忘れずに閉じてください。

#关闭连接对象,否则会导致连接泄漏,消耗数据库资源
connection.close()
#关闭光标
cur.close()
ログイン後にコピー

OK、プロセス全体は大まかに次のようになります。

もちろん、これらは非常に基本的な操作です。その他の使用方法については、

PyMySQL 公式ドキュメント [4] を参照してください。

3. ビッグ データ ファイルのインポート

csv ファイルを例に挙げます。csv ファイルをデータベースにインポートするには、通常 2 つの方法があります:

1. 1 つずつインポートします。 SQL の挿入メソッドを使用します。データ量の少ない CSV ファイルに適しています。ここでは詳しく説明しません。

2. データのロード方法によるインポートは高速であり、ビッグ データ ファイルに適していますが、これがこの記事の焦点でもあります。

サンプル CSV ファイルは次のとおりです:

Python を使用して MySQL データベースを操作する方法

全体の作業は 3 つのステップに分かれています:

1. Python を使用して接続しますmysql データベースへ;

2、基于CSV文件表格字段创建表;

3、使用load data方法导入CSV文件内容。

sql的load data语法简介:

LOAD DATA LOCAL INFILE 'csv_file_path' INTO TABLE table_name FIELDS TERMINATED BY ',' LINES TERMINATED BY '\\r\\n' IGNORE 1 LINES
ログイン後にコピー

csv_file_path 指文件绝对路径 table_name指表名称 FIELDS TERMINATED BY ','指以逗号分隔 LINES TERMINATED BY '\\r\\n'指换行 IGNORE 1 LINES指跳过第一行,因为第一行是表的字段名

下面给出全部代码:

#导入pymysql方法
import pymysql


#连接数据库
config = {:'',
         :3306,
         :'username',
         :'password',
         :'utf8mb4',
         :1
         }
conn = pymysql.connect(**config)
cur = conn.cursor()


#load_csv函数,参数分别为csv文件路径,表名称,数据库名称
def load_csv(csv_file_path,table_name,database='evdata'):
   #打开csv文件
   file = open(csv_file_path, 'r',encoding='utf-8')
   #读取csv文件第一行字段名,创建表
   reader = file.readline()
   b = reader.split(',')
   colum = ''
   for a in b:
       colum = colum + a + ' varchar(255),'
   colum = colum[:-1]
   #编写sql,create_sql负责创建表,data_sql负责导入数据
   create_sql = 'create table if not exists ' + table_name + ' ' + '(' + colum + ')' + ' DEFAULT CHARSET=utf8'
   data_sql = "LOAD DATA LOCAL INFILE '%s' INTO TABLE %s FIELDS TERMINATED BY ',' LINES TERMINATED BY '\\r\\n' IGNORE 1 LINES" % (csv_filename,table_name)

   #使用数据库
   cur.execute('use %s' % database)
   #设置编码格式
   cur.execute('SET NAMES utf8;')
   cur.execute('SET character_set_connection=utf8;')
   #执行create_sql,创建表
   cur.execute(create_sql)
   #执行data_sql,导入数据
   cur.execute(data_sql)
   conn.commit()
   #关闭连接
   conn.close()
   cur.close()
ログイン後にコピー

以上がPython を使用して MySQL データベースを操作する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Navicatプレミアムの作成方法 Navicatプレミアムの作成方法 Apr 09, 2025 am 07:09 AM

NAVICATプレミアムを使用してデータベースを作成します。データベースサーバーに接続し、接続パラメーターを入力します。サーバーを右クリックして、[データベースの作成]を選択します。新しいデータベースの名前と指定された文字セットと照合を入力します。新しいデータベースに接続し、オブジェクトブラウザにテーブルを作成します。テーブルを右クリックして、データを挿入してデータを挿入します。

NavicatでMySQLへの新しい接続を作成する方法 NavicatでMySQLへの新しい接続を作成する方法 Apr 09, 2025 am 07:21 AM

手順に従って、NAVICATで新しいMySQL接続を作成できます。アプリケーションを開き、新しい接続(CTRL N)を選択します。接続タイプとして「mysql」を選択します。ホスト名/IPアドレス、ポート、ユーザー名、およびパスワードを入力します。 (オプション)Advanced Optionsを構成します。接続を保存して、接続名を入力します。

NavicatのローカルMySQLに接続する方法 NavicatのローカルMySQLに接続する方法 Apr 09, 2025 am 07:45 AM

NAVICATを使用してローカルMYSQLデータベースに接続するには:接続を作成し、接続名、ホスト、ポート、ユーザー名、およびパスワードを設定します。接続をテストして、パラメーターが正しいことを確認します。接続を保存します。接続リストから新しい接続を選択します。接続するデータベースをダブルクリックします。

さまざまなデータベースシステムに列を追加するための構文の違いは何ですか さまざまなデータベースシステムに列を追加するための構文の違いは何ですか Apr 09, 2025 pm 02:15 PM

and:mysql:Alter table_name add column_name data_type; postgresql:column column_name data_typeを変更するcolumn column_name datape; oracle:alter table_name add(column_name data_type);

Amazon AthenaでAWS接着クローラーの使用方法 Amazon AthenaでAWS接着クローラーの使用方法 Apr 09, 2025 pm 03:09 PM

データの専門家として、さまざまなソースから大量のデータを処理する必要があります。これは、データ管理と分析に課題をもたらす可能性があります。幸いなことに、AWS GlueとAmazon Athenaの2つのAWSサービスが役立ちます。

SQLグラフィカルツールに列を追加する方法は? SQLグラフィカルツールに列を追加する方法は? Apr 09, 2025 pm 12:54 PM

SQLグラフィックスの列を追加するツール:追加する列を選択するテーブルを選択します。 [テーブルを変更]または同様のオプションを右クリックして選択します。新しい列のプロパティ(名前、データ型、長さ、または空のかどうか)を定義します。該当する場合は、新しい列のデフォルト値を指定します。データエラーを回避するには、適切なデータ型を選択します。意味のある列名を使用します。大きなテーブルで列の追加操作を実行する際のパフォーマンスへの影響を考慮してください。データの損失を防ぐために、操作の前に常にデータベースをバックアップしてください。

Navicatプレミアムをアクティブ化する方法 Navicatプレミアムをアクティブ化する方法 Apr 09, 2025 am 06:57 AM

Navicat Premiumは、機能にアクセスするためにアクティブにできるデータベース管理ツールです。アクティベーションの手順には、ライセンスキーの取得、Navicatプレミアムのインストール、ライセンスキーを使用してアクティブ化することが含まれます。アクティベーション中に問題に遭遇したら、キー入力が正しいかどうかを確認し、ネットワークが接続されていることを確認してください。それでも解決できない場合は、テクニカルサポートにお問い合わせください。各ライセンスキーは1つのコピーのみをアクティブにすることができ、永久ライセンスは期限切れになり、サブスクリプションライセンスを更新する必要があります。

MySQL:簡単な学習のためのシンプルな概念 MySQL:簡単な学習のためのシンプルな概念 Apr 10, 2025 am 09:29 AM

MySQLは、オープンソースのリレーショナルデータベース管理システムです。 1)データベースとテーブルの作成:createdatabaseおよびcreateTableコマンドを使用します。 2)基本操作:挿入、更新、削除、選択。 3)高度な操作:参加、サブクエリ、トランザクション処理。 4)デバッグスキル:構文、データ型、およびアクセス許可を確認します。 5)最適化の提案:インデックスを使用し、選択*を避け、トランザクションを使用します。

See all articles