Heim  >  Artikel  >  Datenbank  >  Detaillierte Einführung in die grundlegenden allgemeinen Befehle von MySQL

Detaillierte Einführung in die grundlegenden allgemeinen Befehle von MySQL

WBOY
WBOYnach vorne
2021-12-23 18:37:142855Durchsuche

Dieser Artikel enthält eine Zusammenfassung der grundlegenden Befehle von MySQL. Zusätzlich zum Herstellen einer Verbindung zur Datenbank und zum Ändern des Kennworts finden Sie auch einige häufig verwendete Befehle. 1. Stellen Sie eine Verbindung zu MySQL her

Detaillierte Einführung in die grundlegenden allgemeinen Befehle von MySQL

1. Stellen Sie eine Verbindung zu MySQ auf diesem Computer her:

Öffnen Sie zuerst das cmd-Fenster, geben Sie mysql -uroot -p ein und geben Sie dann die MySQL-Konsole mit einem Leerzeichen ein MySQL ist: mysql>.

mysql -uroot -p /*如果刚安装好MySQL,root是没有密码的*/

2. Stellen Sie eine Verbindung zu MySQL auf dem Remote-Host her:

Angenommen, der Remote-Host Die IP lautet: 192.168.206.100, der Benutzer Der Name ist root, das Passwort ist 12345678.

mysql> mysql -h192.168.206.100 -uroot -p12345678; /*u与root可以不加空格*/

3. MySQL-Befehl beenden: Exit oder Quit (Enter):

mysql> exit/quit;
2. MySQL – Passwort ändern

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

1. Wenn das Root-Passwort leer ist, legen Sie das Root-Passwort fest:

mysql> mysqladmin -uroot newpassword;   -- 因为开始时root没有密码,所以-p旧密码 可以省略

2. Verwenden Sie den Befehl sqladmin, um das Passwort zu ändern :

mysql> mysqladmin -uroot -p123456 password 12345678;
3. Verwenden Sie den Befehl „Passwort festlegen“, um das Passwort zu ändern:

mysql> set password for 用户名@localhost = password('新密码');

4. Wenn Sie das Root-Passwort vergessen:

      ①关闭正在运行的MySQL服务。
      ②打开DOS窗口,转到mysql\bin目录。
      ③输入mysqld --skip-grant-tables 回车。--skip-grant-tables 的意思是启动MySQL服务的时候跳过权限表认证。
      ④再开一个DOS窗口(因为刚才那个DOS窗口已经不能动了),输入mysql回车,如果成功,将出现MySQL提示符 >。
      ⑤连接权限数据库: use mysql;
      ⑥改密码:update user set password=password("新密码") where user="root";(别忘了最后加分号) 。
      ⑦刷新权限(必须步骤):flush privileges; 。
      ⑧退出mysql  quit;
mysqld --skip-grant-tables   
mysql> use mysql;   --连接权限数据库
mysql> update user set password=password("新密码") where user="root";   -- 改密码
mysql> flush privileges;    -- 刷新权限
mysql> quit;    -- 退出mysql

三、MySQL--常用命令

1、创建数据库(Create)

mysql> create database db_name;  -- 创建数据库
mysql> show databases;           -- 显示所有的数据库
mysql> drop database db_name;    -- 删除数据库
mysql> use db_name;              -- 选择数据库
mysql> create table tb_name (字段名 varchar(20), 字段名 char(1));   -- 创建数据表模板
mysql> show tables;              -- 显示数据表
mysql> desc tb_name;            -- 显示表结构
mysql> drop table tb_name;      -- 删除表

    例如:

/*创建学生表*/
create table Student(
     Sno char(10) primary key,
     Sname char(20) unique,
     Ssex char(2),
     Sage smallint,
     Sdept char(20)
);

2、插入数据(Insert)

     insert into 语句用于向表格中插入新的行:
/*第一种形式无需指定要插入数据的列名,只需提供被插入的值即可:*/
mysql> insert into tb_name values (value1,value2,value3,...);
/*第二种形式需要指定列名及被插入的值:*/
mysql> insert into tb_name (column1,column2,column3,...) values (value1,value2,value3,...);

     例如:

/*插入数据*/

