Maison  >  Article  >  base de données  >  Parlons des commandes de base de la base de données MySQL (partage récapitulatif)

Parlons des commandes de base de la base de données MySQL (partage récapitulatif)

WBOY
WBOYavant
2021-12-20 18:26:232008parcourir

Cet article vous apporte des connaissances sur les commandes de base de la base de données mysql. La base de données mysql a quelques fonctions de base, comme la possibilité de créer ou de supprimer des tables. Voyons comment les utiliser, j'espère que cela vous sera utile. tout le monde.

Parlons des commandes de base de la base de données MySQL (partage récapitulatif)

Parlons des commandes de base de la base de données MySQL (partage récapitulatif). Présentationdes commandes de base de la base de données MySQL (partage récapitulatif)>Structure de la base de donnéesdes commandes de base de la base de données MySQL (partage récapitulatif)>
数据库–>数据表–>Parlons des commandes de base de la base de données MySQL (partage récapitulatif)(记录):用来描述一个对象的信息
              Parlons des commandes de base de la base de données MySQL (partage récapitulatif)(字段):用来描述对象的一个属性
Types de données courantsdes commandes de base de la base de données MySQL (partage récapitulatif)>
Type Description
int integer
float Point flottant simple précision - - -----4 octets Parlons des commandes de base de la base de données MySQL (partage récapitulatif)Parlons des commandes de base de la base de données MySQL (partage récapitulatif) bits
double double virgule flottante -------8 octets 64 bits
char Type de caractère de longueur fixe
varchar Longueur variable type de caractère
texte texte
image image
décimal (5,Parlons des commandes de base de la base de données MySQL (partage récapitulatif)) 5 chiffres de longueur valide, Parlons des commandes de base de la base de données MySQL (partage récapitulatif) chiffres après la virgule

Supplément
char peut stocker jusqu'à Parlons des commandes de base de la base de données MySQL (partage récapitulatif)55 caractères. Si la longueur réelle des données stockées est inférieure à la longueur spécifiée, char remplira les espaces à la longueur spécifiée si la longueur réelle des données stockées est supérieure à la longueur spécifiée. La version sera interceptée et la version supérieure signalera une erreur.
La longueur de char est immuable, tandis que la longueur de varchar est variable, c'est-à-dire que si vous définissez un char[Parlons des commandes de base de la base de données MySQL (partage récapitulatif)0] et un varchar[Parlons des commandes de base de la base de données MySQL (partage récapitulatif)0], si 'csdn' est stocké, alors la longueur occupée par char sera toujours. be vaut Parlons des commandes de base de la base de données MySQL (partage récapitulatif)0, à l'exception du caractère 'csdn', suivi de six espaces, et varchar change immédiatement la longueur en 4

règles de stockage de varchar :
Sous la version 4.0, varchar(Parlons des commandes de base de la base de données MySQL (partage récapitulatif)0) fait référence à Parlons des commandes de base de la base de données MySQL (partage récapitulatif)0 octets, si vous stockez Caractères chinois UTF8, vous ne pouvez en stocker que 6 (chaque caractère chinois fait Parlons des commandes de base de la base de données MySQL (partage récapitulatif) octets)
Version 5.0 ou supérieure, varchar(Parlons des commandes de base de la base de données MySQL (partage récapitulatif)0), fait référence à Parlons des commandes de base de la base de données MySQL (partage récapitulatif)0 caractères, qu'il s'agisse de chiffres, de lettres ou de caractères chinois UTF8 (chaque caractère chinois est stocké) Parlons des commandes de base de la base de données MySQL (partage récapitulatif) octets), Parlons des commandes de base de la base de données MySQL (partage récapitulatif)0 peuvent être stockés et la taille maximale est de 65 5Parlons des commandes de base de la base de données MySQL (partage récapitulatif)Parlons des commandes de base de la base de données MySQL (partage récapitulatif) octets.

Parlons des commandes de base de la base de données MySQL (partage récapitulatif). Afficher la structure de la base de donnéesdes commandes de base de la base de données MySQL (partage récapitulatif)>Afficher la base de données sur le serveur actueldes commandes de base de la base de données MySQL (partage récapitulatif)>
SHOW DATABASES;		#不区分大小写,分号“;”表示结束

