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 使用, 不过目前只有 charvarchar,text 列上可以创建全文索引值得一提的是, 在数据量较大时候, 现将数据放入一个没有全局索引的表中, 然后再用 CREATE index 创建 fulltext 索引, 要比先为一张表建立 fulltext 然后再将数据写入的速度快很多; 还有组合索引, 这种索引可以将两个列联合起来作为条件一起查查询, 单独一个列作为条件查询不会有索引的效果
创建索引的语句为 CREATE 索引种类[不写为普通索引] INDEX 索引名称 ON 表(列)
删除索引语句为 DROP INDEX 索引名称 ON 表
索引的缺点:
1. 虽然索引大大提高了查询速度, 同时却会降低更新表的速度, 如对表进行 insertupdate 和 delete 因为更新表时, 不仅要保存数据, 还要保存一下索引文件
2. 建立索引会占用磁盘空间的索引文件一般情况这个问题不太严重, 但如果你在一个大表上创建了多种组合索引, 索引文件的会增长很快索引只是提高效率的一个因素, 如果有大数据量的表, 就需要花时间研究建立最优秀的索引, 或优化查询语句
来源: http://www.phperz.com/article/18/0220/362882.html