檢查特定的表
創(chuàng)新互聯(lián)公司專注于玉泉街道企業(yè)網站建設,成都響應式網站建設公司,商城網站開發(fā)。玉泉街道網站建設公司,為玉泉街道等地區(qū)提供建站服務。全流程按需網站建設,專業(yè)設計,全程項目跟蹤,創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務
注意在shell中執(zhí)行,不是在mysql的交互環(huán)境下
如果應用中提示某個表壞了,使用下面的命令來檢查。
$ mysqlcheck -c newmandela order -uroot -pEnter password:
newmandela.order
OK
newmandela 是庫名, order是表名,還需要輸入用戶名和密碼
檢查一個庫中的所有表
$?mysqlcheck?-c?newmandela?-uroot?-p
Enter?password:
newmandela.account?OK
newmandela.alarm?OK
newmandela.alarm_settings?OK
newmandela.auth_group?OK
newmandela.auth_group_permissions?OK
newmandela.auth_permission?OK...
估計是的query函數是封裝的mysql_query.
我測試了一下:
$sql="check?table?表名";
$res=mysql_query($sql);
while?($row?=?mysql_fetch_assoc($res))?{
print_r($row);
}
mysql_free_result($res);
//check?table?返回的結果是:
Array
(
[Table]?=數據庫名字.表名
[Op]?=?check
[Msg_type]?=?status
[Msg_text]?=?OK
)
你可以根據上面返回的結果來判斷。
注意:你用mysql_query來執(zhí)行一些語句的時候,如果執(zhí)行錯誤講返回false。如果沒有權限,那么此函數也返回false。具體可參考此函數的php手冊說明。
mysqlcheck 是 MySQL 自帶的一個工具,作用就是保養(yǎng) 表,其實就是檢查,分析,修復和優(yōu)化了。下面來介紹 mysqlcheck 工具的簡單使用,官方文檔在這里
以下的例子都是基于 MySQL 5.6 版本運行狀態(tài)下(mysqlcheck是個在線工具), 不同的存儲引擎對于這個命令的支持程度不同(指的是 check, repair, analyze, optimize),下面內容偏于操作,主要基于 innodb 引擎。
提示:OPTIMIZE 在大表時候可能會消耗很多時間,不清楚原理情況下請謹慎使用!!! innodb 一般不用 OPTIMIZE,請參見 Using MySQL OPTIMIZE tables? For InnoDB? Stop
檢查特定的表
注意在shell中執(zhí)行,不是在mysql的交互環(huán)境下
如果應用中提示某個表壞了,使用下面的命令來檢查。
$ mysqlcheck -c newmandela order -uroot -pEnter password:
newmandela.order
OK
newmandela 是庫名, order是表名,還需要輸入用戶名和密碼
檢查一個庫中的所有表
$ mysqlcheck -c newmandela -uroot -p
Enter password:
newmandela.account OK
newmandela.alarm OK
newmandela.alarm_settings OK
newmandela.auth_group OK
newmandela.auth_group_permissions OK
newmandela.auth_permission OK...
這是一項新功能,用于指定在插入或更新到一行之前檢查值的條件。如果表的任何行的搜索條件的結果為 FALSE,則約束可能返回錯誤(但如果結果為 UNKNOWN 或 TRUE,則約束不會返回錯誤)。此功能開始在 MySQL 8.0.16 上運行,在以前的版本中,我們可以創(chuàng)建它,但它不起作用,這意味著支持語法,但不起作用。要牢記的使用規(guī)則:
AUTO_INCREMENT 自增列不允許使用
引用另一個表中的另一列不允許使用
存儲的函數和用戶定義的函數不允許使用
存儲過程和函數參數不允許使用
子查詢不允許使用
在外鍵中用于后續(xù)操作(ON UPDATE,ON DELETE)的列不允許使用
為下一條語句 INSERT,UPDATE,REPLACE,LOAD DATA 和 LOAD XML 評估此次監(jiān)測。此外,還會為 INSERT IGNORE,UPDATE IGNORE,LOAD DATA…IGNORE 和 LOAD XML…IGNORE 評估此監(jiān)測約束。對于這些語句,如果約束的評估結果為 FALSE,則會發(fā)生警告。插入或更新被跳過。
我們可以使用此功能在表中添加更多的邏輯,但是根據我以前作為程序員的經驗,我不建議在表中添加邏輯,因為除非您無法訪問應用程序代碼,否則很難找到或調試錯誤。
1、linux下mysql安裝完后是默認:區(qū)分表名的大小寫,不區(qū)分列名的大小寫;
2、用root帳號登錄后,在/etc/my.cnf 中的[mysqld]后添加添加lower_case_table_names=1,重啟MYSQL服務,這時已設置成功:不區(qū)分表名的大小寫;
lower_case_table_names參數詳解:
lower_case_table_names = 0
其中 0:區(qū)分大小寫,1:不區(qū)分大小寫
MySQL在Linux下數據庫名、表名、列名、別名大小寫規(guī)則是這樣的:
1、數據庫名與表名是嚴格區(qū)分大小寫的;
2、表的別名是嚴格區(qū)分大小寫的;
3、列名與列的別名在所有的情況下均是忽略大小寫的;
4、變量名也是嚴格區(qū)分大小寫的;
MySQL在Windows下都不區(qū)分大小寫。
3、如果想在查詢時區(qū)分字段值的大小寫,則:字段值需要設置BINARY屬性,設置的方法有多種:
A、創(chuàng)建時設置:
CREATE TABLE T(
A VARCHAR(10) BINARY
);
B、使用alter修改:
ALTER TABLE `tablename` MODIFY COLUMN `cloname` VARCHAR(45) BINARY;
C、mysql table editor中直接勾選BINARY項。
分享標題:mysql里的檢查怎么寫 mysql判斷語句怎么寫
網站路徑:http://m.kartarina.com/article2/hgpcoc.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供做網站、自適應網站、App設計、建站公司、面包屑導航、小程序開發(fā)
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)