mysql> insert into Student values ( 20180001,张三,男,20,CS);

mysql> insert into Student values ( 20180002,李四,男,19,CS);

mysql> insert into Student (Sno,Sname,Ssex,Sage,Sdept) values ( 20180003,王五,男,18,MA);

mysql> insert into Student (Sno,Sname,Ssex,Sage,Sdept) values ( 20180004,赵六,男,20,IS);

3、查询数据(Select)

Zusätzlich zum Anzeigen von Informationen zu Tabellen und Ansichten in der Datenbank kann die Select-Anweisung auch SQL Server-Systeminformationen anzeigen sowie Datentabellen kopieren und erstellen. Seine Abfragefunktion ist leistungsstark und es ist die Seelenanweisung der SQL-Sprache und die am häufigsten verwendete Anweisung in SQL.
Grundlegende Select-Anweisung:
Eine grundlegende Select-Anweisung kann in drei Teile unterteilt werden: nach welchen Daten gesucht werden soll (select), wo danach gesucht werden soll ( von) , was sind die Suchbedingungen (wo). Das allgemeine Format der SELECT-Anweisung lautet wie folgt:

Select & lt; Target Bybolic List & GT; group by ]                                                                       [ASC|DESC]]




(1) Fragen Sie die angegebene Spalte ab


1. Alle Spalten in der Abfragetabelle

Wenn das *-Zeichen an der Position der angegebenen Spalte verwendet wird In der Select-Anweisung sind damit alle Spalten in der Abfragetabelle gemeint.

Vorlage: select * from
tb_name

2. Fragen Sie die angegebenen Spalten in der Tabelle ab

Bei der Abfrage mehrerer Spalten sollten die Spaltennamen durch Kommas getrennt werden.
Vorlage
: leSelect tb_name. & lt; Character field & gt; 3. Geben Sie die Spaltentitel in den Abfrageergebnissen an

Durch die Angabe der Spaltentitel (auch Spaltenaliase genannt) können die Ausgabeergebnisse verständlicher gemacht werden. Wenn Sie einen Spaltentitel angeben, können Sie die AS-Klausel nach dem Spaltennamen verwenden. Sie können auch den Spaltenalias = verwenden.


Das Format der AS-Klausel ist: Spaltenname oder Berechnungsausdruck [AS] Spaltenüberschrift

select AS-Spaltentitel 1, & & lt;AS-Spaltentitel 2, AS-Spaltentitel3
von bt_name;                                                                                                                                                                Wenn nicht nur der ursprüngliche Wert der Spalte direkt verwendet werden kann, kann der nach der Berechnung des Spaltenwerts erhaltene Wert auch als Abfrageergebnis verwendet werden, d. und der Ausdruck kann aus Spaltennamen, Konstanten und arithmetischen Operatoren bestehen. Mit der berechneten Spalte des Abfrageergebnisses "No Spaltenname" müssen Sie der berechneten Spalte im Allgemeinen einen Spaltentitel hinzufügen.中 Darunter: Zu den Operatoren, die im Ausdruck verwendet werden können, gehören: Plus+, Subtraktion-, Multiplikation*, Division/ und verbleibendes %

Vorlage : wählen Sie ,, Spaltentitel = * n von tb_name;

(2) Zeilen auswählen: Wählen Sie einige oder alle Zeilen in der Tabelle als Ergebnis der Abfrage aus. Format: Wählen Sie [alle |. eindeutig] [oben n [Prozent]] & lt; Ziellistenausdrucksliste & gt; wiederholen). Wenn Sie jedoch beim Abfragen einer Tabelle nur bestimmte Spalten auswählen, werden möglicherweise doppelte Zeilen in den Abfrageergebnissen angezeigt.语 Verwenden Sie das Schlüsselwort „distinct“ in der SELECT-Anweisung, um Wiederholungen zu vermeiden, die sich auf die Ergebnisse konzentrieren.                                                                                                                              Verwenden Sie die obere Option, um die Anzahl zu begrenzen Zeilen, die im Abfrageergebnis zurückgegeben werden, d. h. die angegebene Anzahl von Datensätzen wird zurückgegeben.

Wobei: n eine positive ganze Zahl ist, die angibt, dass die ersten n Zeilen des Abfrageergebnissatzes zurückgegeben werden. Wenn das Schlüsselwort „Prozent“ enthalten ist, bedeutet dies, dass die ersten n % Zeilen des Ergebnissatzes zurückgegeben werden.                                                                                                                                              n% tb_name*/

足 (3) Abfragezeilen, die die Bedingungen erfüllen: Verwenden Sie die Where-Klausel, um die Bedingungsabfrage zu implementieren.

Durch die Where-Klausel müssen die Klassen der FROM-Klausel folgen.

Die folgenden Operatoren oder Ausdrücke können in:
& lt; =, & lt;, =, & gt;, & gt; =,! =, & Lt;>,! Der Wertoperator ist null, ist nicht null. Logischer Operator und, oder, nicht. tb_name
wobei = n ;定 2. Bereich angeben:

Es gibt zwei Schlüsselwörter für den angegebenen Bereich: Zwischen ... und und nicht zwischen ... und ... und.


                                                ‐‐‐ - Was dem Schlüsselwort folgt, ist die untere Grenze des Bereichs (d. H. Niedriger Wert), was dem und dem Schlüsselwort folgt, ist die obere Grenze des Bereichs (d. H. Ein hoher Wert)
kann verwendet werden, um Zeilen zu finden, deren Feldwerte Werte zu finden, deren Feldwerte sind ​innerhalb des angegebenen Bereichs liegen (oder nicht).
3. Verwenden Sie die Aufzählung:
Verwenden Sie das Schlüsselwort in, um einen Satz von Werten anzugeben. Alle möglichen Werte werden im Satz aufgelistet die Menge. Wenn ein Element übereinstimmt, gibt es true zurück, andernfalls gibt es false zurück.

                            Vorlage select * from tb_name where [not] in (value 1, value 2,..., value n);

  4. Verwenden Sie Platzhalter für Fuzzy-Abfragen:
Sie können die Like-Klausel verwenden, um Fuzzy-Matching-Abfragen für Zeichenfolgen durchzuführen. Die Like-Klausel gibt einen logischen Wert (wahr oder falsch) zurück.句 Das Format des Like-Satzes:

Wählen Sie * aus tb_name, wobei & lt; passende Zeichenfolge & gt;; Die Übereinstimmungszeichenfolge enthält normalerweise die Platzhalterzeichen % und _ (Unterstrich).

                                                                                   Wenn Sie den Wert eines Ausdrucks ermitteln müssen. Wenn es sich um einen Nullwert handelt, verwenden Sie das Schlüsselwort is null. Wenn „not“ nicht verwendet wird und der Wert des Ausdrucks null ist, wird „true“ zurückgegeben. Andernfalls wird „false“ zurückgegeben, wenn „not“ verwendet wird. Das Ergebnis ist genau das Gegenteil.                                                                                                                                                                                         条 重 6. Abfrage mehrerer Bedingungen: Verwenden Sie logische Operatoren

Logische Operatoren und (und: beide Bedingungen müssen erfüllt sein) und oder (oder: eine der Bedingungen kann erfüllt sein) können verwendet werden. Verbinden Sie mehrere Abfragebedingungen . und hat eine höhere Priorität als oder, aber die Priorität kann geändert werden, wenn Klammern verwendet werden.

Template :
Select * aus tb_name, wobei & lt; Zeichenfeld & gt; Ergebnisse Die order by-Klausel kann verwendet werden, um die Abfrageergebnisse in aufsteigender Reihenfolge (ASC) oder absteigender Reihenfolge (DESC) nach dem Wert eines oder mehrerer Felder (oder dem Wert eines Ausdrucks) zu sortieren Standardmäßig ist die Reihenfolge aufsteigend.
Format:

order by {Sortierausdruck [ASC|DESC]}[,...n];

Wobei: Der Sortierausdruck kann entweder ein einzelnes Feld oder eine Kombination aus Feldern und Funktionen, ein Ausdruck, sein bestehend aus Konstanten usw. oder einer positiven ganzen Zahl.

Vorlage:

