Website-Suche

Grundlegende MySQL-Datenbankverwaltungsbefehle – Teil I


Datenbank ist ein strukturierter Satz elektronisch gespeicherter Daten. Das Konzept der Datenbank war unseren Vorfahren schon bekannt, als es noch keine Computer gab, allerdings war die Erstellung und Pflege einer solchen Datenbank eine sehr mühsame Aufgabe. Wenn Sie in einer manuellen Datenbank von beispielsweise 100 Seiten nach allen Mitarbeitern suchen müssten, deren Gehalt weniger als 10.000 betrug, denken Sie nur daran, wie schwierig das gewesen wäre .

In der heutigen Welt kann man der Datenbank einfach nicht entkommen. Derzeit arbeiten Millionen von Datenbanken auf der ganzen Welt daran, Daten jeglicher Art zu speichern und abzurufen, sei es strategische Daten, Mitarbeiterdaten oder Webtechnologien.

Die Datenbank wird oft als Back-End-Prozess bezeichnet, da sie weder für den Endbenutzer sichtbar ist noch Endbenutzer direkt mit der Datenbank interagiert. Sie arbeiten an Front-End-Prozessen, nämlich PHP, VB, ASP.NET usw. und bitten das Front-End, sich um die Datenbank zu kümmern im Backend.

Es stehen mehrere Datenbankserver und -clients zur Verfügung, darunter Oracle, MySQL, MySQLi, MariaDB, MongoDB usw. Die Syntax aller davon ist mehr oder weniger weniger das Gleiche. Eines davon zu beherrschen bedeutet, die meisten davon unter Kontrolle zu bekommen, und das Erlernen der Abfragen einer Datenbank ist sehr einfach und macht Spaß.

Beginnen wir mit einfachen Abfragen der Datenbank. Wir werden MySQL verwenden, das standardmäßig mit den meisten Linux-Distributionen geliefert wird. Sie können es manuell aus dem Repository installieren, wenn es in Ihrem Fall nicht standardmäßig installiert ist.

Nun, eine Datenbankabfrage ist ein einfacher Code, der an die Datenbank gesendet wird, um je nach Bedarf benutzerdefinierte und verfeinerte Ergebnisse zu erhalten.

Installieren Sie die MySQL-Datenbank

Verwenden Sie den Paketmanager „yum“ oder „apt“, um die MySQL-Datenbank zu installieren.

yum install mysql mysql-client mysql-server  (on Yum based Systems)

apt-get install mysql mysql-client mysql-server (on Apt based Systems)
Starten Sie MySQL

Starten Sie den MySQL-Datenbankdienst als:

service mysqld start
or
service mysql start

Wenn Sie eine MySQL-Datenbank installieren, gelangen Sie zur Konfiguration, in der Sie aufgefordert werden, ein Administrator-Passwort usw. einzurichten. Sobald die Installation und der Start des Servers abgeschlossen sind, gehen Sie zu Ihrem MySQL Eingabeaufforderung.

mysql -u root -p

Ersetzen Sie root durch Ihren konfigurierten Benutzernamen und geben Sie bei Aufforderung Passwort ein. Wenn die Anmeldeinformationen korrekt sind, gelangen Sie zu Ihrem MySQL< Aufforderung im Handumdrehen.

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 195 

Server version: 5.5.31-0+wheezy1 (Debian) 

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. 

Oracle is a registered trademark of Oracle Corporation and/or its affiliates. 
Other names may be trademarks of their respective owners. 

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

Nun ist das Ausführen von Abfragen an dieser Eingabeaufforderung sehr lehrreich und macht Spaß.

Erstellen Sie eine Datenbank tecmint
mysql> create database tecmint ;
Query OK, 1 row affected (0.02 sec) 

mysql>

Hinweis: Es wird gemeldet, dass die Abfrage korrekt war, was bedeutet, dass die Datenbank erstellt wurde. Sie können Ihre neu erstellte Datenbank überprüfen als.

mysql> show databases; 
+--------------------+
| Database           | 
+--------------------+ 
| information_schema | 
| mysql              | 
| performance_schema | 
| tecmint            | 
| test               | 
+--------------------+ 
9 rows in set (0.00 sec) 
mysql>

Hinweis: Beachten Sie Ihre Datenbank in der obigen Ausgabe.

Wählen Sie Datenbank aus

Jetzt müssen Sie die Datenbank auswählen, mit der Sie arbeiten möchten.

mysql> use tecmint;
Database changed
mysql>
Erstellen Sie Tabellen in MySQL

Hier erstellen wir eine Tabelle mit dem Namen „minttec“ mit drei Feldern:

mysql> CREATE TABLE minttec (
    -> id Int(3), 
    -> first_name Varchar (15), 
    -> email Varchar(20) 
    -> ); 
Query OK, 0 rows affected (0.08 sec) 
mysql>

Hinweis: Die obige Abfrage lautet OK, was bedeutet, dass die Tabelle ohne Fehler erstellt wurde. Um die Tabelle zu überprüfen, führen Sie die folgende Abfrage aus.

mysql> show tables; 
+-------------------+ 
| Tables_in_tecmint | 
+-------------------+ 
| minttec           | 
+-------------------+ 

1 row in set (0.00 sec) 

mysql>

Bis jetzt läuft alles gut. Jawohl! Sie können die von Ihnen erstellten Spalten in der Tabelle „minttec“ wie folgt anzeigen:

mysql> show columns from minttec; 

+------------+-------------+------+-----+---------+-------+ 
| Field      | Type        | Null | Key | Default | Extra | 
+------------+-------------+------+-----+---------+-------+ 
| id         | int(3)      | YES  |     | NULL    |       | 
| first_name | varchar(15) | YES  |     | NULL    |       | 
| email      | varchar(20) | YES  |     | NULL    |       | 
+------------+-------------+------+-----+---------+-------+ 
3 rows in set (0.00 sec)

mysql>

Es war nichts weniger als eine Magie. Wie dem auch sei, ich werde Ihnen die Arten der Deklaration und ihre Bedeutung erläutern.

  1. Int ist eine Ganzzahl
  2. Varchar ist ein Zeichen mit variabler Länge wie definiert. Der Wert hinter Typ ist die Länge des Feldes, bis zu der Daten gespeichert werden können.

OK, jetzt müssen wir nach der Spalte „Vorname“ eine Spalte mit der Bezeichnung „last_name“ hinzufügen.

mysql> ALTER TABLE minttec ADD last_name varchar (20) AFTER first_name; 
Query OK, 0 rows affected (0.16 sec)
Records: 0  Duplicates: 0  Warnings: 0

Überprüfen Sie es nun in Ihrer Tabelle.

mysql> show columns from minttec; 

+------------+-------------+------+-----+---------+-------+ 
| Field      | Type        | Null | Key | Default | Extra | 
+------------+-------------+------+-----+---------+-------+ 
| id         | int(3)      | YES  |     | NULL    |       | 
| first_name | varchar(15) | YES  |     | NULL    |       | 
| last_name  | varchar(20) | YES  |     | NULL    |       | 
| email      | varchar(20) | YES  |     | NULL    |       | 
+------------+-------------+------+-----+---------+-------+ 

4 rows in set (0.00 sec) 

mysql>
Spalte in MySQL hinzufügen

Jetzt fügen wir rechts eine Spalte hinzu, beispielsweise eine Spalte „Land“ rechts von E-Mail.

mysql> ALTER TABLE minttec ADD country varchar (15) AFTER email; 
Query OK, 0 rows affected (0.16 sec) 
Records: 0  Duplicates: 0  Warnings: 0 

mysql>

Überprüfen Sie die obige Abfrage zum Einfügen von Spalten.

mysql> show columns from minttec; 

+------------+-------------+------+-----+---------+-------+ 
| Field      | Type        | Null | Key | Default | Extra | 
+------------+-------------+------+-----+---------+-------+
| id         | int(3)      | YES  |     | NULL    |       | 
| first_name | varchar(15) | YES  |     | NULL    |       | 
| last_name  | varchar(20) | YES  |     | NULL    |       | 
| email      | varchar(20) | YES  |     | NULL    |       | 
| country    | varchar(15) | YES  |     | NULL    |       | 
+------------+-------------+------+-----+---------+-------+
5 rows in set (0.00 sec) 

mysql>
Werte in Feld einfügen

Wie sieht es mit dem Einfügen von Werten in das Feld aus?

mysql> INSERT INTO minttec VALUES ('1' , 'Ravi' , 'Saive' , '[email ' , 'India' );
Query OK, 1 row affected (0.02 sec) 

mysql>

Wie wäre es, wenn Sie mehr als 1 Wert gleichzeitig in die obige Tabelle einfügen würden?

mysql> INSERT INTO minttec VALUES ('2' , 'Narad' , 'Shrestha' , '[email ' , 'India' ), ('3' , 'user' , 'singh' , '[email ' , 'Aus' ), ('4' , 'tecmint' , '[dot]com' , '[email ' , 'India' );
Query OK, 3 rows affected (0.05 sec) 
Records: 3  Duplicates: 0  Warnings: 0

Überprüfen Sie die obige Einfügung.

mysql> select * from minttec; 
+------+------------+-----------+-------------------+---------+ 
| id   | first_name | last_name | email             | country | 
+------+------------+-----------+-------------------+---------+ 
|    1 | Ravi	    | Saive     | [email  | India   | 
|    2 | Narad      | Shrestha  | [email      | India   | 
|    3 | user       | singh     | [email       | Aus     | 
|    4 | tecmint    | [dot]com  | [email  | India   | 
+------+------------+-----------+-------------------+---------+ 

4 rows in set (0.00 sec)

mysql>
Werte im Feld löschen

Nehmen wir an, der dritte Eintrag in der obigen Ausgabe ist ungültig und wir müssen den dritten Eintrag löschen.

mysql> DELETE FROM minttec WHERE id = 3;

Query OK, 1 row affected (0.02 sec)

Überprüfen Sie den obigen Vorgang.

mysql> select * from minttec;

+------+------------+-----------+-------------------+---------+ 
| id   | first_name | last_name | email             | country | 
+------+------------+-----------+-------------------+---------+
|    1 | Ravi       | Saive     | [email  | India   | 
|    2 | Narad      | Shrestha  | [email      | India   | 
|    4 | tecmint    | [dot]com  | [email  | India   | 
+------+------------+-----------+-------------------+---------+
3 rows in set (0.00 sec)
Werte im Feld aktualisieren

Die ID (=4) muss bearbeitet werden.

mysql> UPDATE minttec SET id = 3 WHERE first_name = 'tecmint'; 
Query OK, 1 row affected (0.02 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql>

Überprüfen Sie die obige Abfrage.

mysql> UPDATE minttec SET id = 3 WHERE first_name = 'tecmint'; 
Query OK, 1 row affected (0.02 sec) 
Rows matched: 1  Changed: 1  Warnings: 0

mysql>

Hinweis: Die oben durchgeführte Abfrage ist keine gute Idee. Die ID wird in „4“ geändert, sofern der Vorname „tecmint“ ist. Es ist immer eine gute Idee, mehr als eine Spalte mit der where-Klausel zu verwenden, um minimale Fehler zu erhalten, wie zum Beispiel:

mysql> UPDATE minttec SET id = 6 WHERE first_name = 'tecmint'AND last_name = '[dot]com'; 
Query OK, 1 row affected (0.03 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql>
Spalte in MySQL löschen

Wir müssen eine Spalte löschen (löschen), von der wir denken, dass sie nicht wichtig ist. Sagen Sie hier „Land“.

mysql> ALTER TABLE minttec drop country; 
Query OK, 3 rows affected (0.15 sec)
Records: 3  Duplicates: 0  Warnings: 0

mysql>

Überprüfen Sie die Tabelle.

mysql> select * from minttec; 

+------+------------+-----------+-------------------+ 
| id   | first_name | last_name | email             | 
+------+------------+-----------+-------------------+ 
|    1 | Ravi       | Saive     | [email  | 
|    2 | Narad      | Shrestha  | [email      | 
|    6 | tecmint    | [dot]com  | [email  | 
+------+------------+-----------+-------------------+
3 rows in set (0.00 sec) 

mysql>
Tabelle in MySQL umbenennen

Denken Sie nicht, dass unser Tischname „minttec“ nicht sehr relevant ist? Wie wäre es, wenn Sie es in tecmint_table ändern?

mysql> RENAME TABLE minttec TO tecmint_table; 
Query OK, 0 rows affected (0.03 sec)

mysql>
Listen Sie alle Tabellen auf

Sehen Sie sich alle Tabellen unter der aktuellen Datenbank an.

mysql> show tables; 

+-------------------+ 
| Tables_in_tecmint | 
+-------------------+ 
| tecmint_table     | 
+-------------------+
1 row in set (0.00 sec) 

mysql>

Die Tabelle wurde umbenannt. Erstellen Sie nun ein Backup der oben genannten MySQL-Datenbank mit einer einzigen Befehlszeile und ohne ein ausgeklügeltes Tool. Führen Sie den folgenden Code auf Ihrem Terminal und nicht an der MySQL-Eingabeaufforderung aus.

mysqldump -u root -p tecmint > tecmint.sql

check the dumped file on your desktop which would have contents something like
-- MySQL dump 10.13  Distrib 5.5.31, for debian-linux-gnu (i686) --
-- Server version 5.5.31-0+wheezy1 -- 
Dump completed on 2013-09-02 12:55:37

Es ist immer eine gute Idee, Backups von MySQL-Datenbanken durchzuführen. Das Wiederherstellen der gesicherten MySQL-Daten ist wiederum eine einfache Codezeile, die Sie an Ihrer Terminal-Eingabeaufforderung und nicht an Ihrer MySQL-Eingabeaufforderung ausführen müssen.

Aber warten Sie zunächst, wir löschen die Datenbank, um zu überprüfen, ob unsere Wiederherstellung perfekt ist.

Löschen Sie eine Datenbank
mysql> drop database tecmint; 
Query OK, 1 row affected (0.02 sec)

Suchen Sie auf Ihrem Datenbankserver nach der Datenbank „tecmint“.

mysql> show databases; 

+--------------------+ 
| Database           | 
+--------------------+ 
| information_schema | 
| my_database        | 
| mysql              | 
| performance_schema | 
| phpmyadmin         | 
| sisso              | 
| test               | 
+--------------------+

7 rows in set (0.00 sec) 
mysql>

Großartig! Die Datenbank ist verloren, aber wir brauchen uns keine Sorgen zu machen, wir haben das Backup.

Stellen Sie eine Datenbank wieder her

Führen Sie den folgenden Befehl aus, um eine verlorene Datenbank wiederherzustellen.

mysql -u root -p tecmint < tecmint.sql
Enter password:
ERROR 1049 (42000): Unknown database 'tecmint'

OOPS! Ein Fehler, hey, wir haben die Datenbank tecmint nicht erstellt. Gehen Sie also zu Ihrer MySQL-Eingabeaufforderung und erstellen Sie eine Datenbank „tecmint“.

mysql> create database tecmint; 
Query OK, 1 row affected (0.00 sec) 

mysql>

Jetzt ist es an der Zeit, den Wiederherstellungsbefehl an Ihrer Shell-Eingabeaufforderung auszuführen (ausschließlich).

mysql -u root -p tecmint < tecmint.sql 
Enter password:

Überprüfen Sie Ihre Datenbank.

mysql> show databases; 

+--------------------+ 
| Database           | 
+--------------------+ 
| information_schema | 
| mysql              | 
| performance_schema | 
| tecmint            | 
| test               | 
+--------------------+ 
8 rows in set (0.00 sec)

Überprüfen Sie den Inhalt der Datenbank.

mysql> show tables from tecmint;

+-------------------+ 
| Tables_in_tecmint | 
+-------------------+ 
| tecmint_table     | 
+-------------------+ 
1 row in set (0.00 sec)

mysql>

Überprüfen Sie den Inhalt Ihrer wiederhergestellten Tabelle.

mysql> select * from tecmint_table; 

+------+------------+-----------+-------------------+ 
| id   | first_name | last_name | email             | 
+------+------------+-----------+-------------------+ 
|    1 | Ravi       | Saive     | [email  | 
|    2 | Narad      | Shrestha  | [email      | 
|    6 | tecmint    | [dot]com  | [email  | 
+------+------------+-----------+-------------------+

3 rows in set (0.00 sec)

Dies ist definitiv nicht das Ende, wir werden uns mit dem Konzept von Primärschlüssel, Fremdschlüssel, mehreren Tabellen und Ausführen von Abfragen befassen. mithilfe eines einfachen PHP-Skripts im nächsten Teil des Artikels.

Vergessen Sie nicht, uns mitzuteilen, wie Sie sich beim Durchlesen des Artikels gefühlt haben. Ihre Kommentare werden sehr geschätzt. Bleiben Sie gesund und auf dem Laufenden, bleiben Sie mit Tecmint in Verbindung.