Parlons des commandes de base de la base de données MySQL (partage récapitulatif)

Afficher les tables contenues dans la base de donnéesdes commandes de base de la base de données MySQL (partage récapitulatif)>
USE 数据库名;SHOW TABLES;

Parlons des commandes de base de la base de données MySQL (partage récapitulatif)

Afficher la structure (champs) de la tabledes commandes de base de la base de données MySQL (partage récapitulatif)>
方法Parlons des commandes de base de la base de données MySQL (partage récapitulatif)USE 数据库名;可缩写成:DESC 表名;方法Parlons des commandes de base de la base de données MySQL (partage récapitulatif)DESCRIBE  数据库名.表名;

Parlons des commandes de base de la base de données MySQL (partage récapitulatif)

Parlons des commandes de base de la base de données MySQL (partage récapitulatif). Introduction aux instructions SQLdes commandes de base de la base de données MySQL (partage récapitulatif)>

Les instructions SQL sont utilisées pour maintenir et gérer des bases de données, y compris la requête de données, la mise à jour des données, le contrôle d'accès, la gestion des objets et d'autres fonctions.

Classification Description
DDL Langage de définition de données, utilisé pour créer des objets de base de données tels que des bibliothèques, des tables, des index, etc.
DML Langage de manipulation de données, utilisé pour manipuler des tables Gérer les données dans le
DQL Langage de requête de données, utilisé pour rechercher des enregistrements de données qualifiés à partir des tables de données
DCL Langage de contrôle des données, utilisé pour définir ou modifier les autorisations des utilisateurs ou des rôles de base de données
四、创建及删除数据库和表(DDL)des commandes de base de la base de données MySQL (partage récapitulatif)>创建新的数据库des commandes de base de la base de données MySQL (partage récapitulatif)>
CREATE DATABASE 数据库名;例如:create database arts;

创Parlons des commandes de base de la base de données MySQL (partage récapitulatif)

创建新的表des commandes de base de la base de données MySQL (partage récapitulatif)>
CREATE TABLE 表名 (字段Parlons des commandes de base de la base de données MySQL (partage récapitulatif) 数据类型,字段Parlons des commandes de base de la base de données MySQL (partage récapitulatif) 数据类型[,...][,PRIMARY KEY (主键名)]);#主键一般选择能代表唯一性的字段不允许取空值(NULL),一个表只能有一个主键。例:create database arts;use arts;create table star (id int not null,name char(Parlons des commandes de base de la base de données MySQL (partage récapitulatif)0) not null,sex char(Parlons des commandes de base de la base de données MySQL (partage récapitulatif)),primary key (id));desc star;

创Parlons des commandes de base de la base de données MySQL (partage récapitulatif)

删除指定数据表des commandes de base de la base de données MySQL (partage récapitulatif)>
如不用USE进入库中,则需加上数据库名DROP TABLE 数据库名.表名;				进入数据库,则直接加表名drop table 表名

创Parlons des commandes de base de la base de données MySQL (partage récapitulatif)

删除指定的数据库des commandes de base de la base de données MySQL (partage récapitulatif)>
DROP DATABASE 数据库名;

Parlons des commandes de base de la base de données MySQL (partage récapitulatif)

五、管理表中数据记录(DML)des commandes de base de la base de données MySQL (partage récapitulatif)>向数据表中插入新的数据记录des commandes de base de la base de données MySQL (partage récapitulatif)>
INSERT INTO 表名(字段Parlons des commandes de base de la base de données MySQL (partage récapitulatif),字段Parlons des commandes de base de la base de données MySQL (partage récapitulatif)[,...]) VALUES(字段Parlons des commandes de base de la base de données MySQL (partage récapitulatif)的值,字段Parlons des commandes de base de la base de données MySQL (partage récapitulatif)的值,...);例:create database market;use market;create table star (id int(Parlons des commandes de base de la base de données MySQL (partage récapitulatif)) not null,name char(Parlons des commandes de base de la base de données MySQL (partage récapitulatif)0),sex char(Parlons des commandes de base de la base de données MySQL (partage récapitulatif)),age int(Parlons des commandes de base de la base de données MySQL (partage récapitulatif)),passwd varchar(50), primary key (id));insert into star (id,name,sex,age,passwd) values(Parlons des commandes de base de la base de données MySQL (partage récapitulatif),Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9;zzParlons des commandes de base de la base de données MySQL (partage récapitulatif)9;,Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9;男Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9;,Parlons des commandes de base de la base de données MySQL (partage récapitulatif)8,Parlons des commandes de base de la base de données MySQL (partage récapitulatif)Parlons des commandes de base de la base de données MySQL (partage récapitulatif)Parlons des commandes de base de la base de données MySQL (partage récapitulatif)45678);select * from star;

数据Parlons des commandes de base de la base de données MySQL (partage récapitulatif)
补充密码Parlons des commandes de base de la base de données MySQL (partage récapitulatif)

Parlons des commandes de base de la base de données MySQL (partage récapitulatif)

查询数据记录des commandes de base de la base de données MySQL (partage récapitulatif)>
SELECT 字段名Parlons des commandes de base de la base de données MySQL (partage récapitulatif),字段名Parlons des commandes de base de la base de données MySQL (partage récapitulatif)[,...] FROM 表名 [WHERE 条件表达式];例:select * from star;select name,sex from star where id=Parlons des commandes de base de la base de données MySQL (partage récapitulatif);

数据Parlons des commandes de base de la base de données MySQL (partage récapitulatif)
以Parlons des commandes de base de la base de données MySQL (partage récapitulatif)表方式竖向显示

Parlons des commandes de base de la base de données MySQL (partage récapitulatif)

只显示头Parlons des commandes de base de la base de données MySQL (partage récapitulatif)Parlons des commandes de base de la base de données MySQL (partage récapitulatif)
头Parlons des commandes de base de la base de données MySQL (partage récapitulatif)
显示第Parlons des commandes de base de la base de données MySQL (partage récapitulatif)Parlons des commandes de base de la base de données MySQL (partage récapitulatif)后的前Parlons des commandes de base de la base de données MySQL (partage récapitulatif)Parlons des commandes de base de la base de données MySQL (partage récapitulatif)

Parlons des commandes de base de la base de données MySQL (partage récapitulatif)

修改、更新数据表中的数据记录des commandes de base de la base de données MySQL (partage récapitulatif)>
UPDATE 表名 SET 字段名Parlons des commandes de base de la base de données MySQL (partage récapitulatif)=字段值Parlons des commandes de base de la base de données MySQL (partage récapitulatif)[,字段名Parlons des commandes de base de la base de données MySQL (partage récapitulatif)=字段值Parlons des commandes de base de la base de données MySQL (partage récapitulatif)] [WHERE 条件表达式];例:update star set age=Parlons des commandes de base de la base de données MySQL (partage récapitulatif)Parlons des commandes de base de la base de données MySQL (partage récapitulatif) where name=Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9;ppParlons des commandes de base de la base de données MySQL (partage récapitulatif)9;;select * from star;

Parlons des commandes de base de la base de données MySQL (partage récapitulatif)

在数据表中删除指定的数据记录des commandes de base de la base de données MySQL (partage récapitulatif)>
DELETE FROM 表名 [WHERE 条件表达式];例:delete from star where id=6;select * from star;

Parlons des commandes de base de la base de données MySQL (partage récapitulatif)Parlons des commandes de base de la base de données MySQL (partage récapitulatif)

六、修改表名和表结构des commandes de base de la base de données MySQL (partage récapitulatif)>修改表名des commandes de base de la base de données MySQL (partage récapitulatif)>
ALTER TABLE 旧表名 RENAME 新表名;例:alter table star rename art;

改Parlons des commandes de base de la base de données MySQL (partage récapitulatif)

扩展表结构(增加字段)des commandes de base de la base de données MySQL (partage récapitulatif)>
ALTER TABLE 表名 ADD address varchar(50) default Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9;地址不详Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9;;#default ‘地址不详’:表示此字段设置默认值 地址不详;可与 NOT NULL 配合使用例:alter table star add address varchar(50) default Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9;地址不详Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9;;

改Parlons des commandes de base de la base de données MySQL (partage récapitulatif)