select * from tb_name order by
Aggregationsfunktionen
Beim Abrufen von Tabellen ist es oft notwendig, die Ergebnisse zu berechnen oder zu zählen statistische Funktionen (auch Mengenfunktionen oder Aggregatfunktionen genannt) zur Verbesserung der Abruffunktion. Statistische Funktionen werden verwendet, um Daten in einer Tabelle zu berechnen. Diese Funktionen werden verwendet, um einen Datensatz zu berechnen und einen einzelnen Wert zurückzugeben.数 Häufig verwendete Statistikfunktionen
Funktionsname Funktion
Durchschnittlicher Durchschnitt

COUNT ermittelt die Anzahl der Datensätze und gibt eine Ganzzahl vom Typ INT zurück

MAX bis zum Maximalwert. min min Finden Sie den Mindestwert
                                                                                                                                                                    

1. SUMME und AVG

Funktion: Ermitteln Sie die Summe oder den Durchschnitt des angegebenen numerischen Ausdrucks.
Vorlage: Wählen Sie avg() als Durchschnitt, sum() als Gesamtzahl aus tb_name wobei ='character String';

2. Max und Min

Funktion: Ermitteln Sie den Maximal- oder Minimalwert des angegebenen Ausdrucks.
Vorlage:
Wählen Sie max() als Maximalwert, min() als Minimalwert aus tb_name;

       . 3. zählen

Diese Funktion hat zwei Formate: count(*) und count([all]|[distinct] Feldname). Um Fehler zu vermeiden, wird count(*) im Allgemeinen verwendet, um die Anzahl der abzufragenden Datensätze abzufragen Wie viele Werte ein bestimmtes Feld hat, verwenden Sie count (eindeutiger Feldname). C. (1) .count (*):
Funktion: Die Gesamtzahl der statistischen Datensätze.
                                                                                                         Seit ️ Die Anzahl der leeren Datensätze. Der Datentyp des Felds kann ein beliebiger Typ außer Text, Bild, Ntext und UniqueIdentifier sein. E Vorlage: leSelect count (& lt; Zeichenfeld & gt;) AS total number
from tb_name;
(6) Gruppierung der Abfrageergebnisse Die Abfrageergebnistabelle wird nach einer bestimmten Spalte oder mehreren Spalten gruppiert Spaltenwerte mit gleichen Werten werden in einer Gruppe zusammengefasst und für jede Gruppe wird ein Ergebnis berechnet. Diese Klausel wird häufig zusammen mit statistischen Funktionen verwendet, um Gruppenstatistiken durchzuführen.
Das Format ist: Gruppe nach Gruppenfeld[,...n][mit ];G 使用1. Nach Verwendung der Group-by-Klausel

Die SELECT-Liste kann nur Folgendes enthalten: das Gruppenfeld und die statistischen Funktionen, die in der Group-by-Klausel angegeben sind. Die Verwendung von v a2.having-Klauseln
Die HAVING-Klausel muss in Verbindung mit der Group-By-Klausel verwendet werden, um die Ergebnisse nach der Gruppierung zu überprüfen (die Screening-Bedingungen enthalten häufig statistische Funktionen).
3 Bedingungen, die beim Gruppieren von Abfragen keine statistischen Funktionen enthalten, verwenden normalerweise die where-Klausel.
Vorlage:
select ,count(*) as columns header
from tb_name where ='string' group by
4. Daten ändern (Update)
Die Update-Anweisung wird verwendet, um die Daten in der Tabelle zu ändern. Format: aktualisieren Sie den Spaltennamen = neuer Wert, wobei der Spaltenname = ein bestimmter Wert ist.

5. Daten löschen (Löschen)

?? Wert;

Alle Zeilen löschen
                                                                                                                                                                                                       . Dies bedeutet, dass die Struktur, Attribute und Indizes der Tabelle vollständig sind:

Format:
delete * from tb_name oder delete from tb_name;

4. MySQL -- Der Befehl alter
der Befehl alter add
wird verwendet, um Felder zur Tabelle hinzuzufügen.
alter add
Befehlsformat: alter table table name addfield type

other;


Beispielsweise wird der Tabelle MyClass ein Feld passtest vom Typ int(4) mit dem Standardwert 0 hinzugefügt:

