时间:2021-05-23
mysql权限和索引
mysql的最高用户是root,
我们可以在数据库中创建用户,语句为CREATE USER 用户名 IDENTIFIED BY '密码',也可以执行CREATE USER 用户名 语句来创建用户,不过此用户没有密码,可以将用户登录后进行密码设置;删除用户语句为DROP USER 用户;更改用户名的语句为RENAME USER 老用户名 to 新用户名;
修改密码语句为set password=password('密码');
高级用户修改别的用户密码的语句为SET PASSWORD FOR 用户=PASSWORD('密码'); 。
关于赋予权限的操作有以下几种,
查看用户权限语句为show grants for 用户;
赋予用户权限语句为grant 权限 on.to 用户,第一个号代表数据库,第二个号代表要赋予权限的表;
取消用户权限的语句REVOKE CREATE ON.FROM 用户;刷新的语句是FLUSH PRIVILEGES。
mysql的索引可以让我们对数据库中数据的查找提供更快的速度,我们在编程的时候,条件上使用类那个列,就可以将查询涉及到的列设计为索引。
索引有普通索引,设为普通索引对列的数据没有影响,但是对数据的查找速度进行了优化;唯一索引设为唯一索引的列中的值是唯一的,同样也是对数据的查找速度进行了优化;主键索引就是设为主键列会自动添加主键索引,一个表只能有一个主键列,此列不允许有空值,一般是在建表的时候同时创建主键索引;全文索引主要用来查找文本中的关键字,而不是直接与索引中的值相比较。fulltext索引跟其它索引大不相同,它更像是一个搜索引擎,而不是简单的where语句的参数匹配。fulltext索引配合match against操作使用,而不是一般的where语句加like。它可以在create table,alter table ,create index使用,不过目前只有char、varchar,text 列上可以创建全文索引。值得一提的是,在数据量较大时候,现将数据放入一个没有全局索引的表中,然后再用CREATE index创建fulltext索引,要比先为一张表建立fulltext然后再将数据写入的速度快很多;还有组合索引,这种索引可以将两个列联合起来作为条件一起查查询,单独一个列作为条件查询不会有索引的效果。
创建索引的语句为CREATE 索引种类[不写为普通索引] INDEX 索引名称 ON 表(列)。
删除索引语句为DROP INDEX 索引名称ON 表。
索引的缺点:
1.虽然索引大大提高了查询速度,同时却会降低更新表的速度,如对表进行insert、update和delete。因为更新表时,不仅要保存数据,还要保存一下索引文件。
2.建立索引会占用磁盘空间的索引文件。一般情况这个问题不太严重,但如果你在一个大表上创建了多种组合索引,索引文件的会增长很快。索引只是提高效率的一个因素,如果有大数据量的表,就需要花时间研究建立最优秀的索引,或优化查询语句。
以上就是关于mysql权限和索引的知识内容的全部,感谢你对的支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
MySQL设计和命令行模式下建立详解系列文章:MySQL设计和命令行模式下建立详解C++利用MySQLAPI连接和操作数据库实例详解1.数据表的设计MySQL数
MySQL复制表详解如果我们需要完全的复制MySQL的数据表,包括表的结构,索引,默认值等。如果仅仅使用CREATETABLE...SELECT命令,是无法实现
1.C++连接和操作MySQL的方式系列文章:MySQL设计和命令行模式下建立详解C++利用MySQLAPI连接和操作数据库实例详解在Windows平台,我们可
Python操作MySQL详解及实例使用Python进行MySQL的库主要有三个,Python-MySQL(更熟悉的名字可能是MySQLdb),PyMySQL和
1.今天刚装了mysql8.0.13,试着分配几个账号和权限,结果报错:2.查资料得知mysql8的分配权限不能带密码隐士创建账号了,要先创建账号再设置权限输入