Heim  >  Artikel  >  php教程  >  MySQL-Befehlsliste

MySQL-Befehlsliste

高洛峰
高洛峰Original
2016-12-14 10:13:241122Durchsuche

1. Stellen Sie eine Verbindung zu MySQL her

Format: MySQL -h Hostadresse -u Benutzername -p Benutzerkennwort

1. Stellen Sie eine Verbindung zu MYSQL auf diesem Computer her.
Öffnen Sie zunächst ein DOS-Fenster, geben Sie dann das Verzeichnis mysqlbin ein und geben Sie dann den Befehl mysql -u root -p ein. Nachdem Sie die Eingabetaste gedrückt haben, werden Sie aufgefordert, Ihr Passwort einzugeben Leerzeichen davor, aber vor dem Passwort dürfen keine Leerzeichen stehen, andernfalls können Sie Ihr Passwort erneut eingeben.

Wenn MYSQL gerade erst installiert wurde, hat der Superuser Root kein Passwort, also drücken Sie einfach die Eingabetaste, um MYSQL einzugeben.

2. Mit MYSQL verbinden der Remote-Host. Angenommen, die IP des Remote-Hosts lautet 110.110.110.110, der Benutzername lautet root und das Kennwort lautet abcd123. Geben Sie dann den folgenden Befehl ein:
mysql -h110.110.110.110 -u root -p 123; (Hinweis: Es ist nicht erforderlich, ein Leerzeichen zwischen u und root einzufügen, und das Gleiche gilt für andere)

3. Beenden Sie den MYSQL-Befehl: Exit (Enter)

2. Passwort ändern

Format: mysqladmin -u Benutzername -p altes Passwort Passwort neues Passwort

1. Fügen Sie dem Root ein Passwort ab12 hinzu.
Geben Sie zuerst das Verzeichnis mysqlbin unter DOS ein und geben Sie dann den folgenden Befehl ein:
mysqladmin -u root -password ab12
Hinweis: Da root am Anfang kein Passwort hat, kann das Element -p altes Passwort dies tun weggelassen werden.

2. Ändern Sie das Root-Passwort in djg345.
mysqladmin -u root -p ab12 passwort djg345

3. Einen neuen Benutzer hinzufügen

Hinweis: Im Gegensatz zu den oben genannten handelt es sich bei den folgenden Befehlen um Befehle in der MYSQL-Umgebung, daher folgen sie ein Semikolon als Befehlsabschlusszeichen

Format: Gewähren Sie select on data.* dem durch „Passwort“ identifizierten Benutzernamen@Login-Host

1. Fügen Sie einen Benutzer test1 mit dem Passwort abc hinzu, damit er sich anmelden kann auf jedem Host und verfügen über Abfrage-, Einfüge-, Änderungs- und Löschberechtigungen für alle Datenbanken. Stellen Sie zunächst als Root-Benutzer eine Verbindung zu MYSQL her und geben Sie dann den folgenden Befehl ein:
grant select,insert,update,delete on *.* to [email=test1@“%]test1@“%[/email]“ Identified durch „abc ";

Aber das Hinzufügen weiterer Benutzer ist sehr gefährlich. Wenn jemand das Passwort von test1 kennt, kann er sich auf jedem Computer im Internet bei Ihrer MySQL-Datenbank anmelden und auf Ihre Daten zugreifen. Das können Sie tun Was auch immer Sie wollen, siehe Lösung 2.

2. Fügen Sie einen Benutzer test2 mit dem Passwort abc hinzu, sodass er sich nur bei localhost anmelden und die Datenbank mydb (localhost) abfragen, einfügen, ändern und löschen kann bezieht sich auf den lokalen Host, also auf den Host, auf dem sich die MySQL-Datenbank befindet. Auf diese Weise kann der Benutzer, selbst wenn er das Passwort von test2 kennt, nicht direkt über das Internet auf die Datenbank zugreifen, sondern nur über das Web Seite auf dem MYSQL-Host
. gewähren Sie select,insert,update,delete auf mydb.* an [email=test2@localhost]test2@localhost[/email], gekennzeichnet durch „abc“;

Wenn Sie Wenn Sie nicht möchten, dass test2 ein Passwort hat, können Sie einen anderen Befehl zum Löschen des Passworts eingeben.
grant select,insert,update,delete on mydb.* to [email=test2@localhost]test2@localhost[/email ] gekennzeichnet durch „“;

4.1 Datenbank erstellen

Hinweis: Sie müssen zuerst eine Verbindung zum MySQL-Server herstellen, bevor Sie die Datenbank erstellen

Befehl: Datenbank erstellen


Beispiel 1: Einen Namen für die Datenbank von xhkdb erstellen
mysql>
③SET PASSWORD FOR 'database name'@'localhost' = OLD_PASSWORD('password');

Führen Sie 3 Befehle nacheinander aus, um die Datenbankerstellung abzuschließen. Hinweis: Chinesisches „Passwort“ und „Datenbank“ müssen vom Benutzer selbst festgelegt werden.

4.2 Datenbanken anzeigen

Befehl: Datenbanken anzeigen (Hinweis: am Ende steht ein s)
mysql> Verstümmelte Zeichen länger anzeigen, um die Standardkodierung der Datenbank zu ändern. Im Folgenden wird die GBK-Codierungsseite als Beispiel verwendet:

1. Ändern Sie die MYSQL-Konfigurationsdatei: Ändern Sie default-character-set=gbk in my.ini
2. Ändern Sie, wenn der Code ausgeführt wird:
①Java-Code: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=gbk
②PHP-Code: header("Content-Type:text/html;charset=gb2312");

③C-Sprache Code: int mysql_set_character_set(MYSQL * mysql, char * csname);

Diese Funktion wird verwendet, um den Standardzeichensatz für die aktuelle Verbindung festzulegen. Die Zeichenfolge csname gibt einen gültigen Zeichensatznamen an. Die verkettete Sortierung wird zur Standardsortierung für den Zeichensatz. Diese Funktion funktioniert ähnlich wie die SET NAMES-Anweisung, legt jedoch auch den Wert von mysql- > fest und wirkt sich dadurch auf den von mysql_real_escape_string() festgelegten Zeichensatz aus.

4.3 Datenbank löschen

Befehl: Datenbank löschen
Zum Beispiel: Datenbank mit dem Namen xhkdb löschen
mysql> Datenbank löschen xhkdb;
Abfrage OK, 0 Zeilen betroffen ( 0,00 Sek.)

Beispiel 2: Löschen Sie eine Datenbank, deren Existenz nicht sicher ist
mysql> drop_database;
FEHLER 1008 (HY000): Datenbank „drop_database“ kann nicht gelöscht werden 't exist
//Es ist ein Fehler aufgetreten, die Datenbank „drop_database“ kann nicht gelöscht werden, die Datenbank existiert nicht.
mysql> Datenbank löschen, falls vorhanden, drop_database;
Abfrage OK, 0 Zeilen betroffen, 1 Warnung (0,00 Sek.)//Eine Warnung generieren, die darauf hinweist, dass diese Datenbank nicht vorhanden ist
mysql> Datenbank drop_database erstellen;
Abfrage OK, 1 Zeile betroffen (0,00 Sek.)
mysql> Datenbank löschen, wenn vorhanden drop_database;//Wenn vorhanden, wird bestimmt, ob die Datenbank vorhanden ist. Wenn sie nicht vorhanden ist, wird kein Fehler generiert.
Abfrage OK, 0 Zeilen betroffen (0,00 Sek.)

4.4 Mit der Datenbank verbinden

Befehl: verwenden

Zum Beispiel: Wenn die xhkdb-Datenbank vorhanden ist, versuchen Sie, darauf zuzugreifen:

mysql> use xhkdb;
Bildschirmaufforderung: Datenbank geändert

use-Anweisung kann MySQL benachrichtigen, die Datenbank db_name als Standarddatenbank (aktuell) für nachfolgende Anweisungen zu verwenden. Die Datenbank bleibt bis zum Ende des Segments oder bis eine andere USE-Anweisung ausgegeben wird:
mysql>
SELECT COUNT(*) FROM mytable
mysql> USE db2;
SELECT COUNT(*) FROM mytable; # wählt aus db2.mytable aus

Verwenden Sie die USE-Anweisung, um eine bestimmte aktuelle Datenbank zu markieren, ohne Ihren Zugriff zu blockieren Datenbanken. Das folgende Beispiel kann auf die Autorentabelle aus der Datenbank db1 und die Bearbeitungstabelle aus der Datenbank db2 zugreifen:
mysql>
mysql> ; WHERE author .editor_id = db2.editor.editor_id;

USE-Anweisung ist für die Kompatibilität mit Sybase eingerichtet.

Einige Internetnutzer fragten, wie sie nach dem Herstellen der Verbindung beenden können. Tatsächlich müssen Sie die Datenbank nicht beenden, indem Sie „Datenbanken anzeigen“ verwenden, um alle Datenbanken abzufragen. Wenn Sie zu anderen Datenbanken springen möchten, verwenden Sie einfach
andere Datenbanknamen verwenden
.

4.5 Aktuell ausgewählte Datenbank

Befehl: mysql> select Database();

Der SELECT-Befehl in MySQL ähnelt dem Drucken oder Schreiben in anderen Programmiersprachen. Sie können ihn verwenden, um die Ergebnisse einer Zeichenfolge, einer Zahl oder einer Mathematik anzuzeigen Ausdruck usw. Wie nutzt man die Sonderfunktionen des SELECT-Befehls in MySQL?

1. Die Version von MYSQL anzeigen
mysql> +
|. version()
+-------+
| 🎜 >+--------+
1 Zeile im Satz (0,02 Sek.)

2
mysql> select now();
+------+
|. -------------------------------- --- --------+
1 Zeile im Satz (0,04 Sek.)

3. Jahr, Monat und Tag anzeigen
SELECT DAYOFMONTH(CURRENT_DATE);
+ ----- ------+
|. DAYOFMONTH(CURRENT_DATE) |. ----- ---------+
|. 15 |. --+
1 Zeile im Satz (0,01 Sek.)

SELECT MONTH(CURRENT_DATE
+-------------------); ------+
|. MONAT(AKTUELLES_DATUM) | >+------ --------------+
1 Zeile im Satz (0,00 Sek.)

SELECT YEAR(CURRENT_DATE); +-------- ------------+
| -----+
|.
+----------+
1 Reihe im Satz (0,00 Sek.)

4. Anzeigezeichenfolge
mysql> ----+
|. Willkommen auf meinem Blog!
+------+
|. |.
+-------- --------------+
1 Reihe im Satz (0,00 Sek.)

5 Verwenden Sie im Rechner
select ((4 * 4) / 10 ) + 25;-------+
| ((4 * 4) / 10 ) + 25 | ---------------- -----+
1 Zeile im Satz (0,00 Sek.)

6. Zeichenfolgen verketten
select CONCAT(f_name , " ", l_name)
AS-Name
aus Mitarbeiterdaten
wobei Titel = 'Marketing Executive';---------------+
|.
+-----+
|. -----------+
3 Zeilen im Satz (0,00 Sek.)
Hinweis: Die Funktion CONCAT() wird hier zum Verketten von Zeichenfolgen verwendet. Darüber hinaus haben wir auch das zuvor gelernte AS verwendet, um der Ergebnisspalte „CONCAT(f_name, „“, l_name)“ ein Pseudonym zu geben.

5.1 Datentabelle erstellen

Befehl: Tabelle erstellen ( [,.. ]);

Erstellen Sie beispielsweise eine Tabelle mit dem Namen MyClass,




mysql> create table MyClass(
> id int (4 ) nicht null Primärschlüssel auto_increment,
> name char(20) not null,
> not null default '0',
> ;

5.3 Datentabelle löschen

Befehl: Tabelle löschen

Beispiel: Löschen Sie die Tabelle mit dem Namen MyClass

mysql> drop table MyClass;

DROP TABLE wird verwendet, um einen oder mehrere Tische zu stornieren. Sie müssen für jede Tabelle über die DROP-Berechtigung verfügen. Alle Tabellendaten und Tabellendefinitionen werden gelöscht. Seien Sie also vorsichtig, wenn Sie diese Anweisung verwenden!


Hinweis: Bei einer partitionierten Tabelle löscht DROP TABLE die Tabellendefinition dauerhaft, löscht jede Partition und löscht alle in diesen Partitionen gespeicherten Daten. DROP TABLE löscht auch die Partitionsdefinitionsdatei (.par), die mit der gelöschten Tabelle verknüpft ist.

Für Tabellen, die nicht vorhanden sind, verwenden Sie IF EXISTS, um Fehler zu vermeiden. Bei Verwendung von IF EXISTS wird für jede nicht vorhandene Tabelle ein HINWEIS generiert.

MySQL-BefehlslisteRESTRICT und CASCADE können die Partitionierung erleichtern. Derzeit funktionieren RESTRICT und CASCADE nicht.

5.4 Daten in Tabelle einfügen

Befehl: Einfügen in [( [,.. ])] Werte (Wert 1)[, (Wert n)]

Zum Beispiel: Fügen Sie zwei Datensätze in die Tabelle MyClass ein. Diese beiden Datensätze stellen dar: Die Punktzahl der Person namens Tom mit der Nummer 1 beträgt 96,45, die Punktzahl der Person namens Joan mit der Nummer 2 beträgt 82,99 und die Punktzahl der Person namens Wang mit der Nummer 3 Die Punktzahl betrug 96,5.
mysql> insert into MyClass effects(1,'Tom',96.45),(2,'Joan',82.99), (2,'Wang', 96.59);

Hinweis: insert into every Es kann jeweils nur ein Datensatz in die Tabelle eingefügt werden.

5.5 Daten in der Tabelle abfragen

1), alle Zeilen abfragen
Befehl: Wählen Sie aus
Zum Beispiel: Alle Daten in der Tabelle MyClass anzeigen
mysql> select * from MyClass;

2), fragen Sie die ersten Datenzeilen ab
Zum Beispiel: Tabelle anzeigen MyClass Die ersten beiden Datenzeilen
mysql> select * from MyClass order by id limit 0,2; select wird im Allgemeinen in Verbindung mit der Abfrage präziserer und komplexerer Daten verwendet.

5.6 Daten in der Tabelle löschen

Befehl: Aus Tabellenname löschen, wobei Ausdruck

Beispiel: Löschen Sie den Datensatz mit der Nummer 1 in der Tabelle MyClass
mysql> from MyClass where id=1;

Das Folgende ist ein Vergleich der Tabelle vor und nach dem Löschen von Daten.

MySQL-BefehlslisteIm Folgenden wird PHP-Code als Beispiel verwendet, um alle Datensätze mit LastName='Griffin' in der Tabelle „Personen“ zu löschen:


Hier Nach dem Löschen sieht die Tabelle so aus:
<?php 
   $con = mysql_connect("localhost","peter","abc123"); 
   if (!$con) 
   {
      die(&#39;Could not connect: &#39; . mysql_error()); 
   } 
   mysql_select_db("my_db", $con); 
   mysql_query("DELETE FROM Persons WHERE LastName=&#39;Griffin&#39;"); mysql_close($con); 
?>


MySQL-Befehlsliste5.7 Ändern Sie die Daten in der Tabelle

Syntax: Feld für Tabellennamensatz aktualisieren = neuer Wert,… wobei Bedingung

mysql> update MyClass set name='Mary' where id=1;


Beispiel 1: MySQL-UPDATE-Anweisung für eine einzelne Tabelle:
UPDATE [LOW_PRIORITY] [IGNORE] tbl_name SET col_name1= expr1 [, col_name2=expr2 ...] [WHERE where_definition] [ORDER BY ...] [LIMIT row_count]

Beispiel 2: UPDATE-Anweisung für mehrere Tabellen:
UPDATE [LOW_PRIORITY ] [IGNORE] table_references SET col_name1=expr1 [, col_name2=expr2 ...] [WHERE where_definition]

UPDATE-Syntax kann jede Spalte in der ursprünglichen Tabellenzeile mit einem neuen Wert aktualisieren. Die SET-Klausel gibt an, welche Spalten geändert und welche Werte angegeben werden sollen. Die WHERE-Klausel gibt an, welche Zeilen aktualisiert werden sollen. Wenn keine WHERE-Klausel vorhanden ist, werden alle Zeilen aktualisiert. Wenn die ORDER BY-Klausel angegeben ist, werden Zeilen in der angegebenen Reihenfolge aktualisiert. Die LIMIT-Klausel wird verwendet, um die Anzahl der Zeilen zu begrenzen, die aktualisiert werden können.

5.8 Felder hinzufügen

Befehl: Tabelle ändern, Tabellenname hinzufügen, Feldtyp hinzufügen, andere;

Zum Beispiel: Ein Feld passttest wird zur Tabelle MyClass, dem Typ, hinzugefügt ist int (4), der Standardwert ist 0

mysql> alter table MyClass add passtest int(4) default '0'

add index
alter table table name add index index name (Feldname 1[, Feldname 2...]);
Beispiel: mysql> alter table Employee add index emp_name (name);

Füge den Index des Primärschlüssels hinzu
mysql> Tabelle ändern, Tabellenname, Primärschlüssel hinzufügen (Feldname);
Beispiel: MySQL> Indexname (Feldname);
Beispiel: MySQL> Alter Table Employee Add Unique emp_name2(cardnumber);

Löschen Sie einen Index
Alter Table Table Name Drop Index Name;
Beispiel: mysql> ;Alter Table Employee Drop Index emp_name;

Fügen Sie ein Feld hinzu:
ALTER TABLE Table_name ADD Field_Name Field_Type;

Ändern Sie den ursprünglichen Feldnamen und -typ:
mysql> ALTER TABLE table_name CHANGE old_field_name new_field_name field_type;

Feld löschen:
MySQL ALTER TABLE table_name DROP field_name;

5.9 Tabellennamen ändern

Befehl: Tabelle original umbenennen Tabellenname in neuen Tabellennamen;

Zum Beispiel: Ändern Sie den Namen der Tabelle MyClass in YouClass

mysql> benennen Sie die Tabelle MyClass in YouClass um;

Wenn Sie RENAME ausführen, können Sie keine haben gesperrte Tische oder aktive Angelegenheiten. Sie müssen außerdem über die Berechtigungen ALTER und DROP für die ursprüngliche Tabelle sowie über die Berechtigungen CREATE und INSERT für die neue Tabelle verfügen.

Wenn MySQL während einer Umbenennung mehrerer Tabellen auf Fehler stößt, führt es eine Rückwärtsumbenennung für alle umbenannten Tabellen durch und stellt alles in seinen ursprünglichen Zustand zurück.

RENAME TABLE wurde in MySQL 3.23.23 hinzugefügt.

6. Datenbank sichern

Der Befehl wird im Verzeichnis [url=file://\mysql\bin]\mysql\bin[/url] von DOS ausgeführt

1. Exportieren Sie die gesamte Datenbank
Die Exportdatei wird standardmäßig im mysqlbin-Verzeichnis
mysqldump -u Benutzername-p Datenbankname> gespeichert > mysqldump -u Benutzername -p Datenbankname Tabellenname > Name der exportierten Datei
mysqldump -u Benutzername -p Datenbankname Tabellenname > 3. Exportieren Sie eine Datenbankstruktur
mysqldump -u Benutzername -p -d –add-drop-table Datenbankname > outfile_name.sql
-d Keine Daten –add-drop-table Vor jeder Erstellungsanweisung eine Drop-Tabelle hinzufügen

4
mysqldump -uroot -p –default-character-set=latin1 –set-charset=gbk –skip-opt data_name > outfile_name.sql

Sichern Sie beispielsweise die aaa-Bibliothek in der Datei back_aaa :
 [root@test1 root]# cd /home/data/mysql
 [root@test1 mysql]# mysqldump -u root -p --opt aaa > back_aaa

7.1 Eine Datenbank Erstellungsbeispiel 1 zum Erstellen einer Tabelle

Datenbank löschen, wenn Schule vorhanden ist; //Wenn SCHOOL vorhanden ist, löschen Sie sie
Datenbank erstellen SCHULE
Bibliothek verwenden SCHULE

Tabelle Lehrer erstellen //Tabelle LEHRER erstellen

(

id int(3) auto_increment not null Primary Key,

name char(10) not null,
address varchar(50) default ' Shenzhen' ,
Jahrsdatum
); //Ende der Tabellenerstellung

//Das Folgende sind die eingefügten Felder
Einfügen in Lehrerwerte(“,'allen','Dalian No . 1 Middle School','1976 -10-10′);
in Lehrerwerte einfügen(“,'jack','Dalian No. 2 Middle School','1975-12-23′);

Wenn Sie das Obige an der MySQL-Eingabeaufforderung eingeben Der Befehl ist ebenfalls möglich, aber zum Debuggen nicht praktisch.
1. Sie können den obigen Befehl so wie er ist in eine Textdatei schreiben, vorausgesetzt, es ist school.sql, kopieren Sie ihn dann nach c:\ und geben Sie das Verzeichnis im DOS-Status ein [url=file://\mysql \bin] \mysql\bin[/url] und geben Sie dann den folgenden Befehl ein:
mysql -uroot -p passwort Wenn erfolgreich, lassen Sie eine Leerzeile und es wird nichts angezeigt angezeigt; wenn ein Fehler vorliegt, wird ein Hinweis angezeigt. (Der obige Befehl wurde debuggt, Sie müssen nur den //-Kommentar entfernen, um ihn zu verwenden).

2. Oder verwenden Sie mysql> source c:\school.sql; nach Eingabe der Befehlszeile, um die Datei school.sql;



7.2 Ein Beispiel für den Aufbau einer Datenbank und einer Tabelle 2

Datenbank löschen, wenn Schule existiert; //Wenn SCHOOL existiert, löschen Sie sie
Datenbank Schule erstellen; // Bibliothek SCHOOL erstellen
Schule verwenden; //Bibliothek SCHOOL öffnen

Tabelle Lehrer erstellen //Tabelle LEHRER erstellen

(

id int(3) auto_increment not null Primary Key,

name char (10 ) not null,
address varchar(50) default ''Shenzhen'',
year date
); //Ende der Tabellenerstellung

//Die folgenden werden eingefügt Felder
in Lehrerwerte einfügen('''',''glchengang'',''Shenzhen No. 1 Middle School'',''1976-10-10'');
in Lehrerwerte einfügen( '''',''jack '',''Shenzhen No. 1 Middle School'',''1975-12-23'');

Hinweis: In der Tabelle im Aufbau
1 . Setzen Sie die ID auf ein numerisches Feld mit einer Länge von 3: int(3); und lassen Sie jeden Datensatz automatisch einen hinzufügen: auto_increment; nicht leer;

2. Stellen Sie NAME auf ein Zeichenfeld der Länge 10 ein.

3. Legen Sie ADRESSE auf ein Zeichenfeld der Länge 50 fest. Der Standardwert ist Shenzhen.

4. Stellen Sie JAHR als Datumsfeld ein.



Stellungnahme:
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
Vorheriger Artikel:Arguments-ObjektNächster Artikel:Arguments-Objekt