php和mysql web开发 笔记_PHP和MySQL Web开发读书笔记---创建Web数据库
先寫個(gè)題外話,老是要忘記,byte和bit的區(qū)別,1byte=8bit,即一個(gè)字節(jié)有8位
1.創(chuàng)建權(quán)限 GRANT命令
GRANT privileges [columns] ? ? ? ? ?//privileges是由逗號分開的一組權(quán)限 columns可以對每一列進(jìn)行權(quán)限的設(shè)置
ON items ? ? ?//items是新權(quán)限所應(yīng)用于的數(shù)據(jù)庫或表 可以將項(xiàng)目指定為*.*,這叫賦予全局權(quán)限,dbname.*表示指定數(shù)據(jù)庫中的所有表,以dbname.tablename ? ?制定單個(gè)表
TO user_name [IDENTIFIED BY 'password'] ? ?//user_name可以包含一個(gè)主機(jī)名 如 allen@allen.com
[REQUIRE ssl_options] ? //require子句允許指定用戶是否必須通過加密套接字連接,或者指定其他的ssl選項(xiàng)
[WITH [GRANT OPTION|limit_options]]//WITH GRANT OPTION 選項(xiàng)如果指定,表示允許用戶再向別人授予自己所擁有的權(quán)限
我們也可以指定MAX_REQUIRE_PER_HOUR n
MAX_UPDATES_PER_HOUR n
MAX_CONNECTIONS_PER_HOUR n
這些子句可以指定每一個(gè)用戶每小時(shí)執(zhí)行查詢、更新、和連接的次數(shù),在共享的系統(tǒng)上限制單個(gè)用戶的負(fù)載時(shí),非常有用
2.關(guān)于權(quán)限控制的5個(gè)系統(tǒng)表:mysql.user mysql.db ?mysql.host ?mysql.tables_priv ?mysql.columns_priv\
3.權(quán)限的類型和級別
適用于一般用戶的權(quán)限
SELECT----------表、列-----------------選擇行
UPDATE----------表、列-----------------修改行
DELETE----------表----------------------刪除行
INSERT----------表、列-----------------插入行
ALTER------------表--------------------創(chuàng)建和拖動表索引(這個(gè)權(quán)限需需慎重考慮)
INDEX------------表----------------------改變表的結(jié)構(gòu)
CREATE----------數(shù)據(jù)庫、表-------------創(chuàng)建數(shù)據(jù)庫或表
DROP------------數(shù)據(jù)庫、表-------------拖動(刪除)數(shù)據(jù)庫或表
適用于賦予管理員的權(quán)限
CREATE TEMPORRARY TABLES--------------允許在使用create tables 的時(shí)候使用temporary關(guān)鍵字
FILE--------------------------------------允許將數(shù)據(jù)從文件讀入表,或從表讀入文件(這個(gè)權(quán)限一般也會給一般用戶,但要注意)
LOCK TABLES-------------------------------允許使用lock tables語句
RELOAD-----------------------------------允許重新載入授權(quán)表、清空授權(quán)、主機(jī)、日志、表
PERLICATION CLIENT-----------------------允許在復(fù)制主機(jī)和從機(jī)上使用show status
PERLICATION SLAVE-----------------------允許復(fù)制從服務(wù)器連接到主服務(wù)器
SHOW DATABASES-------------------------允許查看所有數(shù)據(jù)庫
SHUTDOWN-------------------------------允許關(guān)閉mysql服務(wù)器
SUPER------------------------------------允許關(guān)閉屬于任何用戶的線程
幾個(gè)特定的權(quán)限
ALL------------------------------------授予上述兩表的所有權(quán)限,也可以寫成ALL PRIVILEGE
USAGE-----------------------------------創(chuàng)建一個(gè)用戶僅允許他登錄,但不允許進(jìn)行任何操作
4.刪除權(quán)限 REVOKE權(quán)限
REVOKE privilege [(columns)]
ON items
FROM user_name
如果給出WITH GRANT OPTION子句,可以如下子句撤銷(以及所有其他權(quán)限)
REVOKE All PRIVILEGES,GRANT
FROM user_name
下面是幾個(gè)例子:
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類型的列,系統(tǒng)將為其自動填充空格,varchar類型可以根據(jù)需要分配存儲空間,這樣占用空間小,但是速度沒有前者快
7.創(chuàng)建索引
CREATE [UNIQUE|FULLTEXT] INDEX index_name ? ? ? ? ? ? ? //FULLTEXT用來索引文本字段
ON table_name (index_column_name[(length)] [ASC|DESC]) ? ? ? ? ?//length 可以指定該字段前l(fā)ength個(gè)字符被索引,默認(rèn)升序
8.MySQL中的數(shù)據(jù)庫將被映射到具有某種文件結(jié)構(gòu)的目錄,而數(shù)據(jù)表將被映射為某個(gè)文件
需要配置目錄和包含數(shù)據(jù)文件的位置,如mysqladmin -h host -u root -p variables;然后再查詢datadir變量
9.MySQL列數(shù)據(jù)類型共3種:
數(shù)字(整型和浮點(diǎn)型)
日期和時(shí)間(date,time,datetime,timestamp[(m)],year[(2|4)])
字符串(普通字符串(char和varchar),TEXT和BLOB,SET和ENUM)
總結(jié)
以上是生活随笔為你收集整理的php和mysql web开发 笔记_PHP和MySQL Web开发读书笔记---创建Web数据库的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在PS中如何把制作好的图形作成自定义形状
- 下一篇: 农夫山泉股票怎么买