Datenbank- und Tabellenoperationen
- 1. Datenbankbetrieb
-
- 1. Datenbank erstellen
- 2. Zeichensatz und Verifizierungsregeln
-
- (1) Sehen Sie sich den Standardzeichensatz und die Überprüfungsregeln des Systems an
- (2) Überprüfen Sie die von der Datenbank unterstützten Zeichensätze
- (3) Überprüfen Sie die von der Datenbank unterstützten Regeln zur Zeichensatzüberprüfung
- (4) Die Auswirkungen von Verifizierungsregeln auf die Datenbank
- 3. Manipulieren Sie die Datenbank
- 4. Datenbanklöschung
- 5. Sicherung und Wiederherstellung
- 6. Überprüfen Sie den Verbindungsstatus
- 2. Tabellenoperationen
1. Datenbankbetrieb
1. Datenbank erstellen
Grammatik:CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [, create_specification] ...]
create_specification:
[DEFAULT] CHARACTER SET charset_name
[DEFAULT] COLLATE collation_name
veranschaulichen:
- Großbuchstaben stellen Schlüsselwörter dar. MySQL unterscheidet nicht zwischen Groß- und Kleinschreibung, daher können auch Kleinbuchstaben verwendet werden.
- [] es ist optional
- ZEICHENSATZ: Gibt den von der Datenbank verwendeten Zeichensatz an
- COLLATE: Gibt die Überprüfungsregeln für den Datenbankzeichensatz an
Angenommen, wir müssen jetzt eine Datenbank mit dem Namen d1 erstellen. Zuerst überprüfen wir die Datenbank und überprüfen die Datenbank:show databases;
Beginnen wir mit der Erstellung der d1-Datenbank:create database d1;
Wie oben wird die d1-Datenbank erstellt.
Hinweis: Wenn wir die Datenbank erstellen, ohne den Zeichensatz und die Überprüfungsregeln anzugeben, verwendet das System den Standardzeichensatz: utf8 und die Überprüfungsregeln lauten: utf8_general_ci .
-
Erstellen Sie eine D2-Datenbank mit dem utf8 -Zeichensatz:
create database d2 charset=utf8;
-
Erstellen Sie eine D3-Datenbank mit dem Zeichensatz utf8 und Sortierregeln:
create database d3 charset=utf8 collate utf8_general_ci;
Erstellen Sie es wie folgt:
Wir haben auch bereits gesagt, dass das Erstellen einer Datenbank tatsächlich das Erstellen eines Verzeichnisses unter Linux ist , daher werden wir die Einführung hier nicht wiederholen.
2. Zeichensatz und Verifizierungsregeln
Wenn wir die Datenbank erstellen, gibt es zwei Codierungssätze:
- Datenbank-Codierungssatz – – – Der Codierungssatz, den die Datenbank in Zukunft zum Speichern von Daten verwendet.
- Datenbankprüfsatz - - - unterstützt die Datenbank und stellt die für den Feldvergleich verwendete Kodierung dar. Es handelt sich im Wesentlichen um ein Kodierungsformat, das zum Lesen von Daten in der Datenbank verwendet wird;
Unabhängig davon, welche Operation die Datenbank an den Daten ausführt, muss daher sichergestellt werden, dass die Operation und die Codierung konsistent sind.
Der Zeichensatz steuert hauptsächlich, welche Sprache verwendet wird. Beispielsweise kann utf8 Chinesisch verwenden.
(1) Sehen Sie sich den Standardzeichensatz und die Überprüfungsregeln des Systems an
show variables like 'character_set_database'; # 默认字符集
show variables like 'collation_database'; # 检验规则
wie folgt:
(2) Überprüfen Sie die von der Datenbank unterstützten Zeichensätze
show charset;
(3) Überprüfen Sie die von der Datenbank unterstützten Regeln zur Zeichensatzüberprüfung
show collation;
(4) Die Auswirkungen von Verifizierungsregeln auf die Datenbank
- Groß- und Kleinschreibung wird nicht beachtet
Erstellen Sie eine Datenbank und verwenden Sie utf8_general_ci für Verifizierungsregeln (ohne Berücksichtigung der Groß-/Kleinschreibung, d. h. keine strikte Übereinstimmung bei der Verifizierung, keine Unterscheidung zwischen Groß- und Kleinbuchstaben).
create database test1 collate utf8_general_ci;
Dann müssen wir diese Datenbank verwenden:use test1
Dann erstellen wir eine Tabelle für diese Datenbank und fügen einige Daten ein. Wir werden die Syntax zum Erstellen und Einfügen einer Tabelle nicht jetzt vorstellen, sondern später wie folgt:
Als nächstes überprüfen wir die Einfügungsergebnisse dieser Tabelle. Beachten Sie, dass die Überprüfungsmethode dieser Tabelle beim Abgleich nicht auf Groß- und Kleinschreibung achtet; daher überprüfen wir zunächst die Situation der gesamten Tabelle:select * from for_test;
Als nächstes filtern wir das Zeichen a heraus :select * from for_test where name='a';
Wir können sehen, dass die Datenbank beim Abgleich des Zeichens a nicht zwischen Groß- und Kleinschreibung unterscheidet und uns unabhängig von Groß- und Kleinschreibung angezeigt wird.
- Groß- und Kleinschreibung beachten
Erstellen Sie eine Datenbank und verwenden Sie utf8_bin für Überprüfungsregeln (Groß- und Kleinschreibung beachten, strikter Abgleich wird bei der Überprüfung verwendet, Groß-/Kleinschreibung beachten).
Wir erstellen es wie oben, wie unten gezeigt:
Als nächstes schauen wir uns die Daten in dieser Tabelle an:
Als nächstes filtern wir das a -Zeichen heraus:
Da die Überprüfungsregel der Datenbank wie in der Abbildung oben gezeigt utf8_bin lautet , wird der strikte Vergleich unter Berücksichtigung der Groß- und Kleinschreibung durchgeführt, sodass das gefilterte Zeichen a das Zeichen a ist .
3. Manipulieren Sie die Datenbank
(1) Datenbank anzeigen
show databases;
(2) Zeigen Sie die erstellte Anweisung an
show create database 数据库名;
Zum Beispiel:
veranschaulichen:
- MySQL empfiehlt die Verwendung von Schlüsselwörtern in Großbuchstaben, dies ist jedoch nicht erforderlich.
- Der Backtick „“ im Datenbanknamen soll verhindern, dass der verwendete Datenbankname ein Schlüsselwort ist.
- / * !40100 default… * / Dies ist kein Kommentar, es bedeutet, dass die aktuelle MySQL-Version größer als Version 4.01 ist, also führen Sie diesen Satz aus;
(3) Ändern Sie die Datenbank
Grammatik:
ALTER DATABASE db_name
[alter_spacification [,alter_spacification]...]
alter_spacification:
[DEFAULT] CHARACTER SET charset_name
[DEFAULT] COLLATE collation_name
Hinweis: Das Ändern der Datenbank bezieht sich hauptsächlich auf das Ändern des Zeichensatzes und der Überprüfungsregeln der Datenbank.
Angenommen, der Zeichensatz der oben erstellten test1- Datenbank wird in gbk geändert :alter database test1 charset=gbk;
Wie oben gezeigt, wurde der Zeichensatz der test1- Datenbank in gbk geändert .
4. Datenbanklöschung
Grammatik:
DROP DATABASE [IF EXISTS] db_ name;
Zum Beispiel löschen wir die test2- Datenbank, die wir zuvor erstellt haben :drop database test2;
wie folgt:
Wie oben gezeigt, wurde die test2- Datenbank gelöscht.
Ergebnis nach dem Löschen:
- Die entsprechende Datenbank ist in der Datenbank nicht sichtbar
- Der entsprechende Datenbankordner wird gelöscht, die Kaskade gelöscht und alle darin enthaltenen Datentabellen werden gelöscht.
5. Sicherung und Wiederherstellung
(1) Datenbank sichern
Bevor wir die Datenbank sichern, müssen wir MySQL beenden .
Grammatik:
mysqldump -P3306 -u root -p密码 -B 数据库名 > 数据库备份存储的文件路径
Wir müssen den Passwortteil nicht in der Befehlszeile eingeben. Wenn wir diesen Befehl ausführen, werden wir von der Befehlszeile zur Eingabe aufgefordert.
Beispielsweise sichern wir die test1- Bibliothek in einer Datei:mysqldump -P3306 -uroot -p -B test1 > /home/lmy/test1.sql
Zu diesem Zeitpunkt können Sie die Datei test1.sql öffnen und einen Blick auf den Inhalt werfen. Tatsächlich werden alle unsere Anweisungen zum Erstellen einer Datenbank, zum Erstellen von Tabellen und zum Importieren von Daten in diese Datei geladen.
Als nächstes geben wir MySQL ein und löschen diese Datenbank:
Wie oben gezeigt, wurde die test1- Bibliothek von uns gelöscht und wir stellen sie dann wieder her.
(2) Wiederherstellen
Grammatik:
source 数据库备份的文件路径;
Wir geben den Befehl in mysqlsource /home/lmy/test1.sql;
ein: um die test1- Bibliothek in mysql wiederherzustellen :
(3) Erweitern
Was ist zu tun, wenn es sich bei der Sicherung nicht um die gesamte Datenbank, sondern um eine der Tabellen handelt? Hier ist wie:
mysqldump -uroot -p 数据库名 表名1 表名2 > 备份文件路径
Wenn Sie mehrere Datenbanken gleichzeitig sichern, gehen Sie wie folgt vor:
mysqldump -uroot -p -B 数据库名1 数据库名2 ... > 数据库存放路径
Wenn Sie eine Datenbank ohne den Parameter -B sichern , müssen Sie beim Wiederherstellen der Datenbank zuerst eine leere Datenbank erstellen, dann die Datenbank verwenden und dann die Quelle zum Wiederherstellen verwenden.
6. Überprüfen Sie den Verbindungsstatus
Die Überprüfung des Verbindungsstatus kann uns Aufschluss darüber geben, welche Benutzer derzeit mit unserem MySQL verbunden sind . Wenn wir feststellen, dass ein Benutzer nicht normal angemeldet ist, ist es sehr wahrscheinlich, dass unsere Datenbank angegriffen wurde. Wenn Sie in Zukunft feststellen, dass Ihre Datenbank langsam ist, können Sie mit diesem Befehl den Datenbankverbindungsstatus überprüfen.
Grammatik:
show processlist;
Zum Beispiel:
2. Tabellenoperationen
1. Tabelle erstellen
Grammatik:
CREATE TABLE table_name (
field1 datatype,
field2 datatype,
field3 datatype
) character set 字符集 collate 校验规则 engine 存储引擎;
Sie müssen die Datenbank angeben, bevor Sie die Tabelle erstellen. Verwenden Sie also:, use 数据库;
um die Tabelle für die Datenbank zu erstellen.
Beachten Sie, dass wir die Datentypen der Datenbank zunächst nicht vorstellen, sondern später.
veranschaulichen:
- Das Feld stellt den Spaltennamen dar
- Datentyp repräsentiert den Typ der Spalte
- Zeichensatz Zeichensatz, wenn kein Zeichensatz angegeben ist, hat der Zeichensatz der Datenbank Vorrang.
- Verifizierungsregeln zusammenstellen. Wenn keine Verifizierungsregeln angegeben sind, haben die Verifizierungsregeln der Datenbank Vorrang.
Beispielsweise erstellen wir eine Benutzertabelle , in der die ID , der Benutzername , das Passwort und der Geburtstag des Benutzers gespeichert werden :
create table users(
-> id int,
-> name varchar(20) comment '用户名',
-> password char(20) comment '密码',
-> birther date comment '生日'
-> ) character set utf8 engine MyISAM;
Hinweis: Verschiedene Speicher-Engines verwenden unterschiedliche Dateien zum Erstellen von Tabellen. Die Tabellenspeicher-Engine des Benutzers ist MyISAM . Es gibt drei verschiedene Dateien im Datenbankverzeichnis. Wir können das Verzeichnis zum Anzeigen eingeben: cd /var/lib/mysql/d1
bzw.
Unter ihnen repräsentieren sie jeweils:
- users.frm: Tabellenstruktur
- users.MYD: Tabellendaten
- users.MYI: Tabellenindex
Und db.opt ist der Zeichensatz und die Überprüfungsregeln, die der Datenbank entsprechen.
2. Tabelle ansehen
Wir haben oben eine Benutzertabelle erstellt . Jetzt können wir überprüfen, welche Tabellen die Datenbank enthält:show tables;
3. Tabellenstruktur anzeigen
Grammatik:desc 表明;
Sehen Sie sich beispielsweise die Struktur der Benutzertabelle an :
Das Obige stellt die Einführung in die Tabellenstruktur dar. Wir werden die Funktion jeder Spalte später im Detail vorstellen.
4. Tabelle ändern
In der tatsächlichen Entwicklung des Projekts wird häufig die Struktur einer bestimmten Tabelle geändert, z. B. Feldname, Feldgröße, Feldtyp, Tabellenzeichensatztyp, Tabellenspeicher-Engine usw. Wir haben noch Bedarf, Felder hinzufügen, Felder löschen usw.; dann müssen wir die Tabelle ändern.
ALTER TABLE tablename ADD (column datatype [DEFAULT expr][,column
datatype]...); # 添加
ALTER TABLE tablename MODIfy (column datatype [DEFAULT expr][,column
datatype]...); # 修改
ALTER TABLE tablename DROP (column); # 删除
Zum Beispiel:
Fügen Sie zunächst zwei Datensätze zur Benutzertabelle hinzu :
mysql> insert into users values(1, 'a', 'b', '2000-01-01'),
-> (2, 'c', 'd', '2000-01-02');
- Fügen Sie der Benutzertabelle ein Feld hinzu, um den Bildpfad zu speichern:
alter table users add assets varchar(100) comment '图片路径' after birther;
Nach dem Einfügen des neuen Felds sehen wir uns die Daten in der Originaltabelle an, was keinen Einfluss auf die Daten in der Originaltabelle hat:
- Ändern Sie den Namen und ändern Sie seine Länge auf 60:
alter table users modify name varchar(60);
- Löschen Sie die Passwortspalte:
alter table users drop password;
Wir haben uns die Daten in der Tabelle angesehen und festgestellt, dass die Daten in der Passwortspalte fehlten:
Daher müssen Sie beim Löschen von Feldern vorsichtig sein, da die gelöschten Felder und die entsprechenden Spaltendaten verloren gehen.
- Ändern Sie den Tabellennamen „mitarbeiter:“
alter table users rename to employee;
, wobei „ to“ weggelassen werden kann
- Ändern Sie die Namensspalte in xingming:.
alter table employee change name xingming varchar(60);
Das neue Feld muss vollständig definiert werden
5. Tabelle löschen
Grammatik:DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ...
Zum Beispiel:
Schauen Sie es sich noch einmal an: