Heim >Backend-Entwicklung >Python-Tutorial >Tutorial zur Installation und Verwendung der MySQL-Datenbank

Tutorial zur Installation und Verwendung der MySQL-Datenbank

Y2J
Y2JOriginal
2017-05-16 13:07:452018Durchsuche

In Python-Webcrawlern wird es normalerweise im TXT-Klartext gespeichert, kann aber gleichzeitig auch in einer Datenbank gespeichert werden, auf WAMP-Entwicklungswebsites (Windows, Apache, MySQL, PHP oder Python). Da die Webseite auch über Python erstellt werden kann, geht es in diesem Artikel hauptsächlich um Programmierkenntnisse im Zusammenhang mit dem Aufruf von MySQL-Datenbanken durch Python

Im Python-Webcrawler wird es normalerweise im TXT-Klartext gespeichert, kann aber auch im gespeichert werden Gleichzeitig können in WAMP (Windows, Apache, MySQL, PHP oder Python) auch Webseiten über Python erstellt werden. In diesem Artikel geht es daher hauptsächlich um Programmierkenntnisse im Zusammenhang mit dem Aufruf von MySQL-Datenbanken durch Python. Erklären Sie anhand der folgenden Aspekte:

1. Konfigurieren von MySLQ
3. Grundkenntnisse im Umgang mit MySQL mit Python
4 🎜>
1. MySQL konfigurieren

Zuerst mysql-5.0.96-winx64 herunterladen,

Installation

Der Vorgang ist in der folgenden Abbildung dargestellt.
1. MySQL 5.0 installieren



2. Manuelle Konfiguration, Diensttyp, universelle Multifunktion und Installation auswählen Pfad




3. Stellen Sie die Anzahl der Datenbankzugriffsverbindungen auf 15 und den Port auf 3306 ein (wird zum Festlegen der URL verwendet). im Code) ist die Kodierungsmethode utf-8




4. Legen Sie den Benutzernamen und das Passwort des Standard-Supers fest Root-Benutzer, und schließlich war die Installation erfolgreich



2. Grundkenntnisse von SQL-Anweisungen

Nachher Nachdem Sie MySQL 5.0 erfolgreich installiert haben, führen Sie einfache Vorgänge in der Datenbank durch.

1. Führen Sie MySQL aus und geben Sie das Standardbenutzerpasswort 123456 ein




2.

Datenbank erstellen

test01 und die Datenbank verwenden (zweiter Aufruf direkt Datenbank verwenden)
Datenbank test01 erstellen;


In der Datenbank enthaltene Datenbanken anzeigen: Datenbanken anzeigen;



3. Erstellen Sie die Tabelle student, in der die Schülernummer der Primärschlüssel ist

erstellen Sie die Tabelle student(username varchar(20),passw

ord
varchar(20),stuid int Primary
key);


4. Zur Anzeige Verwenden Sie für die Tabellenstruktur die Anweisung desc student



5. Fügen Sie Daten

in die Student-Tabelle

ein und zeigen Sie die Daten an
der Abfrage


6.Löschen Tabelle: Tabelle Schüler löschen;


7.AktualisierenDaten
upDatum Student eingestellt Passwort='000000' where stuid='1';

8. Daten löschen
Sie können auch Datenbankergänzungen, Löschungen, Änderungen, Transaktionen, gespeicherte Prozeduren und andere Vorgänge implementieren. Es wird empfohlen, visuelle Software zu installieren, um die Black Box zu ersetzen, oder Navicat für
MySQL-Software. Der Code lautet wie folgt:

3. Grundkenntnisse des Python-Aufrufs von MySQL

Die übliche Installationsmethode ist verwenden: pip install mysql Installiert die MySQL-Bibliothek von Python, es tritt jedoch immer ein Fehler auf.

Häufige Fehler
Zum Beispiel:

Microsoft Visual C++ 9.0 ist erforderlich (vcvarsall.bat kann nicht gefunden werden)
Enter password: ******
mysql> show databases;
+--------------------+
| Database      |
+--------------------+
| information_schema |
| mysql       |
| performance_schema |
| test        |
| test01       |
+--------------------+
5 rows in set (0.00 sec)

mysql> use test01;
Database changed
mysql> show tables;
Empty set (0.00 sec)

mysql> create table student(username varchar(20),
  ->         password varchar(20),
  ->         stuid int primary key);
Query OK, 0 rows affected (0.33 sec)

mysql> show tables;
+------------------+
| Tables_in_test01 |
+------------------+
| student     |
+------------------+
1 row in set (0.00 sec)

mysql> desc student;
+----------+-------------+------+-----+---------+-------+
| Field  | Type    | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| username | varchar(20) | YES |   | NULL  |    |
| password | varchar(20) | YES |   | NULL  |    |
| stuid  | int(11)   | NO  | PRI | NULL  |    |
+----------+-------------+------+-----+---------+-------+
3 rows in set (0.03 sec)

