[MySQL] Datenbank- und 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;

Fügen Sie hier eine Bildbeschreibung ein

Beginnen wir mit der Erstellung der d1-Datenbank:create database d1;

Fügen Sie hier eine Bildbeschreibung ein

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:

Fügen Sie hier eine Bildbeschreibung ein

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:

  1. Datenbank-Codierungssatz – – – Der Codierungssatz, den die Datenbank in Zukunft zum Speichern von Daten verwendet.
  2. 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:

Fügen Sie hier eine Bildbeschreibung ein

(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:

Fügen Sie hier eine Bildbeschreibung ein

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;

Fügen Sie hier eine Bildbeschreibung ein

Als nächstes filtern wir das Zeichen a heraus :select * from for_test where name='a';

Fügen Sie hier eine Bildbeschreibung ein

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:

Fügen Sie hier eine Bildbeschreibung ein

Als nächstes schauen wir uns die Daten in dieser Tabelle an:

Fügen Sie hier eine Bildbeschreibung ein

Als nächstes filtern wir das a -Zeichen heraus:

Fügen Sie hier eine Bildbeschreibung ein

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;

Fügen Sie hier eine Bildbeschreibung ein

(2) Zeigen Sie die erstellte Anweisung an

		show create database 数据库名;

Zum Beispiel:

Fügen Sie hier eine Bildbeschreibung ein

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;

Fügen Sie hier eine Bildbeschreibung ein

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:

Fügen Sie hier eine Bildbeschreibung ein

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

Fügen Sie hier eine Bildbeschreibung ein

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:

Fügen Sie hier eine Bildbeschreibung ein

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 :

Fügen Sie hier eine Bildbeschreibung ein

(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:

Fügen Sie hier eine Bildbeschreibung ein

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/d1bzw.

Fügen Sie hier eine Bildbeschreibung ein

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;

Fügen Sie hier eine Bildbeschreibung ein

3. Tabellenstruktur anzeigen

Grammatik:desc 表明;

Sehen Sie sich beispielsweise die Struktur der Benutzertabelle an :

Fügen Sie hier eine Bildbeschreibung ein

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 hier eine Bildbeschreibung ein

  • Fügen Sie der Benutzertabelle ein Feld hinzu, um den Bildpfad zu speichern:alter table users add assets varchar(100) comment '图片路径' after birther;

Fügen Sie hier eine Bildbeschreibung ein

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:

Fügen Sie hier eine Bildbeschreibung ein

  • Ändern Sie den Namen und ändern Sie seine Länge auf 60: alter table users modify name varchar(60);

Fügen Sie hier eine Bildbeschreibung ein

  • Löschen Sie die Passwortspalte: alter table users drop password;

Fügen Sie hier eine Bildbeschreibung ein

Wir haben uns die Daten in der Tabelle angesehen und festgestellt, dass die Daten in der Passwortspalte fehlten:

Fügen Sie hier eine Bildbeschreibung ein

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

Fügen Sie hier eine Bildbeschreibung ein

  • Ändern Sie die Namensspalte in xingming:. alter table employee change name xingming varchar(60); Das neue Feld muss vollständig definiert werden

Fügen Sie hier eine Bildbeschreibung ein

5. Tabelle löschen

Grammatik:DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ...

Zum Beispiel:

Fügen Sie hier eine Bildbeschreibung ein

Schauen Sie es sich noch einmal an:

Fügen Sie hier eine Bildbeschreibung ein

Supongo que te gusta

Origin blog.csdn.net/YoungMLet/article/details/134977958
Recomendado
Clasificación