mysql> alter table MyClass add passtest int(4) default '0';<h5 style="line-height:normal;font-family:Times;text-align:left;background-color:rgb(255,255,255);"><span class="s3" style="line-height:normal;font-family:'Songti SC';"><span class="s3" style="line-height:normal;"><span class="s3" style="line-height:normal;"><span class="s3" style="line-height:normal;"><span class="s3" style="line-height:normal;"><span class="s3" style="line-height:normal;"><span class="s3" style="line-height:normal;"><span class="s3" style="line-height:normal;"><span class="s3" style="line-height:normal;"><span class="s3" style="line-height:normal;"><span class="s3" style="line-height:normal;"><span style="font-size:16px;color:#000000;"> 添加两个字段  </span></span></span></span></span></span></span></span></span></span></span></span></h5>
<pre class="brush:php;toolbar:false">mysql> alter table Person add age int,add address varchar(11);
 删除两个字段
mysql> alter table Person drop column age,drop column address;
 修改字段的注释
mysql> alter table `student` modify column `id` comment '学号';
 1) 加索引
      mysql> alter table 表名 add index 索引名 (字段名1[,字段名2 …]);

 mysql> alter table employee add index emp_name (name);
 2) 加主关键字的索引
      mysql> alter table 表名 add primary key (字段名);

mysql> alter table employee add primary key(id);
 3) 加唯一限制条件的索引
      mysql> alter table 表名 add unique 索引名 (字段名);

 mysql> alter table employee add unique emp_name2(cardnumber);
 4) 删除某个索引
      mysql> alter table 表名 drop index 索引名;

mysql>alter table employee drop index emp_name;
 5) 增加字段
mysql> ALTER TABLE table_name ADD field_name field_type;
 6) 修改原字段名称及类型
mysql> ALTER TABLE table_name CHANGE old_field_name new_field_name field_type;
 7) 删除字段
MySQL ALTER TABLE table_name DROP field_name;

五、MySQL -- 应用

学生-课程数据库

 学生表:Student(Sno,Sname,Ssex,Sage,Sdept)
 课程表:Course(Cno,Cname,Cpno,Ccredit)
 学生选课表:SC(SnoCno,Grade)
 关系的主码加下划线表示。各个表中的数据示例如图所示:

Student表

学号

Sno

姓名

Sname

性别

Ssex

年龄

Sage

所在系

Sdept

20180001 张三 20 CS
20180002 李四 19 CS
20180003 王五 18 MA
20180004 赵六 20 IS
Course表

课程号

Cno

课程名

Cname

先修课

Cpno

学分

Ccredit

1 数据库 5 4
2 数学   2
3 信息系统 1 4
4 操作系统 6 3
5 数据结构 7 4
6 数据处理   2
7 PASCAL语言 6 4
SC表

学号

Sno

课程号

Cno

成绩

Grade

20180001

1 92
20180001 2 85
20180001 3 88
20180002 2 90
20180002 3 80

 建立一个“学生”表Student:

create table Student(
  Sno char(9) peimary key, /*列级完整性约束条件,Sno是主码*/
  Sname char(20) unique, /* Sname取唯一值*/
  Ssex char(2),
  Sage smallint,
  Sdept char(20)
);
 建立一个“课程”表Course:
create table Course(
  Sno char(4) primary key, /*列级完整性约束条件,Cname不能取空值*/
  Sname char(40) not null, /*Cpno的含义是先修课*/
  Cpno char(4)
  Ccredit smallint,
  foreign key (Cpnoo) references Course(Cno) /*表级完整性约束条件,Cpno是外码,被参照表是Course,被参照列是Cno*/
);
 建立学生选课表SC:
create table SC(
  Sno char(9),
  Cno char(4),
  Grade smallint,
  frimary key (Sno,Cno), /*主码由两个属性构成,必须作为表级完整性进行定义*/
  foreign key (Sno) references Student(Sno), /*表级完整性约束条件,Sno是外码,被参照表是Student*/
  foreign key (Cno) references Course(Cno)   /*表级完整性约束条件,Cno是外码,被参照表是Course */
);

推荐学习:mysql视频教程

Das obige ist der detaillierte Inhalt vonDetaillierte Einführung in die grundlegenden allgemeinen Befehle von MySQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen