《遇见狂神说》MySQL从入门到删库(二)

2.1、索引的分类


  • 主键索引Primary Key

  • 唯一的标识,主键不可重复,只能有一个列作为主键

  • 唯一索引Unique

  • 避免重复的列出现,唯一索引可以重复,多个列都可以标识为唯一索引

  • 常规索引Index

  • 默认的

  • 全文索引FullText

  • 在特定的数据库引擎下才有

2.2、唯一索引


作用 : 避免同一个表中某数据列中的值重复

与主键索引的区别

  • 主键索引只能有一个

  • 唯一索引可能有多个

CREATE TABLE Grade(

GradeID INT(11) AUTO_INCREMENT PRIMARYKEY,

GradeName VARCHAR(32) NOT NULL UNIQUE

– 或 UNIQUE KEY GradeID (GradeID)

)

2.3、常规索引


作用 : 快速定位特定数据

注意

  • index 和 key 关键字都可以设置常规索引

  • 应加在查询找条件的字段

  • 不宜添加太多常规索引,影响数据的插入,删除和修改操作

CREATE TABLE result(

– 省略一些代码

INDEX/KEY ind (studentNo,subjectNo) – 创建表时添加

)

– 创建后添加

ALTER TABLE result ADD INDEX ind(studentNo,subjectNo);

2.4、全文索引


百度搜索:全文索引

作用 : 快速定位特定数据

注意 :

  • 只能用于CHAR , VARCHAR , TEXT数据列类型

  • 适合大型数据集

2.5、索引准则


  • 索引不是越多越好

  • 不要对经常变动的数据加索引

  • 小数据量的表建议不要加索引

  • 索引一般应加在查找条件的字段

3、权限管理

========================================================================

3.1、SQLyog可视化操作


  1. 添加新用户

在这里插入图片描述

  1. 创建用户

在这里插入图片描述

  1. 选择用户权限

在这里插入图片描述

  1. 使用创建的新用户名与密码进行连接

在这里插入图片描述

  1. 可以选择删除创建的用户

在这里插入图片描述

3.2、SQL基本命令操作


用户的信息表是:mysql.user

在这里插入图片描述

3.2.1、创建用户

语法:create user 用户名 inentified by '密码'

  • 用户名需要加引号

  • 密码也需要加引号,纯数字密码也要加引号

– 新创建一个用户名为’kuangshen’,密码为’123456’

CREATE USER kuangshen IDENTIFIED BY ‘123456’;

在这里插入图片描述

3.2.2、修改当前用户密码

格式:set password = password('密码')

SET PASSWORD = PASSWORD(‘111111’);

3.2.3、修改指定用户密码

格式:set password for 用户名 = password('密码')

– 修改kuangshen用户的密码为111111

SET PASSWORD FOR kuangshen = PASSWORD(‘111111’);

3.2.4、重命名用户名

格式:rename user 原来的名字 to 新的名字

RENAME USER kuangshen TO kuangshen2;

3.2.5、给用户授权

格式:grant 权限列表 on 表名 to 用户名

grant all privileges on . to kuangshen;

– all privileges 表示所有权限,除了不能给别人授权,拥有其余所有权限

. 表示所有库的所有表

– 库名.表名 表示某库下面的某表

3.2.6、查看权限

格式:show grants for 用户名

– 查看管理员权限

show grants for root@localhost;

– 查看指定账户kuangshen的权限

show grants for kuangshen;

3.2.7、撤销权限

格式:revoke 哪些权限 on 表名 from 用户名

– 撤销kuangshen的全部权限

revoke all privileges on . from kuangshen;

3.2.8、删除用户

格式:drop user 用户名

– 删除用户kuangshen

drop user kuangshen;

4、MySQL备份方式

=============================================================================

  1. 为什么要备份?
  • 保证重要的数据不丢失

  • 数据转移

4.1、物理拷贝导出


  • 我们创建的数据库都在 mysql 目录下的 data 目录

  • 直接拷贝data 目录下的数据库即可进行备份

4.2、SQLyog可视化操作导出


  • 在SQLyog等这种可视化数据库管理软件中右键导出

在这里插入图片描述

4.3、命令行mysqldump导出


  1. win + r 输入cmd
  • 导出一张表

mysqldump -h主机 -u用户名 -p密码 数据库 表名 > 物理磁盘位置/文件名

mysqldump -hlocalhost -uroot -p123456 school student > D:/a.sql

  • 导出多张表

mysqldump -h主机 -u用户名 -p密码 数据库 表1 表2 表3 > 物理磁盘位置/文件名

mysqldump -hlocalhost -uroot -p123456 school student1 student2 > D:/b.sql

  • 导出数据库

mysqldump -h主机 -u用户名 -p密码 数据库 > 物理磁盘位置/文件名

mysqldump -hlocalhost -uroot -p123456 school > D:/c.sql

4.4、导入


  1. 导入之前最好先登录数据库

mysql -uroot -p123456;

  1. 在登录的情况下,切换到指定的数据库

use school;

  1. 导入表

source d:/a.sql;

5、三大范式

========================================================================

5.1、第一范式(1NF)


最近我根据上述的技术体系图搜集了几十套腾讯、头条、阿里、美团等公司21年的面试题,把技术点整理成了视频(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,这里以图片的形式给大家展示一部分

mysql -uroot -p123456;

  1. 在登录的情况下,切换到指定的数据库

use school;

  1. 导入表

source d:/a.sql;

5、三大范式

========================================================================

5.1、第一范式(1NF)


[外链图片转存中…(img-knBnIvpw-1714489021045)]

最近我根据上述的技术体系图搜集了几十套腾讯、头条、阿里、美团等公司21年的面试题,把技术点整理成了视频(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,这里以图片的形式给大家展示一部分

[外链图片转存中…(img-Px699p5U-1714489021046)]

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

  • 28
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值