Heim >Datenbank >MySQL-Tutorial >So verwenden Sie Python zum Spielen mit der MySQL-Datenbank

So verwenden Sie Python zum Spielen mit der MySQL-Datenbank

WBOY
WBOYnach vorne
2023-05-26 14:46:061186Durchsuche

1. Hintergrund

Ich habe das Verbindungsexperiment im Anaconda-Notebook durchgeführt, die Umgebung ist Python3.6, natürlich kann der Vorgang auch in der Python-Shell ausgeführt werden.

Die am häufigsten verwendete und stabilste Python-Bibliothek zum Herstellen einer Verbindung zur MySQL-Datenbank ist PyMySQL.

2. Grundlegende Operationen

1. Installieren Sie die PyMySQL-Bibliothek

Der einfachste Weg:

Geben Sie pip install pymysqlpip install pymysql

或者:

下载whl文件[1]进行安装,安装过程自行百度。

2、安装MySQL数据库

MySQL数据库有两种:

MySQLMariaDB

我用的是MariaDB,它是MySQL的一个分支。

两者在绝大部分性能上是兼容的,使用起来感觉不到啥区别。

给出下载地址:MySQL[2]MariaDB[3],安装过程很简单,一路Next Step,不过要记好密码。

有个小插曲,MySQL和MariaDB相当于姐姐妹妹的关系,两者由同一个人(Widenius)创建的。

MySQL被Oracle收购后,Widenius先生觉得不爽,于是搞了个MariaDB,可以完全替代MySQL。

大牛就是任性。

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 某列=某数据;

    in die Befehlszeile ein oder:
Laden Sie die

whl-Datei herunter [1 ]

Zur Installation führen Sie den Installationsvorgang selbst durch.

2. MySQL-Datenbank installieren

Es gibt zwei MySQL-Datenbanken:

MySQL

und

MariaDB

Ich verwende It's MariaDB, ein Fork von MySQL.

Die beiden sind in den meisten Leistungsaspekten kompatibel und Sie können bei der Verwendung keinen Unterschied spüren.

Die Download-Adresse lautet:

MySQL[2]

,

MariaDB[3]

Der Installationsprozess ist sehr einfach, folgen Sie einfach dem nächsten Schritt, aber merken Sie sich das Passwort.

Es gibt eine kleine Episode, die einer Schwester-Schwester-Beziehung gleichkommt. Sie wurden beide von derselben Person erstellt (Widenius).

Nachdem MySQL von Oracle übernommen wurde, war Herr Widenius unzufrieden und baute MariaDB, das MySQL vollständig ersetzen kann.

Ein Daniel ist eigensinnig.

3. Grundlegende SQL-Syntax

Als nächstes werden wir SQL-Tabellenerstellung, Abfrage, Dateneinfügung und andere Funktionen verwenden Kurze Einführung in SQL-Grundsätze der Sprache.

Datenbank anzeigen: DATENBANKEN ANZEIGEN;

  • Datenbank erstellen: DATENBANK-Datenbanknamen ERSTELLEN;

  • Datenbank verwenden: Datenbanknamen verwenden;

  • Datentabellen anzeigen: TABELLEN ANZEIGEN;So verwenden Sie Python zum Spielen mit der MySQL-Datenbank

  • Datentabellen erstellen :CREATE TABLE Tabellenname (Spaltenname 1 (Datentyp 1), Spaltenname 2 (Datentyp 2));

  • Daten einfügen: INSERT INTO Tabellenname (Spalte Name 1, Spaltenname 2) VALUES (Daten 1, Daten 2); 🎜🎜
  • 🎜Daten anzeigen: SELECT * FROM Tabellenname 🎜🎜
  • 🎜Daten aktualisieren :UPDATE-Tabellenname SET-Spaltenname 1 = neue Daten 1, Spaltenname 2 = neue Daten 2 WHERE bestimmte Spalte = bestimmte Daten 🎜🎜🎜🎜4. Installieren Sie die erforderlichen Dateien Und nachdem wir die Datenbank erstellt haben, beginnen wir offiziell mit der Verbindung zur Datenbank. Obwohl es mysteriös ist, ist es nicht schwierig! 🎜
    #首先导入PyMySQL库
    import pymysql
    #连接数据库,创建连接对象connection
    #连接对象作用是:连接数据库、发送数据库信息、处理回滚操作(查询中断时,数据库回到最初状态)、创建新的光标对象
    connection = pymysql.connect(host = 'localhost' #host属性
                                user = 'root' #用户名
                                password = '******'  #此处填登录数据库的密码
                                db = 'mysql' #数据库名
                                )
    🎜Führen Sie diesen Code aus und die Verbindung wird hergestellt! 5. Vorgänge hinzufügen, löschen, ändern und prüfen Datentabelle Schüler:🎜
    #创建光标对象,一个连接可以有很多光标,一个光标跟踪一种数据状态。
    #光标对象作用是:、创建、删除、写入、查询等等
    cur = connection.cursor()
    #查看有哪些数据库,通过cur.fetchall()获取查询所有结果
    print(cur.fetchall())
    🎜Sehen Sie sich den Inhalt der Datentabelle Schüler an: 🎜
    (('information_schema',),
    ('law',),
    ('mysql',),
    ('performance_schema',),
    ('test',))
    🎜Der Ausdruck ist: ('XiaoMing', 23)🎜🎜Bingo! Es handelt sich um ein Datenelement, das wir gerade eingefügt haben. 🎜🎜Denken Sie zum Schluss daran, den Cursor und die Verbindung zu schließen: 🎜
    #使用数据库test
    cur.execute('USE test')
    #在test数据库里创建表student,有name列和age列
    cur.execute('CREATE TABLE student(name VARCHAR(20),age TINYINT(3))')
    🎜OK, der gesamte Vorgang sieht ungefähr so ​​aus. 🎜🎜Natürlich handelt es sich hierbei um sehr grundlegende Vorgänge. Weitere Verwendungsmethoden finden Sie in der offiziellen 🎜PyMySQL-Dokumentation [4]🎜. 🎜🎜3. Importieren Sie große Datendateien. Nehmen Sie CSV-Dateien als Beispiel. Es gibt im Allgemeinen zwei Möglichkeiten, CSV-Dateien in die Datenbank zu importieren: 🎜🎜1. Importieren Sie sie einzeln über die Einfügemethode von SQL Dateien mit geringem Datenvolumen werden hier nicht wiederholt. 🎜🎜2. Import über die Ladedatenmethode, die schnell und für Big-Data-Dateien geeignet ist, was auch der Schwerpunkt dieses Artikels ist. 🎜🎜Die Beispiel-CSV-Datei lautet wie folgt: 🎜🎜🎜🎜🎜Die Gesamtarbeit ist in 3 Schritte unterteilt: 🎜🎜1. Verwenden Sie Python, um eine Verbindung zur MySQL-Datenbank herzustellen

    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()
  • Das obige ist der detaillierte Inhalt vonSo verwenden Sie Python zum Spielen mit der MySQL-Datenbank. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

    Stellungnahme:
    Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen