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.
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.
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.
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.
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:
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.
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 verbindenCREATE INDEX
: Wird zum schnellen Erstellen von Datenbanken und zum Abrufen von Daten aus Datenbanken verwendetCHECK
: 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 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 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
Warenkorbtabelleerstellt, 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_id
和 product_id
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.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.
Bitte denken Sie daran, dass der Standardbenutzername für MySQL
rootist 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;
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 );
idCREATE TABLE
und
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' );
INSERT INTO
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.
要从数据库查询数据,请使用 例如,如果我们想从 users 表中选择所有内容,我们可以使用以下语句: 星号 ( 如果我们只需要列的子集,例如 id 和 email,我们可以指定列来代替星号: 在选择数据方面,我们的能力是无限的。 要从 MySQL 中完全删除表,请使用 现在,使用此命令时需要小心!它将永久删除users表中的所有数据。另外,不要将其与 MySQL 是一个开源关系数据库管理系统,即使在今天,它仍然为网络的重要部分提供支持。结构化查询语言或 SQL 用于在 MySQL 数据库中操作和存储数据。 在这篇文章中,我们回顾了 SQL 的一些关键概念,包括 ORM、模式、约束和数据库规范化。我们还回顾了 MySQL 的安装和设置过程。 最后,我们介绍了一些负责在 MySQL 中操作数据的 SQL 语句。从表中读取
SELECT
语句。 SELECT * FROM users;
*
) 代表我们数据库中的所有内容。该语句将返回整个表以及每一列。SELECT id, email FROM users;
删除表格
DROP
语句,后跟表名称:DROP TABLE users;
DROP DATABASE
语句混淆,该语句会删除整个数据库。 就是这样!现在您知道如何使用 MySQL!
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!