mysql> insert student(username, password, stuid)
  -> values('eastmount','123456',1)
  -> ;
Query OK, 1 row affected (0.05 sec)

mysql> select * from student;
+-----------+----------+-------+
| username | password | stuid |
+-----------+----------+-------+
| eastmount | 123456  |   1 |
+-----------+----------+-------+
1 row in set (0.00 sec)

mysql> update student set password='000000' where stuid='1';
Query OK, 1 row affected (0.10 sec)
Rows matched: 1 Changed: 1 Warnings: 0

mysql> select * from student;
+-----------+----------+-------+
| username | password | stuid |
+-----------+----------+-------+
| eastmount | 000000  |   1 |
+-----------+----------+-------+
1 row in set (0.00 sec)

mysql> delete from student where username='eastmount';
Query OK, 1 row affected (0.08 sec)

mysql> select * from student;
Empty set (0.00 sec)

mysql>
mysql.c(42): Schwerwiegender Fehler C1083: Include-Datei kann nicht geöffnet werden: 'config- win .h': Keine solche Datei oder kein solches Verzeichnis

Dies können Treiberprobleme sein.

Richtige Installationsmethode: Es wird empfohlen, eine MySQL-python-1.2.3.win-amd64-py2.7.exe-Datei zur Installation herunterzuladen.
Offizielle Website-Adresse: pypi.python.org/pypi/MySQL-python/
Download-Adresse: www.jb51.net/softs/73369.html

Als nächstes erfahren wir mehr über die Python-Datenbank

API
. Für den Zugriff auf die Datenbank über Python ist ein
Schnittstellen-
-Programm erforderlich. Das Schnittstellenprogramm ist ein Python-Modul, das eine Schnittstelle zur Datenbank-Client-Bibliothek (normalerweise in

C-Sprache

geschrieben) bereitstellt, auf die Sie zugreifen können. Hinweis: Python-Schnittstellenprogramme müssen der Python DB-API-Spezifikation entsprechen. DB-API ist eine Spezifikation. Es definiert eine Reihe notwendiger

Objekte

und Datenbankzugriffsmethoden, um konsistente Zugriffsschnittstellen für verschiedene zugrunde liegende Datenbanksysteme und verschiedene Datenbankschnittstellenprogramme bereitzustellen. DB-API bietet eine konsistente Zugriffsschnittstelle für verschiedene Datenbanken und erleichtert so die Transplantation von Code zwischen verschiedenen Datenbanken. Im Folgenden finden Sie eine kurze Einführung in die Verwendung der DB-API.
1. Modul Attribute

Die folgenden Funktionen und Attribute in der DB-API-Spezifikation müssen bereitgestellt werden. Eine DB-API-kompatible Moduldefinition lautet wie folgt:

Python ruft MsSQL auf und muss die MySQLdb-Bibliothek wie folgt importieren:


2. connect()

Funktion
apilevel:模块兼容的DB-API版本号
threadsafety:线程安全级别
paramstyle:支持sql语句参数风格
connect():连接数据库

Die hauptsächlich verwendete Methode ist das Verbindungsobjekt. Die Methode connect() generiert ein Verbindungsobjekt für den Zugriff auf die Datenbank. Ihre Parameter lauten wie folgt: import MySQLdb

Beachten Sie, dass nicht alle Schnittstellenprogramme strikt diesem Format folgen, z als MySQLdb.


Die Objektmethode connect() lautet wie folgt:

user:Username
password:Password
host:Hostname
database:DatabaseName
dsn:Data source name


Beachten Sie, dass die close ()-Methode wird ausgeführt Dann kann die obige Verbindungsobjektmethode nicht mehr verwendet werden, andernfalls tritt eine Ausnahme auf. commit(), rollback() und Cursor() können für Datenbanken, die Transaktionen unterstützen, sinnvoller sein.

Datenbanktransaktion
import MySQLdb
conn = MySQLdb.connect(host='localhost', db='test01', user='root', passwd='123456', port=3306, charset='utf8')
Aktion

) bezieht sich auf eine Reihe von Vorgängen, die als eine einzige logische Arbeitseinheit ausgeführt werden und entweder vollständig ausgeführt werden oder überhaupt nicht ausgeführt werden. Sobald Sie die Datenbankverbindung hergestellt haben, schließen Sie das Cursorobjekt, führen Sie dann commit() aus, um Ihren Vorgang zu übermitteln, und schließen Sie dann die Verbindung.

3.游标对象
上面说了connect()方法用于提供连接数据库的接口,如果要对数据库操作那么还需要使用游标对象。游标对象的属性和方法


fetchone():可以看作fetch(取出) one(一个),也就是得到结果集的下一行(一行)。
fetchmany(size):可以看作fetch(取出)many(多个),这里的参数是界限,得到结果集的下几行(几行)
fetchall():顾名思义,取得所有。
execute(sql):执行数据库操作,参数为sql语句。
close():不需要游标时尽可能的关闭

