php和mysql web开发 笔记_PHP和MySQL Web开发读书笔记---创建Web数据库

先写个题外话,老是要忘记,byte和bit的区别,1byte=8bit,即一个字节有8位

1.创建权限 GRANT命令

GRANT privileges [columns]          //privileges是由逗号分开的一组权限 columns可以对每一列进行权限的设置

ON items      //items是新权限所应用于的数据库或表 可以将项目指定为*.*,这叫赋予全局权限,dbname.*表示指定数据库中的所有表,以dbname.tablename    制定单个表

TO user_name [IDENTIFIED BY 'password']    //user_name可以包含一个主机名 如 allen@allen.com

[REQUIRE ssl_options]   //require子句允许指定用户是否必须通过加密套接字连接,或者指定其他的ssl选项

[WITH [GRANT OPTION|limit_options]]//WITH GRANT OPTION 选项如果指定,表示允许用户再向别人授予自己所拥有的权限

我们也可以指定MAX_REQUIRE_PER_HOUR n

MAX_UPDATES_PER_HOUR n

MAX_CONNECTIONS_PER_HOUR n

这些子句可以指定每一个用户每小时执行查询、更新、和连接的次数,在共享的系统上限制单个用户的负载时,非常有用

2.关于权限控制的5个系统表:mysql.user mysql.db  mysql.host  mysql.tables_priv  mysql.columns_priv\

3.权限的类型和级别

适用于一般用户的权限

SELECT----------表、列-----------------选择行

UPDATE----------表、列-----------------修改行

DELETE----------表----------------------删除行

INSERT----------表、列-----------------插入行

ALTER------------表--------------------创建和拖动表索引(这个权限需需慎重考虑)

INDEX------------表----------------------改变表的结构

CREATE----------数据库、表-------------创建数据库或表

DROP------------数据库、表-------------拖动(删除)数据库或表

适用于赋予管理员的权限

CREATE TEMPORRARY TABLES--------------允许在使用create tables 的时候使用temporary关键字

FILE--------------------------------------允许将数据从文件读入表,或从表读入文件(这个权限一般也会给一般用户,但要注意)

LOCK TABLES-------------------------------允许使用lock tables语句

RELOAD-----------------------------------允许重新载入授权表、清空授权、主机、日志、表

PERLICATION CLIENT-----------------------允许在复制主机和从机上使用show status

PERLICATION SLAVE-----------------------允许复制从服务器连接到主服务器

SHOW DATABASES-------------------------允许查看所有数据库

SHUTDOWN-------------------------------允许关闭mysql服务器

SUPER------------------------------------允许关闭属于任何用户的线程

几个特定的权限

ALL------------------------------------授予上述两表的所有权限,也可以写成ALL PRIVILEGE

USAGE-----------------------------------创建一个用户仅允许他登录,但不允许进行任何操作

4.删除权限 REVOKE权限

REVOKE privilege [(columns)]

ON items

FROM user_name

如果给出WITH GRANT OPTION子句,可以如下子句撤销(以及所有其他权限)

REVOKE All PRIVILEGES,GRANT

FROM user_name

下面是几个例子:

mysql-> grant all privileges

on *

to fred identified by '123456'

with grant option;

mysql-> grant usage

on books.*

to sally;

mysql-> grant select,alter,updetes

on books.*

to fred;

mysql-> revoke alter

on books.*

from fred;

5.指定了auto_increment的列必须是索引列

6.char类型的列,系统将为其自动填充空格,varchar类型可以根据需要分配存储空间,这样占用空间小,但是速度没有前者快

7.创建索引

CREATE [UNIQUE|FULLTEXT] INDEX index_name               //FULLTEXT用来索引文本字段

ON table_name (index_column_name[(length)] [ASC|DESC])          //length 可以指定该字段前length个字符被索引,默认升序

8.MySQL中的数据库将被映射到具有某种文件结构的目录,而数据表将被映射为某个文件

需要配置目录和包含数据文件的位置,如mysqladmin -h host -u root -p variables;然后再查询datadir变量

9.MySQL列数据类型共3种:

数字(整型和浮点型)

日期和时间(date,time,datetime,timestamp[(m)],year[(2|4)])

字符串(普通字符串(char和varchar),TEXT和BLOB,SET和ENUM)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值