-
主键索引(
Primary Key
) -
唯一的标识,主键不可重复,只能有一个列作为主键
-
唯一索引(
Unique
) -
避免重复的列出现,唯一索引可以重复,多个列都可以标识为唯一索引
-
常规索引(
Index
) -
默认的
-
全文索引(
FullText
) -
在特定的数据库引擎下才有
作用 : 避免同一个表中某数据列中的值重复
与主键索引的区别
-
主键索引只能有一个
-
唯一索引可能有多个
CREATE TABLE Grade
(
GradeID
INT(11) AUTO_INCREMENT PRIMARYKEY,
GradeName
VARCHAR(32) NOT NULL UNIQUE
– 或 UNIQUE KEY GradeID
(GradeID
)
)
作用 : 快速定位特定数据
注意:
-
index 和 key 关键字都可以设置常规索引
-
应加在查询找条件的字段
-
不宜添加太多常规索引,影响数据的插入,删除和修改操作
CREATE TABLE result
(
– 省略一些代码
INDEX/KEY ind
(studentNo
,subjectNo
) – 创建表时添加
)
– 创建后添加
ALTER TABLE result
ADD INDEX ind
(studentNo
,subjectNo
);
百度搜索:全文索引
作用 : 快速定位特定数据
注意 :
-
只能用于CHAR , VARCHAR , TEXT数据列类型
-
适合大型数据集
-
索引不是越多越好
-
不要对经常变动的数据加索引
-
小数据量的表建议不要加索引
-
索引一般应加在查找条件的字段
========================================================================
- 添加新用户
- 创建用户
- 选择用户权限
- 使用创建的新用户名与密码进行连接
- 可以选择删除创建的用户
用户的信息表是: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;
=============================================================================
- 为什么要备份?
-
保证重要的数据不丢失
-
数据转移
-
我们创建的数据库都在
mysql
目录下的data
目录 -
直接拷贝
data
目录下的数据库即可进行备份
- 在SQLyog等这种可视化数据库管理软件中右键导出
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
- 导入之前最好先登录数据库
mysql -uroot -p123456;
- 在登录的情况下,切换到指定的数据库
use school;
- 导入表
source d:/a.sql;
========================================================================
最近我根据上述的技术体系图搜集了几十套腾讯、头条、阿里、美团等公司21年的面试题,把技术点整理成了视频(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,这里以图片的形式给大家展示一部分
mysql -uroot -p123456;
- 在登录的情况下,切换到指定的数据库
use school;
- 导入表
source d:/a.sql;
========================================================================
[外链图片转存中…(img-knBnIvpw-1714489021045)]
最近我根据上述的技术体系图搜集了几十套腾讯、头条、阿里、美团等公司21年的面试题,把技术点整理成了视频(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,这里以图片的形式给大家展示一部分
[外链图片转存中…(img-Px699p5U-1714489021046)]