下面通过简单的示例进行讲解。

四. Python调用MySQL示例

在前面数据库中我们创建了数据库“test01”和表“student”,同时插入了数据。那么,怎样通过Python来显示呢?
1.查询所有数据库
首先,我们查看本地数据库中所包含的数据库名称,通过“show databases”语句。


import MySQLdb
 
try:
  conn=MySQLdb.connect(host='localhost',user='root',passwd='123456',port=3306)
  cur=conn.cursor()
  res = cur.execute('show databases')
  print res
  for data in cur.fetchall():
    print '%s' % data
  cur.close()
  conn.close()
except MySQLdb.Error,e:
   print "Mysql Error %d: %s" % (e.args[0], e.args[1])

其中通过链接数据库代码为:
conn=MySQLdb.connect(host='localhost',user='root',passwd='123456',port=3306)
访问root超级用户,其密码为“123456”,端口为“3306”,其结果如下:

如果不知道本地数据库的名称,可以通过该方法,先查询数据库中包含哪些数据库,然后再连接该数据库进行相关的操作。

2.查询表
下面介绍查询表student中数据,代码如下,代码的具体含义是通过connect()连接数据库,通过conn.cursor()定义游标,然后调用游标的excute(sql)执行数据库操作,此处为查询操作,再通过fetchall()函数获取所有数据。


# coding:utf-8 
import MySQLdb
 
try:
  conn=MySQLdb.connect(host='localhost',user='root',passwd='123456',port=3306, db='test01', charset='utf8')
  cur=conn.cursor()
  res = cur.execute('select * from student')
  print u'表中包含',res,u'条数据\n'
  print u'数据如下:(姓名 密码 序号)'
  for data in cur.fetchall():
    print '%s %s %s' % data
  cur.close()
  conn.close()
except MySQLdb.Error,e:
   print "Mysql Error %d: %s" % (e.args[0], e.args[1])

输出结果如图所示:


        对应的MySQL中的结果是一致的,下图是对应的结果。

 3.创建表
下面这段代码是创建一张教师表,主要是通过commit()提交数据。


# coding:utf-8 
import MySQLdb
 
try:
  conn=MySQLdb.connect(host='localhost',user='root',passwd='123456',port=3306, db='test01', charset='utf8')
  cur=conn.cursor()
  
  #查看表
  print u'插入前包含表:'
  cur.execute('show tables')
  for data in cur.fetchall():
    print '%s' % data

  #插入数据
  sql = '''create table teacher(id int not null primary key auto_increment,
                name char(30) not null,
                sex char(20) not null
     )'''
  cur.execute(sql)

  #查看表
  print u'\n插入后包含表:'
  cur.execute('show tables')
  for data in cur.fetchall():
    print '%s' % data
  cur.close()
  conn.commit()
  conn.close()
except MySQLdb.Error,e:
   print "Mysql Error %d: %s" % (e.args[0], e.args[1])

输出结果如下所示,插入教师表,包含字段:教师序号(id)、教师名称(name)、教师性别(sex)。

插入数据也可以通过execute(sql)方法实现,如:
cur.execute("insert into student values( 'yxz', '111111', '10')")
但插入的新数据通常是通过变量进行赋值,而不是固定的,所以要对这条语句中的值做修改。我们可以做如下修改:


# coding:utf-8 
import MySQLdb
 
try:
  conn=MySQLdb.connect(host='localhost',user='root',passwd='123456',port=3306, db='test01')
  cur=conn.cursor()
  
  #插入数据
  sql = '''insert into student values(%s, %s, %s)'''
  cur.execute(sql, ('yxz','111111', '10'))

  #查看数据
  print u'\n插入数据:'
  cur.execute('select * from student')
  for data in cur.fetchall():
    print '%s %s %s' % data
  cur.close()
  conn.commit()
  conn.close()
except MySQLdb.Error,e:
   print "Mysql Error %d: %s" % (e.args[0], e.args[1])

输出结果如下所示:


>>> 
插入数据:
esatmount 123456 1
yangxiuzhang 123456 2
xiaoy 123456 3
yxz 111111 10
>>>

同样,对数据库的增删改插都可以进行,请读者自行阅读。
推荐资料:python使用mysql数据库 - 虫师
后面我会结合Python爬虫讲述,如何将爬取的内容存储在数据库中,如我CSDN的博客,爬取博客标题、发布时间、阅读量和评论数。

MySQL数据库中结果如下图所示:

【相关推荐】

1. 特别推荐“php程序员工具箱”V0.1版本下载

2. Python免费视频教程

3. Python基础入门教程

Das obige ist der detaillierte Inhalt vonTutorial zur Installation und Verwendung der MySQL-Datenbank. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn