MySQL数据库学习指南(flush-privileges刷新权限)

一、数据库的用户管理操作

1、启动MySQL服务器

以管理员身份运行,否则权限不够会拒绝访问--网络命令启动MySQL 80服务

语句:net start MySQL80

2、关闭MySQL服务器

语句:net stop MySQL80        -网络命令关闭MySQL 80服务

3、连接MySQL服务器

注意:连接服务器这里语句结尾加上分号报错,因为连接是开始而不是结束,分号是结束的意思,所以会显示报错

不加-h本地服务器,不加-P端口,不加数据库名称语句:MySQL -uroot -p010926

指定用户-u,指定密码-p,指定服务器-h,(系统默认3306)指定端口-P,指定数据库名称-语句:MySQL -uroot -p010926 -hlocalhost -P3306 nanning

查看当前登录的用户

语句:select user();

查看存在的所有的用户

语句:select user,host from mysql.user;

删除用户

语句:drop user 'baoyun'@'localhost';

查看当前使用的库

语句:select database();

查看所有的库

语句:show databases;

4、断开MySQL服务器

语句1:exit

语句2:quit

5、图形化管理工具

1、MySQL  workbench工作台

2、navicat---建议使用这个,界面美观,效率高

二、数据库的库操作

内容:表、视图、函数、查询、备份

1、创建数据库

注意:不支持一条语句创建多个数据库

不插入字符集和不插入排序规则创建库的语句:create database nanning;

插入字符集和不插入排序规则创建库的语句:create database naning

character set utf8mb4    -字符集(character set)

collate utf8mb4_unicode_ci;   -核对(collate )

字符集 (utf8mb4)支持插入多种语言支持完整的 Unicode (统一的字符编码标准,在不同系统、平台、应用之间提供一致的字符编码和显示,避免乱码问题。)字符,包括表情符号和其他特殊字符。它比早期的 utf8 更加全面,适用于多种语言和字符集的应用,因此在大多数情况下是最兼容的选择。

有很多种字符集

排序规则(utf8mb4_0900_ai_ci):

  • 0900 指的是 Unicode 版本,表示使用 Unicode 9.0 的排序规则。
  • ai 表示不区分重音(accent insensitive),即在比较字符串时,重音符号被忽略。
  • ci 表示不区分大小写(case insensitive)。

有很多种排序规则

2、删除数据库

注意:不支持一条语句删除所有数据库

#删除单个指定的数据库(不加上判断是否存在条件):drop database shujuku;

#删除单个指定的数据库(加上判断是否存在条件):drop database if exists shujuku;

#一条语句删除多个指定数据库(加上判断是否存在条件)看版本是否支持:

drop database if exists shujuku1,shujuku2,shujuku3,shujuku4;

3、查看数据库

#显示所有的数据库:show databases;

#显示指定数据库的创建信息(详细信息):show create database nanning;

#显示当前使用的数据库:select database();

4、选择数据库

#选择数据库

use nanning;

#切换到其他数据库

use shenzhen;

#查看当前选择的数据库

select database();

5、修改数据库

#修改数据库的字符集和排序规则

alter database nanning

character set utf8mb4 #修改字符集

collate utf8b4_unicode_ci #修改排序规则,Unicode(统一字符标准),ci(不区分大小写)

6、数据库备份与恢复

#手动备份

1、转储sql文件结构和数据

备份的内容涵盖:数据表、数据表内容---其他如查询,视图等可以单独备份

#语句备份

1、逻辑备份(MySQLdump)单个数据库(管理员命令提示符备份,无须连接MySQL服务器)

备份的内容涵盖:数据表、数据表内容---其他如查询,视图等可以单独备份

语句:mysqldump -uroot -p010926 shenzhen >C:\数据库备份\shenzhenbeifen.sql

cd插入指定默认路径保存备份

语句:mysqldump -uroot -p010926 shenzhen >shenzhenbeifen.sql

2、逻辑备份(MySQLdump)多个数据库(介绍破折号)

单破折号:- 意思讲用于短选项,后面通常跟一个或多个字符组合-如-u root

双破折号:-- 意思讲用于长选项,后面通常跟完整的单词或短语--如:--databases

语句:mysqldump -uroot -p010926 --database pubei dacheng >C:\数据库备份\pubei_dacheng.sql

3、逻辑备份(mysqldump)全部数据库

语句:mysqldump -uroot -p010926 --all-databases >C:\数据库备份\quanbushujuku2.sql

4、逻辑备份(mysqldump)单个表

语句:mysqldump -uroot -p010926 pubei daba >C:\数据库备份\dababeifen.sql

5、逻辑备份(mysqldump)多个表

语句:mysqldump -uroot -p010926 pubei pingtang daba >C:\数据库备份\pingtang_daba.sql

6、备份完整的数据库内容

mysqldump逻辑备份时,包含内容:表结构、表数据、视图、

存储过程和函数(routines)、触发器(triggers)

语句:mysqldump -uroot -p010926 --routines --triggers shenzhen >C:\数据库备份\shenzhen.sql

#手动恢复

1、navicat图形化管理工具

navicat图形化管理工具手动恢复---图中是恢复一整个库(sehnzhenbeifen)

可以恢复的备份内容有:单个库,单个表,多个表,多个库无法手动恢复

#语句恢复

1、>输入重定向MySQL语句

>输入重定向:指向谁就是给谁输入内容,尾部是内容,箭头是内容存放位置

语句:mysql -uroot -p010926 dacheng <C:\数据库备份\pubei.sql

7、数据库的权限管理

一、用户管理(占位符、通配符、分隔符)

1、创建用户

用户的连接主机:主机名(localhost)、网络的IP地址(192.168.0.199)、通配符(%)

语句:create user 'baoyun'@'localhost' identified by '010926';

2、查询所有的用户

语句:select user,host from mysql.user;

3、删除用户

语句:drop user 'baoyun'@'localhost';

4、修改用户密码

语句:alter user 'baoyun'@'lcalhost' identified by '888888';

二、权限管理

1、root用户全部权限和选择权、授予给普通用户

语句:grant all privileges on *.* to 'baoyun'@'localhost' with grant option;

2、授予用户全部权限、所有库和表、没有授予选择权

语句:grant all privileges on *.* to 'baoyun'@'localhost';

3、授予用户全部权限、单个库和所有表、和选择权

语句:grant all privileges on dacheng.* to 'baoyun2'@'localhost' with grant option;

4、授予用户全部权限、单个库、单个表、和选择权

语句:grant all privileges on shenzhen.name to 'baoyun2'@'localhost' with grant option;

5、授予用户select权限、单个库、单个表、和选择权

语句:grant select on shenzhen.name2 to 'baoyun2'@'localhost' with grant option;

6、撤销用户权限

语句:revoke all privileges on shenzhen.name2 to 'baoyun2'@'localhost';

7、显示用户权限

语句:show grants for 'baoyun'@'localhost';

8、以下是MySQL中权限类型的详细分类,以小写字母格式提供:

all privileges:全部权限即可包含下面全部权限

1. 数据操作权限
这些权限涉及对数据的操作,主要包括:
select:查询数据。
insert:插入新数据。
update:更新现有数据。
delete:删除数据。

2. 数据库和表管理权限
这些权限涉及数据库和表的管理,主要包括:
create:创建新的数据库或表。
drop:删除数据库或表。
alter:修改数据库或表的结构(例如添加或删除列)。
index:创建和删除索引。

3. 特殊权限
这些权限用于特定操作和管理,主要包括:
grant option:允许用户将其权限授予其他用户。
reload:允许重新加载权限和日志文件。
shutdown:允许关闭mysql服务器。
super:执行管理操作,如终止线程或设置全局变量。
file:允许用户读写文件系统上的文件。

4. 存储过程和触发器权限
execute:执行存储过程。
trigger:创建和删除触发器。

5. 访问控制权限
show view:查看视图结构。
create view:创建视图。

三、数据库的表操作

1、创建表

MySQL常用的关键字(详细)-CSDN博客

mysql表结构的完整描述(详细教程)-CSDN博客

MySQL符号类型(详细)-CSDN博客

关键字不能作为列名使用,除非使用反引号标识-`else`

语句:MySQL常用的关键字(详细)-CSDN博客

create table biao1(
id int(6) not null primary key auto_increment comment'序号',
name varchar(6) null comment'姓名',
sex enum('男','女') null comment'性别',
salary decimal(12,2) null comment'工资',
address varchar(100) null comment'工作地址',
time datetime null comment'日期时间',
`else` text null comment'其他备注'
);

2、删除表

1、删除单个表

语句:drop table biao1;

2、删除多个表

语句:drop table biao2,biao3;

3、删除全部的表

直接删除这个库语句:drop database nanning;

3、修改表

mysql表结构的完整描述(详细教程)-CSDN博客

MySQL符号类型(详细)-CSDN博客

MySQL常用的关键字(详细)-CSDN博客

1、修改列的数据类型

语句:alter table biao1 modify name text;

2、修改多个列的数据类型

语句:alter table biao1 modify name varchasr(6) modify else varcahr(100);

3、重命名列(更改列名)

语句:alter table biao1 change id id_id int(10);

4、添加单个新列

语句:alter table biao1 add phone int(20) null after address;

5、添加多个新的列

语句:alter table biao1

add time datetime null comment'日期时间',
add `else` text null comment'其他备注',
add phone int(100) null comment'电话号码'; 

6、删除单个列

语句:alter table biao1 drop column phone;

7、删除多个列

语句:alter table biao1 drop column time drop column `else`;

4、查看表的结构

MySQL表状态status包含的内容(详细)-CSDN博客

MySQL符号类型(详细)-CSDN博客

1、显示创建表的语句

语句:show create table biao1;

2、描述表的结构

语句:desc biao1;

3、显示单个表的状态

语句:show table status like 'biao1';

4、显示多个表的状态

语句:show table status where name in('biao1','biao2');

5、显示全部表的状态

语句:show table status;

5、查看表的数据

1、查看表的全部列

语句:select * from biao1;

2、查看表的特定列

语句:select id,name,sex from biao1;

6、创建索引

作用:提高查询效率,创建主键、外键、唯一键的时候会自动生成一个索引

普通索引是手动语句创建(复合索引就是多个列设置为索引)

mysql表结构的完整描述(详细教程)-CSDN博客包含索引教程

一、创建普通和复合索引

1、在创建表的时候写入

语句:

create table biao2(
id int(6) not null primary key auto_increment comment'序号',
name varchar(6) null comment'姓名',
sex enum('男','女') null comment'性别',
salary decimal(12,2) null comment'工资',
address varchar(100) null comment'工作地址',
time datetime null comment'日期时间',
`else`text null comment'其他备注',
index index_name (name), #定义一个单列索引
index index_sex_address (sex,address) #定义一个复合索引
);
#显示所有索引
show index from biao2;

2、在已存在的表添加
1、alter table 设置(add添加)添加索引

语句:alter table biao2 add  index index_salary (salary);

2、create index 设置(on在)创建索引

语句:create index index_time on biao2 (time);

二、显示创建的索引

显示创建所有索引

语句:show index from biao2;

7、删除索引

删除索引

1、drop直接删除索引

语句:drop index index_time on biao2;

2、alter table修改表结构语法删除索引

语句:alter table biao2 drop index index_salary;

8、约束管理

使用教程和知识介绍

mysql表结构的完整描述(详细教程)-CSDN博客 

MySQL约束管理-CSDN博客

MySQ怎么使用语法介绍(详细)-CSDN博客

一、植入约束的方法

1、创建表的时候给定(主键约束)

语句:

create table biao3(
id int(6) not null primary key auto_increment comment'序号',
name varchar(6) null comment'姓名',
sex enum('男','女') null comment'性别',
salary decimal(12,2) null comment'工资',
address varchar(100) null comment'工作地址',
time datetime null comment'日期时间',
`else`text null comment'其他备注',
index index_name (name), #定义一个单列索引
index index_sex_address (sex,address) #定义一个复合索引 
);

2、已存在的表修改列的属性并添加default约束

语句:alter table biao3 modify sex enum('男','女') default'女 ';

3、已存在的表修改列的属性并添加not null约束

语句:alter table biao3 modify salary dicimal(12,2) not null;

3、删除约束

1、删除add和创建表时添加的约束

主键有约束的先移除约束(自增auto_incrment)

修改列的属性语句:alter table biao3 modify id int not null;(使用not null因为主键不能为空)

删除主键约束语句:alter table biao3 drop primary key;

2、删除已存在对象的属性约束

语句:alter table biao3 modify column sex enum('男','女') comment'性别';

4、修改约束

修改成主键约束语句:alter table biao3 add constraint constraint_id paimary key(id);

5、查看约束

1、显示创建表的语句

语句:show create table biao3;

2、描述表结构

语句:show index from biao3;

6、约束的类型

1、主键约束 (Primary Key Constraint) - PRI   Constraint翻译:约束
2、唯一约束 (Unique Constraint) - UQ
3、外键约束 (Foreign Key Constraint) - FK
4、检查约束 (Check Constraint) - CK

前面4个的语法格式(加上约束名称constraint):

主键约束:alter table biao3 add constraint constraint_id primary key(id);
外键约束:alter table child_table             修改表结构
add constraint fk_constraint_name          添加外键并写上约束名称
foreign key (child_column) references parent_table (parent_column); 参照主表的列

解释add、set添加约束
1、add: 用来 添加 新的对象(如列、约束等)。
2、set: 用来 修改 已存在的对象的属性(如默认值)。


5、默认约束 (Default Constraint) - DF
6、非空约束 (Not Null Constraint) - NN

这2个的语法格式:

alter table employees  --修改表的结构
modify status varchar(20) default 'active';  --修改表的属性

总结:自动生成索引的约束主要包括:主键约束、外键约束、唯一键约束

9、导出和导入表数据

导出

一、手动
1、navicat图形化管理工具

转储sql文件结构和数据

二、语句
1、mysqldump逻辑备份

语句:mysqldump -uroot -p010926 nanning biao3 >C:\数据库备份\biao3.sql

导入

一、手动
1、navicat图形化管理工具

二、语句
2、mysqldump逻辑备份

语句:mysql -uroot -p010926 <C:\数据库备份\biao3.sql

10、其他操作

四、数据库的数据操作(针对表的数据操作)

一、插入数据(insert)

1、单条插入

2、多条插入

3、select插入

4、插入默认值

二、更新数据(update)

三、删除数据(delete)                

四、查询数据(select)

五、数据库的其他(知识点)数据操作

六、mysql等级介绍

新建连接---创建数据库-创建数据表

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值