1. Allgemeine Befehle
Lokale Datenbank und Remote-Datenbank verbinden (172.16.xx.xx:3306):
mysql -h localhost -u root -p123 mysql -h 172.16.xx.xx -P 3306 -u root -p
2. DDL
Data Definition Language (DDL) definiert das Datenbankschema, einschließlich CREATE-, ALTER-, DROP-, TRUNCATE-, COMMENT- und RENAME-Anweisungen.
ERSTELLEN
Die create-Anweisung erstellt eine Tabelle:
CREATE TABLE `device_label` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键-自增长ID', `origin_model` varchar(64) COLLATE utf8_bin NOT NULL COMMENT '收集机型', `origin_vendor` varchar(64) COLLATE utf8_bin NOT NULL COMMENT '收集厂商', `vendor` varchar(32) COLLATE utf8_bin NOT NULL COMMENT '标注厂商', `model` varchar(32) COLLATE utf8_bin NOT NULL COMMENT '标注品牌', PRIMARY KEY (`id`), UNIQUE KEY `device_key` (`origin_model`,`origin_vendor`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='设备标注表'; 改(ALTER)
ALTER TABLE ändert die Struktur der Tabelle und unterstützt die folgenden Operationen,
Spaltentyp und Spaltennamen ändern:
alter table device_label modify origin_model varchar(32); alter table device_label change origin_model device_model varchar(16);
Spalte anhängen:
alter table device_label add os_type varchar(8) COLLATE utf8_bin NOT NULL COMMENT '操作系统' after id;
Ändern Sie die Reihenfolge zwischen den Spalten:
alter table device_label modify os_type varchar(8) after origin_model;
Primärschlüssel ändern:
alter table device_label drop primary key, add primary key (`origin_model`,`origin_vendor`);
TRUNCATE
TRUNCATE löscht die Tabelle, was dem Löschen aus ohne Angabe der Where-Bedingung entspricht.
Gerätebezeichnung abschneiden;
3. DCL
Data Control Language (DCL) wird zur Verwaltung von Benutzerrechten verwendet, einschließlich GRANT- und REVOKE-Befehlen.
GEWÄHRLEISTUNG
MySQL verfügt über eine sehr feine Berechtigungskontrolle:
•Detaillierte Berechtigungsklassifizierung
•DB -> Tabelle -> Spalte, Granularität der Berechtigungen
•Steuerhost (kann mit Platzhaltern übereinstimmen)
Erstellen Sie einen Hive-Benutzer und erteilen Sie localhost die Berechtigung, auf alle Tabellen in db1 zuzugreifen:
CREATE USER 'hive'@'localhost' IDENTIFIED BY 'mypass'; GRANT ALL ON db1.* TO 'hive'@'localhost'; -- 可简写为 GRANT ALL ON db1.* TO 'hive'@'localhost' IDENTIFIED BY 'mypass';
Sie können einer bestimmten Tabelle auch nur die Auswahlberechtigung erteilen:
GRANT SELECT ON db2.invoice TO 'hive'@'localhost';
4. DML
Die Datenmanipulationssprache (DML) wird hauptsächlich verwendet, um Datenbankabfragen und -aktualisierungen auszudrücken, einschließlich Hinzufügungen, Löschungen und Änderungen (INSERT, UPDATE, DELETE, SELECT).
EINFÜGEN
Zeilendaten hinzufügen:
insert into device_label (origin_model, origin_vendor, vendor, model) values ( 'h9', 'bbk', '步步高', 'H9' );
Eine Tabelle in eine andere Tabelle kopieren:
insert into device_label_copy (`origin_model`, `origin_vendor`, `vendor`, `model`) select `origin_model`, `origin_vendor`, `vendor`, `model` from device_label;
Darüber hinaus unterstützt MySQL das Laden von strukturiertem Klartext in die Datenbank über Ladedaten:
load data local infile 'dvc-label.csv' into table device_label fields terminated by ',' ignore 1 lines (origin_model, origin_vendor, vendor, model);
Wenn der Fehler ERROR 1148 (42000) auftritt, verwenden Sie den Befehl mysql --local-infile -u user -ppasswd, um MySQL aufzurufen.
UPDATE
Spaltenwert aktualisieren:
update device_label set origin_model = 't2', origin_vendor = 'xiami' where vendor = '锤子';
LÖSCHEN
Zeilen basierend auf der Where-Bedingung löschen:
delete from device_label where origin_vendor = 'alps';
AUSWÄHLEN
Hersteller mit mehr als 10 markierten Modellen abfragen:
select vendor, count(distinct model) as models from device_label group by vendor having models > 10
Das Obige ist eine Zusammenfassung der vom Herausgeber eingeführten häufig verwendeten grundlegenden SQL-Anweisungen. Ich hoffe, dass es Ihnen hilfreich ist. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Herausgeber wird Ihnen antworten Zeit. Vielen Dank für Ihre Unterstützung der Website!