Python を使用して MySQL データベースを操作する方法
1. 背景
今回は Python3.6 環境を使用し、Anaconda ノートブックで接続実験を行いましたが、もちろん Python シェルでも操作できます。
MySQL データベースに接続するために最も一般的に使用され、安定した Python ライブラリは PyMySQL です。
2. 基本操作
1. PyMySQL ライブラリをインストールします
最も簡単な方法:
コマンドラインに入力しますpip install pymysql
または:
インストール用の whl ファイル [1] をダウンロードします。インストール プロセスは自分で行います。
2. MySQL データベースのインストール
MySQL データベースには
MySQL と MariaDB
の 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 特定の列 = 特定のデータ;
#首先导入PyMySQL库 import pymysql #连接数据库,创建连接对象connection #连接对象作用是:连接数据库、发送数据库信息、处理回滚操作(查询中断时,数据库回到最初状态)、创建新的光标对象 connection = pymysql.connect(host = 'localhost' #host属性 user = 'root' #用户名 password = '******' #此处填登录数据库的密码 db = 'mysql' #数据库名 )
#创建光标对象,一个连接可以有很多光标,一个光标跟踪一种数据状态。 #光标对象作用是:、创建、删除、写入、查询等等 cur = connection.cursor() #查看有哪些数据库,通过cur.fetchall()获取查询所有结果 print(cur.fetchall())
(('information_schema',), ('law',), ('mysql',), ('performance_schema',), ('test',))
#使用数据库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())
#关闭连接对象,否则会导致连接泄漏,消耗数据库资源 connection.close() #关闭光标 cur.close()
PyMySQL 公式ドキュメント [4] を参照してください。
3. ビッグ データ ファイルのインポートcsv ファイルを例に挙げます。csv ファイルをデータベースにインポートするには、通常 2 つの方法があります: 1. 1 つずつインポートします。 SQL の挿入メソッドを使用します。データ量の少ない CSV ファイルに適しています。ここでは詳しく説明しません。 2. データのロード方法によるインポートは高速であり、ビッグ データ ファイルに適していますが、これがこの記事の焦点でもあります。 サンプル CSV ファイルは次のとおりです: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 サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック









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

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

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

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);

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

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

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

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