Begeben Sie sich auf Ihre MySQL-Reise

WBOY
Freigeben: 2023-09-02 14:10:02
Original
1373 Leute haben es durchsucht

Trotz des Aufkommens moderner NoSQL-Datenbanken wie MongoDB, Firebase und Redis in den letzten Jahren sind SQL-Datenbanken bei Entwicklern nach wie vor äußerst beliebt.

SQL (Structured Query Language) ist eine Sprache, die für die Interaktion mit Daten in einer Vielzahl von Datenbanken verwendet wird, einschließlich beliebter Datenbanken wie MySQL, PostgreSQL, Oracle und MS SQL Server.

In diesem Artikel erfahren Sie alles, was Sie wissen müssen, um mit MySQL zu beginnen, der Open-Source-Datenbank, die Content-Management-Systeme wie WordPress, E-Commerce-Plattformen wie Shopify und Social-Media-Plattformen wie Twitter unterstützt.

Sie erfahren, wie MySQL funktioniert, relationale Datenbanken und einige ihrer Schlüsselkonzepte, wie Sie eine MySQL-Datenbank über die Befehlszeile installieren und mit ihr interagieren sowie moderne SQL-Syntax zum Erstellen, Lesen, Aktualisieren und Löschen von Daten in MySQL.

Erfahren Sie mehr über Object Relational Mapper (ORM)

Die meisten Entwickler, die mit relationalen Datenbanken arbeiten, schreiben eigentlich kein Roh-SQL. Häufiger verwenden sie Bibliotheken, die eine objektrelationale Zuordnung (ORM) durchführen.

Diese Bibliotheken lassen Ihre Datenbanktabellen im Grunde wie Objekte auf der Serverseite Ihrer Site aussehen, sodass Sie die Daten problemlos mit jeder objektorientierten Programmiersprache Ihrer Wahl bearbeiten können.

Beispiele für ORMs sind Sequelize (JavaScript), Eloquent (Laravel), SQLAlchemy (Python) und Active Record (Ruby on Rails).

ORM macht das Schreiben von rohem SQL-Code überflüssig. Stattdessen können Sie Ihre Kenntnisse der objektorientierten Programmierung nutzen, um Daten in einer SQL-Datenbank zu erstellen, zu lesen, zu aktualisieren und zu löschen. ORM macht die Verwendung relationaler Datenbanken einfacher und intuitiver.

Relationales Datenbankverwaltungssystem (RDMS)

Im Wesentlichen besteht ein relationales Datenbankverwaltungssystem aus zwei Hauptkomponenten: einer Datenbank und einer Abfragesprache.

Die Datenbank selbst ist nur eine Sammlung von Tabellen. In jeder Tabelle sind Ihre tatsächlichen Daten wie in einer Tabellenkalkulation in Spalten und Zeilen organisiert. Tabellen in einer relationalen Datenbank können basierend auf den für jede Tabelle gemeinsamen Daten verknüpft oder in Beziehung gesetzt werden.

Die Abfragesprache wird zum Bearbeiten und Lesen von Daten in der Datenbank verwendet. Bei den meisten relationalen Datenbanken ist die zur Datenbearbeitung verwendete Abfragesprache eine Variante von SQL.

Einige Schlüsselkonzepte in SQL-Datenbanken

Wenn Sie lernen möchten, wie man MySQL verwendet, müssen wir zunächst einige Grundkonzepte verstehen. Um die folgenden SQL-Datenbankkonzepte visuell zu erklären, verwende ich ein Datenbankvisualisierungstool namens DrawSQL. Zunächst lernen wir Schema und Datentypen kennen.

Schema und Datentypen

Sie können sich ein Schema als eine Blaupause vorstellen, die die Gesamtstruktur einer Tabelle und ihre Beziehung zu anderen Tabellen definiert.

Betrachten Sie beispielsweise das Schema der folgenden Benutzer-Tabelle:

踏上您的 MySQL 之旅
Benutzertabelle

Im Tabellendiagramm oben werden Sie feststellen, dass jede Zeile ein Wörterbuch ist, in dem die Schlüssel die Spalten in der Datenbank darstellen und die Werte die Datentypen darstellen, die darin gespeichert werden können.

Es gibt mehrere Datentypen in MySQL und verschiedene SQL-Datenbanken haben unterschiedliche Datentypen.

Sie werden auch feststellen, dass id 键前面也有一个键。这表明 id, das ganzzahlige Werte akzeptiert, mithilfe einer Primärschlüsseleinschränkung definiert wird.

Der Wert von id in jeder Spalte darf also nicht leer sein und muss eindeutig sein. Daher können zwei oder mehr Benutzer niemals denselben Primärschlüssel verwenden und jede Zeile kann anhand ihres Primärschlüssels identifiziert werden.

Diese Regeln bilden zusammen die Struktur der Benutzer-Tabelle.

Werfen wir einen genaueren Blick auf die Einschränkungen in der MySQL-Datenbank.

Einschränkungen

Wir haben zuvor die Primärschlüsseleinschränkung gesehen, die sicherstellt, dass der Wert eines angegebenen Schlüssels für jede Spalte in der Tabelle eindeutig ist.

In MySQL sind Einschränkungen Regeln, die die Speicherung der in einer Tabelle gespeicherten Werte zulassen oder einschränken. Sie tragen dazu bei, die Art der Daten zu begrenzen, die in die Tabelle eingefügt werden, und stellen so die Genauigkeit und Vollständigkeit der Daten in der Tabelle sicher.

Die folgenden Einschränkungen werden häufig in MySQL verwendet:

  • NOT NULL: Stellen Sie sicher, dass Spalten keine NULL-Werte haben dürfen
  • UNIQUE: Stellen Sie sicher, dass sich alle Werte in der Spalte voneinander unterscheiden
  • 主键: Kombination aus NOT NULL und UNIQUE – identifiziert jede Zeile in der Tabelle eindeutig
  • 外键: Wird verwendet, um zwei Tabellen miteinander zu verbinden
  • CREATE INDEX: Wird zum schnellen Erstellen von Datenbanken und zum Abrufen von Daten aus Datenbanken verwendet
  • CHECK: Stellen Sie sicher, dass die Werte in der Spalte die angegebenen Bedingungen erfüllen
  • DEFAULT: Wenn kein Wert angegeben ist, legen Sie einen Standardwert für die Spalte fest

Datenbanknormalisierung

Um mehr Kontext hinzuzufügen, gehen wir davon aus, dass die Tabelle „Benutzer“ zum Speichern registrierter Benutzer auf einer Online-Shopping-Website verwendet wird.

Normalerweise muss eine Online-Shopping-Website eine Tabelle „Produkt“ und eine Tabelle „Warenkorb“ in ihrer Datenbank haben. Die Produkte enthalten alle für den Benutzer verfügbaren Produkte und der Warenkorb enthält die spezifischen Artikel, die der bestimmte Benutzer kaufen möchte, sowie die Menge jedes Artikels. p> Alle bisher erstellten Tabellen lauten wie folgt:

Alle diese Tabellen sind einzigartige Einheiten. Das bedeutet zum Beispiel, dass in der Tabelle

carts踏上您的 MySQL 之旅 keine Informationen über den Benutzer gespeichert werden müssen.

Technisch gesehen hindert uns nichts daran, die Warenkorbdaten in der Tabelle „Benutzer“ zusammenzuführen. Schließlich hängen beide Informationen zusammen (der Benutzer hat einen Warenkorb). Dieser Ansatz führt jedoch letztendlich zu einem überfüllten Tisch, der nur sehr schwer zu bewältigen ist. Stattdessen haben wir einen nachhaltigeren Ansatz gewählt und eine separate

Warenkorbtabelle

erstellt, in der alle Warenkorbdaten gespeichert werden. Anschließend erstellen wir einen Verweis auf die andere Tabelle, indem wir den Fremdschlüssel in der Tabelle carts

platzieren.

Auf diese Weise kann der Warenkorb auf alle Informationen über den Benutzer, dem der Warenkorb gehört, und die im Warenkorb enthaltenen Produkte zugreifen, obwohl solche Informationen tatsächlich nicht darin gespeichert sind. user_idproduct_id

Diese Methode zum Kombinieren und Verknüpfen von Tabellen in einer relationalen Datenbank wird

Normalisierung

genannt. Ich habe in diesem Artikel nur die Grundlagen der Normalisierung angesprochen – wenn Sie ein Datenbankschema für eine Webanwendung entwerfen, lohnt es sich, mehr über Normalisierung zu lesen.
Installieren Sie MySQL und lernen Sie die Verwendung kennen
Da wir nun ein umfassenderes Verständnis von MySQL und MySQL Server haben, üben wir, indem wir MySQL auf unserem System installieren.
Um MySQL auf Ihrem System zu installieren, gehen Sie zur MySQL-Community-Downloadseite und laden Sie das MySQL-Installationsprogramm herunter.

Nachdem der Download abgeschlossen ist, führen Sie das Installationsprogramm aus und schließen Sie den Installationsassistenten ab, um MySQL zu installieren.

Achten Sie bei der Auswahl des Installationstyps darauf, das MySQL-Serverprodukt einzubeziehen. Ich empfehle die Verwendung der Option

Entwicklerstandard

.

Während des Einrichtungsprozesses für die ersten Schritte mit MySQL werden Sie aufgefordert, einen Benutzernamen und ein Passwort zu erstellen. Merken Sie sich diese unbedingt, da Sie sie später für die Verbindung zur Datenbank benötigen.

Nach erfolgreicher Installation sollten Sie über die Befehlszeile auf MySQL-Serverbefehle zugreifen können. Um MySQL jedoch über die Befehlszeile verwenden zu können, müssen Sie sich zunächst authentifizieren. Führen Sie den folgenden Befehl aus und füllen Sie den Platzhalter mit Ihrem Benutzernamen aus:
mysql -u <your username> -p
Nach dem Login kopieren
Sie werden zur Eingabe Ihres Administratorkennworts aufgefordert. Wenn beide Angaben korrekt sind, erhalten Sie über die Befehlszeile Zugriff auf MySQL.

Bitte denken Sie daran, dass der Standardbenutzername für MySQL

root

ist und das Standardkennwort leer ist.

Wie geht MySQL mit allgemeinen SQL-Operationen um?

MySQL-Server und -Datenbank erstellen Um eine Datenbank in MySQL zu erstellen, verwenden wir die Anweisung

gefolgt vom Datenbanknamen:

CREATE DATABASE shopping_site;
Nach dem Login kopieren
Eine

-Anweisung ist Code, der das System anweist, etwas zu tun. SQL-Anweisungen enden immer mit einem Semikolon. Großgeschriebene Wörter sind reservierte SQL-Schlüsselwörter und SQL interpretiert sie, um bestimmte Operationen auszuführen.

Durch Ausführen des obigen Befehls wird in MySQL eine leere Datenbank mit dem Namen

shopping_siteCREATE DATABASE erstellt.

Um alle in einer MySQL-Instanz vorhandenen Datenbanken anzuzeigen, führen Sie

aus.

Tabelle in der Datenbank erstellen

Um eine Tabelle in einer neuen Datenbank zu erstellen, verwenden Sie die Anweisung

, gefolgt vom Tabellennamen und Klammern, die die Liste der Spalten enthalten, die wir in diese Tabelle aufnehmen möchten: SHOW DATABASE

CREATE TABLE users(
    id INT PRIMARY KEY AUTO_INCREMENT,
    first_name VARCHAR(255),
    last_name VARCHAR(255),
    email VARCHAR(255) UNIQUE NOT NULL,
    password VARCHAR(255),
    created_at TIMESTAMP,
    updated_at TIMESTAMP
);
Nach dem Login kopieren

Für jede Spalte in

Benutzer

geben wir den Datentyp dieser Spalte an. Wir haben außerdem eine Reihe von Einschränkungen zu den Spalten

idCREATE TABLE und

email

hinzugefügt. Durch Ausführen dieses Befehls wird eine leere, aber strukturierte Tabelle mit dem Namen „Benutzer“ in der Datenbank erstellt. Neuen Datensatz in der Tabelle erstellen Um einen neuen Datensatz in einer Tabelle zu erstellen, verwenden Sie die Anweisung

, gefolgt von der Tabelle, in die der Wert eingefügt werden soll:

INSERT INTO users(first_name, last_name, email, password)
VALUES(
    'Kingsley',
    'Ubah',
    'ubahthebuilder@gmail.com',
    '12345678'
);
Nach dem Login kopieren
In der ersten Klammer geben wir die Spalte an, in die wir den Wert einfügen möchten. Anschließend geben wir in der zweiten Klammer die einzufügenden Werte in der richtigen Reihenfolge an.

Durch Ausführen dieses Befehls werden diese Werte in die angegebenen Spalten in der Tabelle „Benutzer“ eingefügt.

INSERT INTO

Da wir das Feld

id

auf automatische Erhöhung einstellen, wird dieser Wert automatisch hinzugefügt. Darüber hinaus wird der Zeitstempel automatisch von MySQL generiert, sodass wir ihn nicht selbst angeben müssen.

从表中读取

要从数据库查询数据,请使用 SELECT 语句。

例如,如果我们想从 users 表中选择所有内容,我们可以使用以下语句:

SELECT * FROM users;
Nach dem Login kopieren

星号 (*) 代表我们数据库中的所有内容。该语句将返回整个表以及每一列。

如果我们只需要列的子集,例如 idemail,我们可以指定列来代替星号:

SELECT id, email FROM users;
Nach dem Login kopieren

在选择数据方面,我们的能力是无限的。

删除表格

要从 MySQL 中完全删除表,请使用 DROP 语句,后跟表名称:

DROP TABLE users;
Nach dem Login kopieren

现在,使用此命令时需要小心!它将永久删除users表中的所有数据。另外,不要将其与 DROP DATABASE 语句混淆,该语句会删除整个数据库。

就是这样!现在您知道如何使用 MySQL!

MySQL 是一个开源关系数据库管理系统,即使在今天,它仍然为网络的重要部分提供支持。结构化查询语言或 SQL 用于在 MySQL 数据库中操作和存储数据。

在这篇文章中,我们回顾了 SQL 的一些关键概念,包括 ORM、模式、约束和数据库规范化。我们还回顾了 MySQL 的安装和设置过程。

最后,我们介绍了一些负责在 MySQL 中操作数据的 SQL 语句。

Das obige ist der detaillierte Inhalt vonBegeben Sie sich auf Ihre MySQL-Reise. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage