【正文】
localhost39。erich39。test39。localhost39。erich39。test39。localhost39。test39。所以user數(shù)據(jù)表里還會有該帳號的記錄,要徹底刪除帳號,需使用delete命令手工刪除user表中的相關數(shù)據(jù)。設置密碼 privileges有哪些 alter 修改表和索引 create 創(chuàng)建數(shù)據(jù)庫和表 delete 刪除表中以有的記錄 drop 刪除數(shù)據(jù)庫和表 inde 創(chuàng)建和刪除索引 insert 向表中插入數(shù)據(jù) select 檢索表中的數(shù)據(jù)、 update 修改表中的記錄 file 讀寫服務器上的數(shù)據(jù) process 查看服務器中執(zhí)行的線程信息或殺死線程 reload 重載授權(quán)表或清空日志、主機緩存或表緩存 shutdown 關閉服務器 all 所有權(quán)限 revoke取消授權(quán) mysqlrevoke privileges(columns)on what from account。這種用戶名、主機名格式、identified by 39。39。 grant privileges(columns) privileges表示授予的權(quán)限,columns表示作用的列(可選) on what 設置權(quán)限級別:全局級、數(shù)據(jù)庫級、表級、列級 to account 權(quán)限授予的用戶:用39。identified by 39。39。 grant select on stus.* to 39。identified by 39。39。 授權(quán):grant all on *.* to 39。))。, password(39。,39。重新加載權(quán)限表,使修改立即生效 添加用戶 mysql use mysql mysql insert into user(host,user,password)values(39。root39。newpassword39。這個權(quán)限表不受grant和revoke語句的影響 設置密碼修改user表 直接修改user表 mysqluse mysql。 Query OK, 1 row affected ( sec) mysql select * from users。12345639。abcdfg39。)。,39。 Query OK, 0 rows affected ( sec) mysql insert into users values(39。)。=password(39。39。 設置root用戶遠程登錄密碼 set password for 39。00000039。localhost39。root39。 into table tablename。 恢復: mysqlload data infile 39。c:\\db_backup\39。c:\\db_backup39。 只生成 .frm 和 .myd,可以在數(shù)據(jù)庫恢復后重建索引 drop table chat。 backup table chat to 39。 合理創(chuàng)建索引,反之會降低數(shù)據(jù)庫的查詢效率,反之創(chuàng)建的索引會失去意義。 索引的作用: 快速找出匹配一個where子句的行 當執(zhí)行連接時,從其他表檢索行 對特定的索引列找出max()或min()值 mysql中的索引: 索引實際上是一個分離的列表,具有一個指向全表的指針 myisam表,索引被存儲為分離文件 innodb,索引存儲為表空間的一部分 mysql有四種類型的索引:主鍵(primary key)、唯一索引(unique)、全文索引(full index)、普通索引(index) 創(chuàng)建index create index indexname on tablename(columnname); indexname(索引名稱) tablename(表名稱) columnname(要創(chuàng)建索引的字段名稱) alter table tablename add index indexname(columnname); 查看索引show keys from tablename; 刪除indexalter table tablename drop index indexname; full index(myisam支持) create table chat(id int,chat1 text,chat2 text); create fulltext index index_text on tablename(col1,col2); alter table tablename add fulltext(col1,col2); 高效使用索引: 太多的索引,占用空間 每次進行插入或更新時,索引都必須針對變化 重新排序,會導致 很多額外負擔 何處使用索引? where從句中條件匹配的行 select name from student where ment like“a%”; ment域的索引就起到了作用 Explain 分析索引 語法: explain select age from test12。沒有索引,mysql不得不首先以第一條記錄開始并然后讀完整個表直到他找出相關的行,表越大,花費時間越多。 Empty set ( sec) 修改表類型 sql語句:alter table tablename engine=innodb; 注意:不可以將mysql系統(tǒng)表比如‘user’或‘host’轉(zhuǎn)換成innodb類型。 Empty set ( sec) mysql mit。 at line 1 mysql rollback。 check the manual that corresponds to your MySQL server version for the right syntax to use near 39。 +++ | id | name | +++ | 1 | zhangs | +++ 1 row in set ( sec) mysql end。)。 Query OK, 0 rows affected ( sec) mysql insert into test11 values(1,39。 非事務表自身有幾大優(yōu)點: 非事務表自身有幾大優(yōu)點,因為沒有事務開支,所有優(yōu)點都能出現(xiàn): 更快 需要更更少的磁盤空間 執(zhí)行更新需要更少的內(nèi)存 你可以在同一個語句中合并事務安全和非事務安全表來獲得兩者最好的情況。即使mysql崩潰或遇到硬件問題 ,要么自動恢復,要么從備份加事務日志恢復,你可以取回數(shù)據(jù) 你可以合并許多語句,并用mit語句同時接受她們?nèi)浚ㄈ绻鸻utomit被禁止掉) 你可以執(zhí)行rollback來忽略你的改變(如果automit被禁止掉) 如果更新失敗,你的所有改變都變回原來。 .frm,結(jié)構(gòu)定義文件 .DB,數(shù)據(jù)表數(shù)據(jù)和索引文件 INNODB:由于采用表空間的概念來管理數(shù)據(jù)表,同一目錄下的其他文件表示為空間,存儲數(shù)據(jù)表的數(shù)據(jù)和索引 HEAP數(shù)據(jù)表是一個存在與內(nèi)存中的表,所以他的數(shù)據(jù)和索引都存在于內(nèi)存中,及定義結(jié)構(gòu),當mysql關閉后數(shù)據(jù)都將消失。 MYISAM是數(shù)據(jù)表是ISAM數(shù)據(jù)表的繼承者,也是三個文件,分別是: .frm,結(jié)構(gòu)定義文件; .MYD,數(shù)據(jù)文件; .MYI,索引文件。他提供高速存儲和檢索,以及全文搜索能力。它的cpu效率可能是任何其他基于磁盤的關系數(shù)據(jù)庫引擎所有不能匹敵的。BDB被包含在mac支持它的操作系統(tǒng)發(fā)布的mysqlmax二制分發(fā)版里。 MYSQL的事務與引擎