Python-Full-Stack-Einführung in die MySQL-Datenbank
MySQL-TutorialSpalte Python-Full-Stack-Erklärung der Datenbank
Empfohlen (kostenlos): MySQL-Tutorial
Drei Hauptaspekte:
1.Linux-Terminalbefehl
2.MySQL-Anweisung
3.Python-Aufruf
Terminalbefehl:
vi Texteditor
cat /etc/password |. grep "username" Benutzertabelle abrufen
sudo -i Get Root-Rechte
sudo apt-get install python3-pip Installiere pip3
sudo pip3 install pymysql Installiere MySQL
sudo apt-get install mysql-server Installiere den Server
sudo apt-get install mysql-client Installiere den Client
TSudo APT-get Update Leseliste Speichern unter/var/lib/APT/Listssudo APT-Get Upgrade und Update Sudo /etc/init.d/mysql Status sudo/ETC /init.d/mysql stop / etc/ MySQL -h Hostadresse -u Benutzername -p Passwort aus 1. Rootchmod 644-Dateinamen abrufen 3. Geben Sie das Verzeichnis der Konfigurationsdatei ein tCP ETC/MSQL.CNF/MySQLD.CNF.BAK 4. Backup Subl mysqld.cnf 5.vi Open Source-Datei [mysqld] VerzeichnisCharacter_Set_SERVER = UTF8 6. Befehle hinzufügen
/ETC/ETC/ init .d/mysqlmysqldump -u user -p Quellbibliotheksname> ~/xxx.sql ' Name 2. Eine einzelne Bibliothek sichern 备 -b Bibliothek 1 Bibliothek 2.. 3. Mehrere Bibliotheken sichern2 Bibliotheksname Tabelle 1 2 ... 4. Sichern Sie die angegebene BibliothekstabelleDatenwiederherstellung:
Mysql -UROOT -P & LT; Zielbibliotheksname xxx.sql 1. Stellen Sie die Sicherungsbibliothek wieder her Mysql -UROOT -P —ONE -DataBase-Zielbibliotheksname & lt; cd CD /etc/mysql/mysql.conf.d/ 2.cd zum MySQL-Verzeichnis vi mysqld.cnf 3. Öffnen Sie die Standard-IP und kommentieren Sie sie aus#bind-address = 127.0.0.1 4. Speichern
/etc/init. D/MySQL Restart 5. Dienst neu startenAutorisierter Benutzer:
Autorisierte Liste auf Bibliothek gewähren. an „tiger“@„%“ identifiziert durch „123“ mit BerechtigungslistePython3-Modulinstallation:
Modulname: pymysql
Online: sudo pip3 install pymysqlOffline: pymysql-0.7.11 .tar.gz $ tar -zxvf pymyql-0 .7.11.tar .gz $ cd pymysql-0.7.11$ sudo python3 setup.py install
Überprüfung: $ python3 $.py thon3; pymysql importieren Modulinstallation:
Modulname: MySQLdb
Installation: sudo pip install mysql-python
sqlalchemy Framework-Installation:Online: sudo pip3 install sqlalchemy
Offline: $ tar -zxvf SQLAlchemy-1.2. 10.tar.gz
$ cd SQLAlchemy-1.2.10
$ sudo python3 setup.py install
Überprüfung: $ python3
>>> import sqlalchemy
> ;>>
Pymysql-Verwendung:aus Pymsql-Import * 1. Stellen Sie eine Datenbankverbindung her
c = db.cursor()) 2. Erstellen Sie eine Cursorobjekt
c.execute(“insert….”) 4. An die Datenbank senden
c.close() Schließen :
7.connect-Objekt:
db = pymysql.connect (Parameterliste)
1. Host: Hostadresse, localhost
2. Port: Portnummer, Standard 3306
3. Benutzer: Benutzername
4. Passwort: Passwort
5. Datenbank: Bibliothek
6. Zeichensatz: Kodierungsmethode, es wird empfohlen, utf8 zu verwenden
8.Methode zum Verbinden von Objekten:
Datenbankverbindungsobjekt (db) Methode
1. db.close() schließt die Verbindung
2. db.commit() sendet sie zur Ausführung an die Datenbank
3. db.rollback() rollt zurück
4. cur = db.cursor( ) gibt das Cursorobjekt zurück, das zum Ausführen bestimmter SQL-Befehle verwendet wird SQL-Befehle
2. cur.close() Schließt das Cursorobjekt 3. cur.fetchone() Ruft das erste Datenelement in der Abfrageergebnismenge ab s n Artikel
((Datensatz 1), (Datensatz 2))
5. cur.fetchall() Alle Datensätze abrufen
ORM: orm (Object Relation Mapping Object Relational Mapping) Definition: Ordnen Sie das Objektmodell der MySQL-Datenbank zu
SQL-Befehl:
/var/lib/mysql
Variablen wie „autocommit“ anzeigen; Transaktion festschreiben (MySQL wird standardmäßig automatisch festgeschrieben)
rollback; Erstellen Sie eine Bibliothek
- Datenbankbibliotheksnamen-Zeichensatz erstellen utf8; Bibliothekszeichensatz anzeigen
- Datenbank auswählen(); Aktuelle Bibliothek anzeigen
Bibliotheksnamen verwenden; # aufzeichnen
in Tabellennamen einfügen (Wert 1),…; Felddaten einfügen
wählen Sie * aus Tabellenname [wobei Bedingung] ; Name Feldnamendatentyp hinzufügen ; Tabellenname Feldnamen-Datentyp zuerst hinzufügen; Name des Feldnamens ändern, neuer Datentyp;
Aus Tabellennamen löschen, wobei Bedingung
Tabellennamen aktualisieren, Feld 1 = Wert 1, Feldname 2 = Wert 2 ,... wo Bedingung Tabellendatensatz ändern (wo muss hinzugefügt werden) - Tabelle ändern Tabellenname Originalnamen ändern Neuer Name Datentyp; .Abfrage MySQL Variable
- Select Feldname aus Tabellenname Liste; Tabellenname; id int, Primärschlüssel (Feldname) ); auf
- (id int Primary Key, )auto_increment=10000; Tabellenname ändern id int auto_inkrementieren
- Tabelle ändern Tabellennamen id int ; Primärschlüssel löschen.
- Index aus Tabellenname anzeigen (Abfrageergebnisse)
- QNON_UNIQUE: 0: Der einzige Index von Unique (Abfrageergebnis)
- Ändern Sie den Namen des Außenschlüssels des Fremdschlüssels. Löschen Sie den Namen der Tabelle. Zeigen Sie den Namen des Außenschlüssels an Fremdschlüssel erstellen:
create…t1();
create table t2(…
Foreign Key (Referenzfeldname)
references main table (referenzierter Feldname)on delete cascade Action
on Kaskadenaktion aktualisieren);
Fremdschlüssel hinzufügen:Tabelle ändern, Tabellenname hinzufügen,
Fremdschlüssel (Referenzfeld) verweist auf die Haupttabelle (referenziertes Feld)
bei Löschung …
bei Aktualisierung …
Kaskadenaktion :
restrict (Standard) erlaubt der Haupttabelle nicht, die Slave-Tabelle zu bedienen
cascade: Follow delete, update
set null: Der Slave-Tabellenwert ist NULL, nachdem die Master-Tabelle geändert wurde
Interner Link:Feldnamen aus Tabelle 1 auswählen
Inner-Join-Tabelle 2 unter Bedingung
Inner-Join-Tabelle 3 unter Bedingung...;
Externer Link:Abfrageergebnisse basierend auf der linken Tabelle anzeigen
Feldname aus Tabelle 1f auswählen LEFT JOIN Tabelle 2 ON-Bedingungen
LEFT JOIN Tabelle 3 ON-Bedingung ...;
Rechter LinkTabelle, um Abfrageergebnisse in der rechten Tabelle anzuzeigen
Datenimport:
Daten in Datei „Dateiname“ laden
in Tabelle Tabellenname
Felder, die mit „Trennzeichen“ abgeschlossen sindZeilen, die mit „n“ abgeschlossen sind;
Datenexport:wählen … aus Tabellenname
in Ausgabedatei " /var/lib/mysql-files/file name"Felder enden mit „Trennzeichen“
Zeilen enden mit „n“;
Datenwiederherstellung:Eine einzelne Bibliothek wiederherstellen
mysql -uroot - p < ; Zieldatenbankname xxx.sqlEine bestimmte Datenbank aus allen Datenbanksicherungen wiederherstellen (-one-database)
Mysql -uroot -p –one-database Zieldatenbankname < xxx.sql
Wiederherstellen: Tabelle löschen, überschreiben Tabellendatensätze löschen
Datensicherung:mysqldump -u user -p Quelldatenbankname> ~/xxx.sql–all-databases Alle Datenbanken sichern
Bibliotheksname Eine einzelne Datenbank sichern
- B Bibliothek 1 Bibliothek 2.. Mehrere Bibliotheken sichern
Bibliotheksnamenstabelle 1 Tabelle 2... Die angegebene Bibliothekstabelle sichern
Laufzeiterkennung:
Öffnen: Profilierung festlegen=1;
Schließen: Profilierung festlegen= 0; Abfrageausführungsdatensatz: Profilierungen anzeigen;
SQL-Abfrage:3.select … Aggregatfunktion aus Tabellenname
1.wo
2.group by…
4.have …
5 .sortieren nach …
6.limit …;
Abfrageverschachtelung:select … from table name where condition (select ….); A select name, gongji from sanguo
where
(country, gongji) in
(Land auswählen, max (gongji) aus Sanguo gruppieren nach Land); Gruppieren nach: Gruppieren Sie die Abfrageergebnisse
unterscheiden: Keine wiederholten Feldwerte anzeigen
Anzeigen von Suchmaschinen;
show Tabelle Tabellenname erstellen; Tabelle Tabellenname erstellen(...)engine=myisam:InnoDB-Funktionen (2 Dateien):
Sperren auf Zeilenebene, Unterstützung für Fremdschlüssel, Transaktionsoperationen
.frm (Tabellenstruktur, Index), .ibd (Tabellendatensätze)
MyISAM:
MyISAM-Funktionen ( 3 Dateien): { :
Sperre auf Tabellenebene: myisam
Sperre auf Zeilenebene: innodb
Optimierung:
1. Wählen Sie die entsprechende Speicher-Engine aus
3. Vermeiden Sie die Verwendung von != , NULL-Urteil oder Link,
wie führendes %, in, nicht in, * anstelle von Feldern,
Datentyp:
Datentyp: int Datentyp: Vorzeichenbehaftet (Standardeinstellung mit Vorzeichen): -128 ~ 127
Punkte (4 Bytes, 7. signifikant Ziffern)
Feldname float (m, n) m: Gesamtzahl der Ziffern n: Anzahl der Dezimalstellen
decimal Gleitkommazahl (28 signifikante Ziffern)
-- . Zahl n: Anzahl der Dezimalstellen
Vielfache von 9 in 4 Bytes packen Rest Bytes
1
3-4 2
5-6 3
7-9 4
Feldname Aufzählung (Wert 1, Wert 2…); durch Zahlen getrennt)
Datum: „JJJJ-MM-TT“
Uhrzeit: „HH:MM:SS“
DatumUhrzeit: „JJJJ-MM-TT HH:MM: SS“
Zeitstempel: „JJJJ -MM-TT HH:MM:SS“
Datumszeit: Gibt standardmäßig Null zurück, wenn kein Wert angegeben ist
Zeitstempel: Gibt standardmäßig die Systemzeit zurück, wenn kein Wert angegeben ist
Zeitfunktion
now() llll out to avg (field name): Ermitteln Sie den Durchschnittswert des Felds
sum (field name): sum
max (Feldname): Maximalwert
min (Feldname): Minimalwert
count (Feldname): Anzahl der Felder zählen
Operator: + – * / %
Zeitoperator
select * aus Tabellenname
wobei Feldname-Operator (Zeitintervall-Zeitintervalleinheit): 1 Tag |. 2Jahre | ; <=
Zeichenvergleich: = !=
Logischer Vergleich: und oder
Vergleich innerhalb des Bereichs:
1.wo Feldname zwischen Wert 1 und Wert 2 liegt
2.wo Feldname in (Wert 1, Wert 2,….)
3.wo Feldname nicht in (Wert 1, Wert 2,...)
Leer: wobei der Name null ist
Nicht leer: wobei der Name nicht null ist
NILL: Nullwert, kann nur mit is oder is not abgeglichen werden
"": leere Zeichenfolge, verwenden = oder != zum Abgleichen
Fuzzy-Vergleich:
wobei Feldname wie Ausdruck
Ausdruck
_ : Übereinstimmung mit einem einzelnen Zeichen
%: Übereinstimmung mit 0 mit mehreren Zeichen
NULL wird nicht gezählt
Sortierung: Reihenfolge von ASC |. DESC
Anzeige: Begrenzung der Startanzeigeposition, Anzahl der Elemente
Anzeige von n Datensätzen pro Seite, Anzeigeseite m:
Begrenzung (m-1)*n, n
MySQL interagiert mit Python
# mysqlpython.py # 导入mysql模块 from pymysql import * class MysqlPython: def __init__(self, database, # 库 host="127.0.0.1", # ip地址 user="root", # 用户名 password="123456", # 密码 port=3306, # 端口 charset="utf8"): # 字符集 self.host = host self.database = database self.user = user self.password = password self.port = port self.charset = charset def open(self): # 创建数据库链接函数 self.db = connect(host=self.host, database=self.database, user=self.user, password=self.password, port=self.port, charset=self.charset) self.cur = self.db.cursor() # 创建游标对象 def close(self): # 创建断开数据库链接 关闭游标函数 self.cur.close() self.db.close() def zhixing(self, sql, L=[]): # 创建pymysql.execute() 方法函数 try: self.open() # 链接数据库 self.cur.execute(sql, L) # 参数化执行SQL命令 self.db.commit() # 提交数据 print("ok") except Exception as e: self.db.rollback() # 出错取消提交 print("Failed", e) self.close() # 断开数据库链接 关闭游标 def all(self, sql, L=[]): try: self.open() self.cur.execute(sql, L) result = self.cur.fetchall() return result except Exception as e: print("Failed", e) self.close()
Datenbankbenutzeranmeldung
from mysqlpython import Mysqlpython from hashlib import sha1 uname = input("请输入用户名:") pwd = input("请输入密码:") # 用sha1给pwd加密 s1 = sha1() # 创建sha1加密对象 s1.update(pwd.encode("utf8")) # 指定编码 pwd2 = s1.hexdigest() # 返回16进制加密结果 sqlh = Mysqlpython("db4") select = "select password from user where username=%s;" result = sqlh.all(select, [uname]) # print(result) # (('7c4a8d09ca3762af61e59520943dc26494f8941b',),) if len(result) == 0: print("用户名不存在") elif result[0][0] == pwd2: print("登录成功") else: print("密码错误")
ORM sqlalchemy Framework
# 创建一张表 # 连接数据库的模块 from sqlalchemy import create_engine fromsqlalchemy.ext.declarative import declarative_base from sqlalchemy import Column, Integer ,String engine = create_engine("mysql+pymysql://root:123456@localhost/db4", encoding="utf8") Base = declarative_base() # orm基类 class User(Base): # 继承Base基类 __tablename__ = "t123" id =Column(Integer, primary_key=True) name = Column(String(20)) address = Column(String(40))Base.metadata.create_all (engine)
Das obige ist der detaillierte Inhalt vonPython-Full-Stack-Einführung in die MySQL-Datenbank. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



MySQL ist für Anfänger geeignet, da es einfach zu installieren, leistungsfähig und einfach zu verwalten ist. 1. Einfache Installation und Konfiguration, geeignet für eine Vielzahl von Betriebssystemen. 2. Unterstützung grundlegender Vorgänge wie Erstellen von Datenbanken und Tabellen, Einfügen, Abfragen, Aktualisieren und Löschen von Daten. 3. Bereitstellung fortgeschrittener Funktionen wie Join Operations und Unterabfragen. 4. Die Leistung kann durch Indexierung, Abfrageoptimierung und Tabellenpartitionierung verbessert werden. 5. Backup-, Wiederherstellungs- und Sicherheitsmaßnahmen unterstützen, um die Datensicherheit und -konsistenz zu gewährleisten.

Navicat selbst speichert das Datenbankkennwort nicht und kann das verschlüsselte Passwort nur abrufen. Lösung: 1. Überprüfen Sie den Passwort -Manager. 2. Überprüfen Sie Navicats "Messnot Password" -Funktion; 3.. Setzen Sie das Datenbankkennwort zurück; 4. Kontaktieren Sie den Datenbankadministrator.

Erstellen Sie eine Datenbank mit Navicat Premium: Stellen Sie eine Verbindung zum Datenbankserver her und geben Sie die Verbindungsparameter ein. Klicken Sie mit der rechten Maustaste auf den Server und wählen Sie Datenbank erstellen. Geben Sie den Namen der neuen Datenbank und den angegebenen Zeichensatz und die angegebene Kollektion ein. Stellen Sie eine Verbindung zur neuen Datenbank her und erstellen Sie die Tabelle im Objektbrowser. Klicken Sie mit der rechten Maustaste auf die Tabelle und wählen Sie Daten einfügen, um die Daten einzufügen.

Durch das Kopieren einer Tabelle in MySQL müssen neue Tabellen erstellt, Daten eingefügt, Fremdschlüssel festgelegt, Indizes, Auslöser, gespeicherte Verfahren und Funktionen kopiert werden. Zu den spezifischen Schritten gehören: Erstellen einer neuen Tabelle mit derselben Struktur. Fügen Sie Daten aus der ursprünglichen Tabelle in eine neue Tabelle ein. Legen Sie die gleiche fremde Schlüsselbeschränkung fest (wenn die Originaltabelle eine hat). Erstellen Sie den gleichen Index. Erstellen Sie denselben Auslöser (wenn die ursprüngliche Tabelle eine hat). Erstellen Sie dieselbe gespeicherte Prozedur oder Funktion (wenn die ursprüngliche Tabelle verwendet wird).

Navicat für MariADB kann das Datenbankkennwort nicht direkt anzeigen, da das Passwort in verschlüsselter Form gespeichert ist. Um die Datenbanksicherheit zu gewährleisten, gibt es drei Möglichkeiten, Ihr Passwort zurückzusetzen: Setzen Sie Ihr Passwort über Navicat zurück und legen Sie ein komplexes Kennwort fest. Zeigen Sie die Konfigurationsdatei an (nicht empfohlen, ein hohes Risiko). Verwenden Sie Systembefehlsleitungs -Tools (nicht empfohlen, Sie müssen die Befehlszeilen -Tools beherrschen).

MySQL ist ein Open Source Relational Database Management System. 1) Datenbank und Tabellen erstellen: Verwenden Sie die Befehle erstellte und creatEtable. 2) Grundlegende Vorgänge: Einfügen, aktualisieren, löschen und auswählen. 3) Fortgeschrittene Operationen: Join-, Unterabfrage- und Transaktionsverarbeitung. 4) Debugging -Fähigkeiten: Syntax, Datentyp und Berechtigungen überprüfen. 5) Optimierungsvorschläge: Verwenden Sie Indizes, vermeiden Sie ausgewählt* und verwenden Sie Transaktionen.

Häufige Gründe, warum Navicat keine Verbindung zur Datenbank und ihren Lösungen herstellen kann: 1. Überprüfen Sie den laufenden Status des Servers. 2. Überprüfen Sie die Verbindungsinformationen; 3. Passen Sie die Firewall -Einstellungen ein; 4. Konfigurieren Sie den Remote -Zugriff; 5. Fehlerbehebung mit Netzwerkproblemen; 6. Berechtigungen überprüfen; 7. Sicherheitskompatibilität sicherstellen; 8. Fehlerbehebung bei anderen Möglichkeiten.

Schritte zur Durchführung von SQL in Navicat: Verbindung zur Datenbank herstellen. Erstellen Sie ein SQL -Editorfenster. Schreiben Sie SQL -Abfragen oder Skripte. Klicken Sie auf die Schaltfläche Ausführen, um eine Abfrage oder ein Skript auszuführen. Zeigen Sie die Ergebnisse an (wenn die Abfrage ausgeführt wird).
