Heim > Datenbank > MySQL-Tutorial > Hauptteil

Terminalverwaltung der MySQL-Datenbank auf dem Mac

php是最好的语言
Freigeben: 2018-08-07 11:42:01
Original
1745 Leute haben es durchsucht

Öffnen Sie das Terminal und geben Sie den folgenden Befehl ein:

/usr/local/MySQL/bin/mysql -u root -p
Nach dem Login kopieren

wobei root der Benutzername ist.

Der folgende Befehl wird angezeigt:

Enter password:
Nach dem Login kopieren

Wenn Sie Ihr Passwort zu diesem Zeitpunkt noch nicht geändert haben, drücken Sie einfach die Eingabetaste. Andernfalls geben Sie Ihr Passwort ein.
Dadurch erhalten Sie Zugriff auf Ihren Datenbankserver.


1. Betrieb und Verwaltung

Grundlagen der Datentabelle

Datenbankverwaltung

1.1 Datenbank erstellen

create database firstDB;
Nach dem Login kopieren

1.2 show Alle Datenbanken anzeigen

mysql> show databases;+--------------------+| Database           |
+--------------------+| information_schema |
| firstDB            |
| mysql              |
| performance_schema |+--------------------+rows in set (0.00 sec)
Nach dem Login kopieren

1.3 alter changes Database

alter command ändert die Datenbankkodierung:

Die standardmäßig erstellte Datenbank unterstützt standardmäßig keine chinesischen Schriftzeichen. Wenn wir sie zur Unterstützung chinesischer Schriftzeichen benötigen, stellen Sie ihre Codierung auf das UTF8-Format ein:

mysql> ALTER DATABASE testDB CHARACTER SET UTF8;Query OK, 1 row affected (0.00 sec)
Nach dem Login kopieren

1.4 verwenden Sie die Datenbank

mysql> use firstDB;
Database changed
Nach dem Login kopieren

1.5 Die aktuell verwendete Datenbank anzeigen

mysql> select database();
+------------+| database() |
+------------+| firstdb    |
+------------+1 row in set (0.00 sec)
Nach dem Login kopieren

1.6 Datenbank löschen

mysql> drop database firstDB;
Query OK, 0 rows affected (0.00 sec)
Nach dem Login kopieren

2. Datentabellenverwaltung

Wir erstellen zunächst eine Datenbank für unsere zukünftige Verwendung:

mysql> create database testDB;Query OK, 1 row affected (0.00 sec)
Nach dem Login kopieren

Denken Sie nach der Erstellung daran, den Befehl „use“ zum Aufrufen (Verwenden) der Datenbank zu verwenden, da nachfolgende Vorgänge sonst erfolglos bleiben.

2.1 erstellen Tabelle erstellen

mysql> create table PEOPLE (
    -> ID int AUTO_INCREMENT PRIMARY KEY,    -> NAME varchar(20) not null,    -> AGE int not null,    -> BIRTHDAY datetime);                                                     
Query OK, 0 rows affected (0.01 sec)
Nach dem Login kopieren

2.2 Anzeigetabelle anzeigen

Alle Datentabellen in der aktuellen Datenbank anzeigen

mysql> show tables;
+------------------+| Tables_in_testdb |
+------------------+| PEOPLE           |
+------------------+1 row in set (0.00 sec)
Nach dem Login kopieren

2.3 desc Tabellenstruktur anzeigen

mysql> desc PEOPLE    -> ;
+----------+-------------+------+-----+---------+----------------+| Field    | Type        | Null | Key | Default | Extra          |
+----------+-------------+------+-----+---------+----------------+| ID       | int(11)     | NO   | PRI | NULL    | auto_increment |
| NAME     | varchar(20) | NO   |     | NULL    |                |
| AGE      | int(11)     | NO   |     | NULL    |                |
| BIRTHDAY | datetime    | YES  |     | NULL    |                |
+----------+-------------+------+-----+---------+----------------+
4 rows in set (0.01 sec)
Nach dem Login kopieren

2.4 alter Tabellenstruktur ändern (hinzufügen, löschen, ändern)
Die standardmäßig erstellte Tabelle tut dies nicht unterstützt chinesische Schriftzeichen, daher muss die Tabellenkodierung auf utf8 eingestellt werden:

mysql> ALTER TABLE KEYCHAIN CONVERT TO CHARACTER SET UTF8;
Query OK, 1 row affected (0.02 sec)
Records: 1  Duplicates: 0  Warnings: 0
Nach dem Login kopieren

2.4.1 Einfügen Spalten (Felder) in der Tabelle hinzufügen

mysql> alter table PEOPLE add star BOOL;Query OK, 0 rows affected (0.02 sec)Records: 0  Duplicates: 0  Warnings: 0
Nach dem Login kopieren

Tipps: In MySQL werden boolesche Typen automatisch in tinyint(1)-Typen konvertiert.

Wir könnten genauso gut desc verwenden, um die Struktur der PEOPLE-Tabelle zu überprüfen:

mysql> desc PEOPLE;
+----------+-------------+------+-----+---------+----------------+| Field    | Type        | Null | Key | Default | Extra          |
+----------+-------------+------+-----+---------+----------------+| ID       | int(11)     | NO   | PRI | NULL    | auto_increment |
| NAME     | varchar(20) | NO   |     | NULL    |                |
| AGE      | int(11)     | NO   |     | NULL    |                |
| BIRTHDAY | datetime    | YES  |     | NULL    |                |
| star     | tinyint(1)  | YES  |     | NULL    |                |
+----------+-------------+------+-----+---------+----------------+
5 rows in set (0.00 sec)
Nach dem Login kopieren

Nun, Sie sollten mir glauben, oder?

2.4.2 alter Tabellenfelder (Spaltenfelder) ändern

mysql> alter table PEOPLE MODIFY star int;Query OK, 0 rows affected (0.01 sec)Records: 0  Duplicates: 0  Warnings: 0
Nach dem Login kopieren

Sie können auch die Länge von int(n) angeben, z. B. int (2) .

Wir verwenden erneut desc, um die Struktur der PEOPLE-Tabelle anzuzeigen:

mysql> desc PEOPLE;
+----------+-------------+------+-----+---------+----------------+| Field    | Type        | Null | Key | Default | Extra          |
+----------+-------------+------+-----+---------+----------------+| ID       | int(11)     | NO   | PRI | NULL    | auto_increment |
| NAME     | varchar(20) | NO   |     | NULL    |                |
| AGE      | int(11)     | NO   |     | NULL    |                |
| BIRTHDAY | datetime    | YES  |     | NULL    |                |
| star     | int(11)     | YES  |     | NULL    |                |
+----------+-------------+------+-----+---------+----------------+
5 rows in set (0.00 sec)
Nach dem Login kopieren

2.4.3 delete delete table (column) field

mysql> alter table PEOPLE DROP column star;Query OK, 0 rows affected (0.02 sec)Records: 0  Duplicates: 0  Warnings: 0
Nach dem Login kopieren

Überprüfen Sie nach dem Löschen noch einmal die Tabellenstruktur PEOPLE:

mysql> desc PEOPLE;
+----------+-------------+------+-----+---------+----------------+| Field    | Type        | Null | Key | Default | Extra          |
+----------+-------------+------+-----+---------+----------------+| ID       | int(11)     | NO   | PRI | NULL    | auto_increment |
| NAME     | varchar(20) | NO   |     | NULL    |                |
| AGE      | int(11)     | NO   |     | NULL    |                |
| BIRTHDAY | datetime    | YES  |     | NULL    |                |
+----------+-------------+------+-----+---------+----------------+
4 rows in set (0.00 sec)
Nach dem Login kopieren

Das Feld wurde erfolgreich gelöscht und jetzt können wir das Sternfeld nicht mehr sehen.

2.4.4 umbenennen, Tabellennamen umbenennen

mysql> RENAME TABLE PEOPLE TO NEW_PEOPLE;
Query OK, 0 rows affected (0.00 sec)
Nach dem Login kopieren

2.4.5 null oder nicht null
Ändern Sie das Tabellenfeld, um das Leeren zuzulassen oder zu verbieten:

mysql> ALTER TABLE PEOPLE MODIFY AGE INT(3) NULL;
Query OK, 0 rows affected (0.01 sec)Records: 0  Duplicates: 0  Warnings: 0
Nach dem Login kopieren

Setzen Sie das AGE-Feld der PEOPLE-Tabelle auf „Leer sein lassen“, d. h., dieses Feld muss beim Einfügen nicht eingegeben werden Aufzeichnungen. Ansonsten ist das Gegenteil der Fall.
Das Format lautet: ALTER TABLE MODIFY

mysql> create table newTable select * from PEOPLE;
Query OK, 0 rows affected (0.01 sec)
Records: 0  Duplicates: 0  Warnings: 0
Nach dem Login kopieren

Überprüfen wir die Tabellen, die derzeit in der Datenbank vorhanden sind:

mysql> show tables;
+------------------+| Tables_in_testdb |
+------------------+| PEOPLE           || newTable         |
+------------------+2 rows in set (0.00 sec)
Nach dem Login kopieren

3. Datenoperation und -verwaltung

Dieser Vorgang, Einschließlich Hinzufügen, Löschen, Ändern und Überprüfen von Daten.
Die folgenden Befehle wirken sich alle auf die PEOPLE-Tabelle aus.

3.1 Daten hinzufügen (erhöhen)
Die PEOPLE-Tabelle enthält derzeit keine Daten. Es handelt sich um eine leere Datentabelle.
In den Befehl einfügen, um Daten hinzuzufügen:

mysql> insert into PEOPLE VALUES (null, 'Anny', 22, '1992-05-22');
Query OK, 1 row affected (0.00 sec)
Nach dem Login kopieren

Verwenden Sie den Befehl select, um die Tabelle anzuzeigen (wird später vorgestellt). Jetzt sehen wir uns die Daten der PEOPLE-Datentabelle an:

mysql> select * from PEOPLE;
+----+------+-----+---------------------+| ID | NAME | AGE | BIRTHDAY            |
+----+------+-----+---------------------+|  1 | Anny |  22 | 1992-05-22 00:00:00 |
+----+------+-----+---------------------+1 row in set (0.00 sec)
Nach dem Login kopieren

Die Datentabelle enthält jetzt ein Datenelement.

Fügen wir noch ein paar Daten hinzu, wie zum Beispiel:

mysql> select * from PEOPLE;
+----+--------+-----+---------------------+| ID | NAME   | AGE | BIRTHDAY            |
+----+--------+-----+---------------------+|  1 | Anny   |  22 | 1992-05-22 00:00:00 |
|  2 | Garvey |  23 | 1991-05-22 00:00:00 |
|  3 | Lisa   |  25 | 1989-05-22 00:00:00 |
|  4 | Nick   |  24 | 1990-05-22 00:00:00 ||  5 | Rick   |  24 | 1991-05-22 00:00:00 |
+----+--------+-----+---------------------+5 rows in set (0.00 sec)
Nach dem Login kopieren

3.2 Daten löschen (delete)

delete-Befehl zum Löschen von Daten:

mysql> delete from PEOPLE where name = 'Lisa';
Query OK, 1 row affected (0.01 sec)
Nach dem Login kopieren

Fragen Sie die PEOPLE-Tabelle erneut ab:

mysql> select * from PEOPLE;
+----+--------+-----+---------------------+| ID | NAME   | AGE | BIRTHDAY            |
+----+--------+-----+---------------------+|  1 | Anny   |  22 | 1992-05-22 00:00:00 |
|  2 | Garvey |  23 | 1991-05-22 00:00:00 |
|  4 | Nick   |  24 | 1990-05-22 00:00:00 ||  5 | Rick   |  24 | 1991-05-22 00:00:00 |
+----+--------+-----+---------------------+4 rows in set (0.00 sec)
Nach dem Login kopieren

Die Daten mit dem Namen „Lisa“ sind nicht mehr sichtbar.

3.3 Daten ändern (Ändern)

Aktualisierungsbefehl zum Ändern von Daten:

mysql> update PEOPLE set name='Calvin' where name = 'Garvey';
Query OK, 1 row affected (0.00 sec)Rows matched: 1  Changed: 1  Warnings: 0
Nach dem Login kopieren

Fragen Sie den Inhalt der PEOPLE-Tabelle ab:

mysql> select * from PEOPLE;
+----+--------+-----+---------------------+| ID | NAME   | AGE | BIRTHDAY            |
+----+--------+-----+---------------------+|  1 | Anny   |  22 | 1992-05-22 00:00:00 |
|  2 | Calvin |  23 | 1991-05-22 00:00:00 |
|  4 | Nick   |  24 | 1990-05-22 00:00:00 ||  5 | Rick   |  24 | 1991-05-22 00:00:00 |
+----+--------+-----+---------------------+4 rows in set (0.00 sec)
Nach dem Login kopieren
Nach dem Login kopieren

benannt Der Eintrag für „Garvey“ wurde in „Calvin“ geändert.

3.4 Daten abfragen (überprüfen)

Befehl zum Abfragen von Daten auswählen Am einfachsten ist es, alle Daten in der Tabelle abzufragen. Dies ist der Befehl, den wir ursprünglich verwendet haben:

mysql> select * from PEOPLE;
+----+--------+-----+---------------------+| ID | NAME   | AGE | BIRTHDAY            |
+----+--------+-----+---------------------+|  1 | Anny   |  22 | 1992-05-22 00:00:00 |
|  2 | Calvin |  23 | 1991-05-22 00:00:00 |
|  4 | Nick   |  24 | 1990-05-22 00:00:00 ||  5 | Rick   |  24 | 1991-05-22 00:00:00 |
+----+--------+-----+---------------------+4 rows in set (0.00 sec)
Nach dem Login kopieren
Nach dem Login kopieren

Format: Wählen Sie * aus aus, * steht für alle Felder.

Sie können bei der Datenabfrage auch die angezeigten (Spalten-)Felder angeben:

mysql> select NAME, AGE, BIRTHDAY from PEOPLE;
+--------+-----+---------------------+| NAME   | AGE | BIRTHDAY            |
+--------+-----+---------------------+| Anny   |  22 | 1992-05-22 00:00:00 |
| Calvin |  23 | 1991-05-22 00:00:00 |
| Nick   |  24 | 1990-05-22 00:00:00 || Rick   |  24 | 1991-05-22 00:00:00 |
+--------+-----+---------------------+4 rows in set (0.00 sec)
Nach dem Login kopieren

Format: Wählen Sie aus .

Der Befehl „select query“ bietet auch viele erweiterte Verwendungsmöglichkeiten, z. B. das Suchen nach eindeutigen Daten (distinct), das Sortieren von Daten nach Bedingungen (order by), das Anzeigen von Daten nach Abfragebedingungen (where) usw. Diese werden im nächsten Artikel hervorgehoben. Bitte beachten Sie meinen Blog.

4. Ansichten verwalten

4.1 Ansichten erstellen

Eine Ansicht ist eine virtuelle Tabelle, die zur Vereinfachung eine oder mehrere Tabellen aus der Datenbank exportiert Operationen an Daten.

mysql> CREATE VIEW PEOPLE_VIEW (
    -> NAME, AGE)
    -> AS SELECT NAME, AGE FROM PEOPLE;
Nach dem Login kopieren

Sehen Sie sich die Ansicht nach erfolgreicher Erstellung an.

PEOPLE          PEOPLE.AGE      PEOPLE.BIRTHDAY PEOPLE.ID       PEOPLE.NAME    mysql> SELECT * FROM PEOPLE_VIEW
    -> ;+--------+-----+
| NAME   | AGE |
+--------+-----+
| Anny   |  22 |
| Calvin |  23 |
| Nick   |  24 |
| Rick   |  24 |
+--------+-----+4 rows in set (0.00 sec)
Nach dem Login kopieren

Wir können auch den DESC-Befehl verwenden, um die Struktur der Ansicht anzuzeigen.

mysql> DESC PEOPLE_VIEW;
+-------+---------+------+-----+---------+-------+| Field | Type    | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+| ID    | int(11) | NO   |     | 0       |       |
+-------+---------+------+-----+---------+-------+1 row in set (0.01 sec)
Nach dem Login kopieren

4.2 Ansicht ersetzen

Erstellen oder ersetzen Sie die ursprüngliche Ansicht.

mysql> CREATE OR REPLACE VIEW PEOPLE_VIEW(PEOPLE_ID,PEOPLE_NAME,PEOPLE_AGE) AS SELECT ID,NAME,AGE FROM PEOPLE;
Query OK, 0 rows affected (0.00 sec)
Nach dem Login kopieren

Ansicht nach Erstellung oder Ersetzung anzeigen.

mysql> SELECT * FROM PEOPLE_VIEW;
+-----------+-------------+------------+| PEOPLE_ID | PEOPLE_NAME | PEOPLE_AGE |
+-----------+-------------+------------+|         1 | Anny        |         22 |
|         2 | Calvin      |         23 |
|         4 | Nick        |         24 ||         5 | Rick        |         24 |
+-----------+-------------+------------+4 rows in set (0.00 sec)
Nach dem Login kopieren

4.3 Betriebsansichten

Wenn sich die Ansichtsdaten ändern (Hinzufügen, Löschen, Ändern), ändern sich auch die tatsächlichen Tabellendaten. Mit anderen Worten: Die Operation für die Ansicht sind die Daten der Tabelle, sodass wir die Ansicht als Tabelle behandeln können.

Beispiel: Fügen Sie ein Datenelement in die Ansicht ein.

mysql> INSERT INTO PEOPLE_VIEW VALUES(NULL, 'Kerry', '33');
Query OK, 1 row affected (0.00 sec)
Nach dem Login kopieren

Sehen Sie sich die Ansicht nach dem erfolgreichen Einfügen von Daten an.

mysql> SELECT * FROM PEOPLE_VIEW ;
+-----------+-------------+------------+| PEOPLE_ID | PEOPLE_NAME | PEOPLE_AGE |
+-----------+-------------+------------+|         1 | Anny        |         22 |
|         2 | Calvin      |         23 |
|         4 | Nick        |         24 |
|         5 | Rick        |         24 ||         6 | Kerry       |         33 |
+-----------+-------------+------------+5 rows in set (0.00 sec)
Nach dem Login kopieren

可以在视图上看到我们刚刚插入的数据,现在我们就来验证一下真实的表是否也会作出变化。

mysql> SELECT * FROM PEOPLE;
+----+--------+-----+---------------------+| ID | NAME   | AGE | BIRTHDAY            |
+----+--------+-----+---------------------+|  1 | Anny   |  22 | 1992-05-22 00:00:00 |
|  2 | Calvin |  23 | 1991-05-22 00:00:00 |
|  4 | Nick   |  24 | 1990-05-22 00:00:00 |
|  5 | Rick   |  24 | 1991-05-22 00:00:00 ||  6 | Kerry  |  33 | NULL                |
+----+--------+-----+---------------------+5 rows in set (0.00 sec)
Nach dem Login kopieren

可见,真实的表数据也已经有所改变,刚刚往视图里插入的那一条数据存在于真实表中,真理便是:对视图的操作就是对表的数据。

4.4 删除视图

mysql> DROP VIEW PEOPLE_VIEW;Query OK, 0 rows affected (0.00 sec)
Nach dem Login kopieren

相关推荐:

mac使用终端运行mysql,mysql终端,mysql mac,mysql目录,mysql路径,macmysql

mac使用终端运行mysql,mysql终端,mysql mac,mysql目录,mysql路径

Das obige ist der detaillierte Inhalt vonTerminalverwaltung der MySQL-Datenbank auf dem Mac. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
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