修改字段(Parlons des commandes de base de la base de données MySQL (partage récapitulatif))名,添加唯一键des commandes de base de la base de données MySQL (partage récapitulatif)>
ALTER TABLE 表名 CHANGE 旧Parlons des commandes de base de la base de données MySQL (partage récapitulatif)名 新Parlons des commandes de base de la base de données MySQL (partage récapitulatif)名 数据类型 [unique key];例:alter table star change name art_name varchar(Parlons des commandes de base de la base de données MySQL (partage récapitulatif)0) unique key;select * from star;

改Parlons des commandes de base de la base de données MySQL (partage récapitulatif)

删除字段des commandes de base de la base de données MySQL (partage récapitulatif)>
ALTER TABLE 表名 DROP 字段名;例:alter table star drop address;

Parlons des commandes de base de la base de données MySQL (partage récapitulatif)

扩展des commandes de base de la base de données MySQL (partage récapitulatif)>
CREATE DATABASE school;use school;create table if not exists info (id int(4) zerofill primary key auto_increment,				#指定主键的第二种方式name varchar(Parlons des commandes de base de la base de données MySQL (partage récapitulatif)0) not null,cardid int(Parlons des commandes de base de la base de données MySQL (partage récapitulatif)8) not null unique key,hobby varchar(50));#---------------命令解释--------------------------------#if not exists:表示检测要创建的表是否已存在,如果不存在就继续创建#int(4) zerofill:表示若数值不满4位数,则前面用“0”填充,例000Parlons des commandes de base de la base de données MySQL (partage récapitulatif)#auto_increment:表示此字段为自增长字段,即每条记录自动递增Parlons des commandes de base de la base de données MySQL (partage récapitulatif),默认从Parlons des commandes de base de la base de données MySQL (partage récapitulatif)开始递增;自增长字段数据不可以重复;自增长字段必须是主键;如添加的记录数据没有指定此字段的值且添加失败也会自动递增一次#unique key:表示此字段唯一键约束,此字段数据不可以重复;一张表中只能有一个主键, 但是一张表中可以有多个唯一键#not null:表示此字段不允许为NULL

扩展Parlons des commandes de base de la base de données MySQL (partage récapitulatif)
扩展Parlons des commandes de base de la base de données MySQL (partage récapitulatif)
扩展Parlons des commandes de base de la base de données MySQL (partage récapitulatif)

七、数据表高级操作des commandes de base de la base de données MySQL (partage récapitulatif)>克隆表,将数据表的数据记录生成到新的表中des commandes de base de la base de données MySQL (partage récapitulatif)>方法一des commandes de base de la base de données MySQL (partage récapitulatif)>
create table testParlons des commandes de base de la base de données MySQL (partage récapitulatif) like info;  #通过 LIKE 方法,复制 info 表结构生成 testParlons des commandes de base de la base de données MySQL (partage récapitulatif) 表insert into testParlons des commandes de base de la base de données MySQL (partage récapitulatif) select * from info;

复制Parlons des commandes de base de la base de données MySQL (partage récapitulatif)

方法二des commandes de base de la base de données MySQL (partage récapitulatif)>
CREATE TABLE testParlons des commandes de base de la base de données MySQL (partage récapitulatif) (SELECT * from info);show create table testParlons des commandes de base de la base de données MySQL (partage récapitulatif)\G;					#获取数据表的表结构、索引等信息SELECT * from testParlons des commandes de base de la base de données MySQL (partage récapitulatif);

复制Parlons des commandes de base de la base de données MySQL (partage récapitulatif)
复制Parlons des commandes de base de la base de données MySQL (partage récapitulatif)

清空表,删除表内的所有数据des commandes de base de la base de données MySQL (partage récapitulatif)>方法一:记录ID未删除des commandes de base de la base de données MySQL (partage récapitulatif)>
delete from testParlons des commandes de base de la base de données MySQL (partage récapitulatif);#DELETE清空表后,返回的结果内有删除的记录条目;DELETE工作时是一Parlons des commandes de base de la base de données MySQL (partage récapitulatif)一Parlons des commandes de base de la base de données MySQL (partage récapitulatif)的删除记录数据的;如果表中有自增长字段,使用DELETE FROM 删除所有记录后,再次新添加的记录会从原来最大的记录 ID 后面继续自增写入记录。

删除Parlons des commandes de base de la base de données MySQL (partage récapitulatif)

方法二:删除记录IDdes commandes de base de la base de données MySQL (partage récapitulatif)>
truncate table testParlons des commandes de base de la base de données MySQL (partage récapitulatif);#TRUNCATE 清空表后,没有返回被删除的条目;TRUNCATE 工作时是将表结构按原样重新建立,因此在速度上 TRUNCATE 会比 DELETE 清空表快;使用 TRUNCATE TABLE 清空表内数据后,ID 会从 Parlons des commandes de base de la base de données MySQL (partage récapitulatif) 开始重新记录。

除Parlons des commandes de base de la base de données MySQL (partage récapitulatif)

创建临时表des commandes de base de la base de données MySQL (partage récapitulatif)>

临时表创建成功之后,使用SHOW TABLES命令是看不到创建的临时表的,临时表会在连接退出后被销毁。 如果在退出连接之前,也可以可执Parlons des commandes de base de la base de données MySQL (partage récapitulatif)增删改查等操作,比如使用 DROP TABLE 语句手动直接删除临时表。

CREATE TEMPORARY TABLE 表名 (字段Parlons des commandes de base de la base de données MySQL (partage récapitulatif) 数据类型,字段Parlons des commandes de base de la base de données MySQL (partage récapitulatif) 数据类型[,...][,PRIMARY KEY (主键名)]);例:create temporary table testParlons des commandes de base de la base de données MySQL (partage récapitulatif) (id int(4) zerofill primary key auto_increment,name varchar(Parlons des commandes de base de la base de données MySQL (partage récapitulatif)0) not null,sex char(Parlons des commandes de base de la base de données MySQL (partage récapitulatif)) not null);insert into testParlons des commandes de base de la base de données MySQL (partage récapitulatif) values(Parlons des commandes de base de la base de données MySQL (partage récapitulatif),Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9;asParlons des commandes de base de la base de données MySQL (partage récapitulatif)9;,Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9;男Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9;);select * from testParlons des commandes de base de la base de données MySQL (partage récapitulatif);show tables;quit;mysql -u root -pselect * from testParlons des commandes de base de la base de données MySQL (partage récapitulatif);

除Parlons des commandes de base de la base de données MySQL (partage récapitulatif)

创建外键约束,保证数据的完整性和一致性des commandes de base de la base de données MySQL (partage récapitulatif)>

外键的定义:如果同一个属性字段X在表一中是主键,而在表二中不是主键,则字段X称为表二的外键。

主键表和外键表的理解:
以公共关键字作主键的表为主键表(父表、主表)
以公共关键字作外键的表为外键表(从表、外表)

注意:与外键关联的主表的字段必须设置为主键。要求从表不能是临时表,主从表的字段具备相同的数据类型、字符长度和约束。

#创建主表test4create table test4 (hobid int(4),hobname varchar(50));#创建从表test5create table test5 (id int(4) primary key auto_increment,name varchar(Parlons des commandes de base de la base de données MySQL (partage récapitulatif)0),age int(Parlons des commandes de base de la base de données MySQL (partage récapitulatif)),hobid int(4));#为主表test4添加一个主键约束,主键名建议以“PK_”开头alter table test4 add constraint PK_hobid primary key (hobid);#为从表test5表添加外键,并将test5表的hobid字段和test4表的hobid字段建立外键关联,外键名建议以“FK_”开头alter table test5 add constraint FK_hob foreign key (hobid) references test4 (hobid);desc test5;

外Parlons des commandes de base de la base de données MySQL (partage récapitulatif)
插入新的数据记录时,要先主表再从表

insert into test4 values (Parlons des commandes de base de la base de données MySQL (partage récapitulatif),Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9;readingParlons des commandes de base de la base de données MySQL (partage récapitulatif)9;);insert into test5 values (Parlons des commandes de base de la base de données MySQL (partage récapitulatif),Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9;adParlons des commandes de base de la base de données MySQL (partage récapitulatif)9;,Parlons des commandes de base de la base de données MySQL (partage récapitulatif)8,Parlons des commandes de base de la base de données MySQL (partage récapitulatif));

外Parlons des commandes de base de la base de données MySQL (partage récapitulatif)
删数据记录时,要先从表再主表,也就是说删除主键表时必须要先删除其他与之相关联的表

drop tables test5;drop tables test4;

外Parlons des commandes de base de la base de données MySQL (partage récapitulatif)
查看和删除外键约束

show create table test5\G;alter table test5 drop foreign key FK_hob;alter table test5 drop key FK_hob;desc test5;

Parlons des commandes de base de la base de données MySQL (partage récapitulatif)

MySQL中6种常见的约束des commandes de base de la base de données MySQL (partage récapitulatif)>
主键约束(primary key)外键约束(foreign key)非空约束(not null)唯一性约束(unique [key|index])默认值约束(default)自增约束(auto_increment)
八、数据库用户授权des commandes de base de la base de données MySQL (partage récapitulatif)>新建用户des commandes de base de la base de données MySQL (partage récapitulatif)>
USER Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9;用户名Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9;@Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9;来源地址Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9; [IDENTIFIED BY [PASSWORD] Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9;密码Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9;];#----------------------解释部分-----------------------------------------Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9;用户名Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9;:指定将创建的用户名Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9;来源地址Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9;:指定新创建的用户可在哪些主机上登录,可使用IP地址、网段、主机名的形式,
          本地用户可用localhost,允许任意主机登录可用通配符%Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9;密码Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9;:若使用明文密码,直接输入Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9;密码Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9;,插入到数据库时由Mysql自动Parlons des commandes de base de la base de données MySQL (partage récapitulatif);
       若使用Parlons des commandes de base de la base de données MySQL (partage récapitulatif)密码,需要先使用SELECT PASSWORD(Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9;密码Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9;); 获取密文,再在语句中添加 PASSWORD Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9;密文Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9;;
       若省略“IDENTIFIED BY”部分,则用户的密码将为空(不建议使用)#----------------------------------------------------------------------例如:create user Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9;testParlons des commandes de base de la base de données MySQL (partage récapitulatif)Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9;@Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9;localhostParlons des commandes de base de la base de données MySQL (partage récapitulatif)9; IDENTIFIED BY Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9;Parlons des commandes de base de la base de données MySQL (partage récapitulatif)Parlons des commandes de base de la base de données MySQL (partage récapitulatif)Parlons des commandes de base de la base de données MySQL (partage récapitulatif)456Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9;;select password(Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9;Parlons des commandes de base de la base de données MySQL (partage récapitulatif)Parlons des commandes de base de la base de données MySQL (partage récapitulatif)Parlons des commandes de base de la base de données MySQL (partage récapitulatif)456Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9;);create user Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9;testParlons des commandes de base de la base de données MySQL (partage récapitulatif)Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9;@Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9;localhostParlons des commandes de base de la base de données MySQL (partage récapitulatif)9; IDENTIFIED BY PASSWORD Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9;*6BB48Parlons des commandes de base de la base de données MySQL (partage récapitulatif)7EB74Parlons des commandes de base de la base de données MySQL (partage récapitulatif)Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9Parlons des commandes de base de la base de données MySQL (partage récapitulatif)05EE4568DDA7DC67EDParlons des commandes de base de la base de données MySQL (partage récapitulatif)CAParlons des commandes de base de la base de données MySQL (partage récapitulatif)AD9Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9;;

用户Parlons des commandes de base de la base de données MySQL (partage récapitulatif)

查看用户信息des commandes de base de la base de données MySQL (partage récapitulatif)>
#创建后的用户保存在 mysql 数据库的 user 表里use mysql;select user,authentication_string,Host from user;

用户Parlons des commandes de base de la base de données MySQL (partage récapitulatif)

重命名用户des commandes de base de la base de données MySQL (partage récapitulatif)>
rename user Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9;testParlons des commandes de base de la base de données MySQL (partage récapitulatif)Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9;@Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9;localhostParlons des commandes de base de la base de données MySQL (partage récapitulatif)9; to Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9;zzParlons des commandes de base de la base de données MySQL (partage récapitulatif)9;@Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9;localhostParlons des commandes de base de la base de données MySQL (partage récapitulatif)9;;

用户Parlons des commandes de base de la base de données MySQL (partage récapitulatif)

删除用户des commandes de base de la base de données MySQL (partage récapitulatif)>
drop user Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9;testParlons des commandes de base de la base de données MySQL (partage récapitulatif)Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9;@Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9;localhostParlons des commandes de base de la base de données MySQL (partage récapitulatif)9;;

Parlons des commandes de base de la base de données MySQL (partage récapitulatif)

修改当前登录用户密码des commandes de base de la base de données MySQL (partage récapitulatif)>

当前密码为abcParlons des commandes de base de la base de données MySQL (partage récapitulatif)Parlons des commandes de base de la base de données MySQL (partage récapitulatif)Parlons des commandes de base de la base de données MySQL (partage récapitulatif)

set PASSWORD = PASSWORD(Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9;Parlons des commandes de base de la base de données MySQL (partage récapitulatif)Parlons des commandes de base de la base de données MySQL (partage récapitulatif)Parlons des commandes de base de la base de données MySQL (partage récapitulatif)456Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9;);

Parlons des commandes de base de la base de données MySQL (partage récapitulatif)

修改其他用户密码des commandes de base de la base de données MySQL (partage récapitulatif)>
set PASSWORD for Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9;zzParlons des commandes de base de la base de données MySQL (partage récapitulatif)9;@Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9;localhostParlons des commandes de base de la base de données MySQL (partage récapitulatif)9; = PASSWORD(Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9;abcParlons des commandes de base de la base de données MySQL (partage récapitulatif)Parlons des commandes de base de la base de données MySQL (partage récapitulatif)Parlons des commandes de base de la base de données MySQL (partage récapitulatif)Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9;);

Parlons des commandes de base de la base de données MySQL (partage récapitulatif)

忘记 root 密码的解决办法des commandes de base de la base de données MySQL (partage récapitulatif)>方法一:修改 /etc/my.cnf 配置文件,不使用密码直接登录到 mysqldes commandes de base de la base de données MySQL (partage récapitulatif)>
vim /etc/my.cnf[mysqld]skip-grant-tables					#添加,使登录mysql不使用授权表systemctl restart mysqld.servicemysql								#直接登录

Parlons des commandes de base de la base de données MySQL (partage récapitulatif)
Parlons des commandes de base de la base de données MySQL (partage récapitulatif)

使用 update 修改 root 密码,刷新数据库des commandes de base de la base de données MySQL (partage récapitulatif)>
update mysql.user set AUTHENTICATION_STRING = PASSWORD(Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9;abcParlons des commandes de base de la base de données MySQL (partage récapitulatif)Parlons des commandes de base de la base de données MySQL (partage récapitulatif)Parlons des commandes de base de la base de données MySQL (partage récapitulatif)Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9;) where user=Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9;rootParlons des commandes de base de la base de données MySQL (partage récapitulatif)9;;FLUSH PRIVILEGES;quit;mysql -u root -pabcParlons des commandes de base de la base de données MySQL (partage récapitulatif)Parlons des commandes de base de la base de données MySQL (partage récapitulatif)Parlons des commandes de base de la base de données MySQL (partage récapitulatif)注意:最后再把 /etc/my.cnf 配置文件里的 skip-grant-tables 删除或注释,并重启 mysql 服务。

Parlons des commandes de base de la base de données MySQL (partage récapitulatif)

九、数据库用户授权des commandes de base de la base de données MySQL (partage récapitulatif)>授予权限des commandes de base de la base de données MySQL (partage récapitulatif)>

GRANT语句:专门用来设置数据库用户的访问权限。
当指定的用户名不存在时,GRANT语句将会创建新的用户;
当指定的用户名存在时,GRANT 语句用于修改用户信息。

格式GRANT 权限Parlons des commandes de base de la base de données MySQL (partage récapitulatif)表 ON 数据库名.表名 TO Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9;用户名Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9;@Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9;来源地址Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9; [IDENTIFIED BY Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9;密码Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9;];#-------------------------------参数解释---------------------------------------------------------------------------权限Parlons des commandes de base de la base de données MySQL (partage récapitulatif)表:  用于Parlons des commandes de base de la base de données MySQL (partage récapitulatif)出授权使用的各种数据库操作,以逗号进Parlons des commandes de base de la base de données MySQL (partage récapitulatif)分隔,如“select,insert,update”。使用“all”表示所有权限,可授权执Parlons des commandes de base de la base de données MySQL (partage récapitulatif)任何操作。
          数据库名.表名:  用于指定授权操作的数据库和表的名称,其中可以使用通配符“*”。例如,使用“test.*”表示授权操作的对象为 test数据库中的所有表。
              Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9;用户名Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9;@Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9;来源地址Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9;:  用于指定用户名称和允许访问的客户机地址,即谁能连接、能从哪里连接。来源地址可以是域名、IP 地址,还可以使用“%”通配符,表示某个区域或网段内的所有地址,如“%.test.com”、“Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9Parlons des commandes de base de la base de données MySQL (partage récapitulatif).Parlons des commandes de base de la base de données MySQL (partage récapitulatif)68.Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9.%”等。IDENTIFIED BY: 用于设置用户连接数据库时所使用的密码字符串。在新建用户时,若省略“IDENTIFIED BY”部分,则用户的密码将为空。例如:#允许用户 lili 在本地查询 kky 数据库中所有表的数据记录,但禁止查询其他数据库中的表的记录。GRANT select ON kky.* TO Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9;liliParlons des commandes de base de la base de données MySQL (partage récapitulatif)9;@Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9;localhostParlons des commandes de base de la base de données MySQL (partage récapitulatif)9; IDENTIFIED BY Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9;abcParlons des commandes de base de la base de données MySQL (partage récapitulatif)Parlons des commandes de base de la base de données MySQL (partage récapitulatif)Parlons des commandes de base de la base de données MySQL (partage récapitulatif)Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9;;flush privileges;quit;mysql -u lili -pabcParlons des commandes de base de la base de données MySQL (partage récapitulatif)Parlons des commandes de base de la base de données MySQL (partage récapitulatif)Parlons des commandes de base de la base de données MySQL (partage récapitulatif)use kky;show tables;select * from info;其他授权例子:#允许用户 pp 在所有终端远程连接 mysql ,并拥有所有权限。GRANT ALL PRIVILEGES(可不写) ON *.* TO Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9;ppParlons des commandes de base de la base de données MySQL (partage récapitulatif)9;@Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9;%Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9; IDENTIFIED BY Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9;Parlons des commandes de base de la base de données MySQL (partage récapitulatif)Parlons des commandes de base de la base de données MySQL (partage récapitulatif)Parlons des commandes de base de la base de données MySQL (partage récapitulatif)456Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9;;

查Parlons des commandes de base de la base de données MySQL (partage récapitulatif)
查Parlons des commandes de base de la base de données MySQL (partage récapitulatif)

查看权限des commandes de base de la base de données MySQL (partage récapitulatif)>
SHOW GRANTS FOR 用户名@来源地址;例如:SHOW GRANTS FOR Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9;liliParlons des commandes de base de la base de données MySQL (partage récapitulatif)9;@Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9;localhostParlons des commandes de base de la base de données MySQL (partage récapitulatif)9;;

查Parlons des commandes de base de la base de données MySQL (partage récapitulatif)

撤销权限des commandes de base de la base de données MySQL (partage récapitulatif)>
REVOKE 权限Parlons des commandes de base de la base de données MySQL (partage récapitulatif)表 ON 数据库名.表名 FROM 用户名@来源地址;例如:REVOKE SELECT ON kky.* FROM Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9;liliParlons des commandes de base de la base de données MySQL (partage récapitulatif)9;@Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9;localhostParlons des commandes de base de la base de données MySQL (partage récapitulatif)9;;SHOW GRANTS FOR Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9;liliParlons des commandes de base de la base de données MySQL (partage récapitulatif)9;@Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9;localhostParlons des commandes de base de la base de données MySQL (partage récapitulatif)9;;#USAGE权限只能用于数据库登陆,不能执Parlons des commandes de base de la base de données MySQL (partage récapitulatif)任何操作;USAGE权限不能被回收,即 REVOKE 不能删除用户。flush privileges;REVOKE ALL ON *.* FROM Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9;liliParlons des commandes de base de la base de données MySQL (partage récapitulatif)9;@Parlons des commandes de base de la base de données MySQL (partage récapitulatif)9;localhostParlons des commandes de base de la base de données MySQL (partage récapitulatif)9;;

Parlons des commandes de base de la base de données MySQL (partage récapitulatif)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer