update?表名
創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比三原網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式三原網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋三原地區(qū)。費(fèi)用合理售后完善,10余年實(shí)體公司更值得信賴。
set?字段名1='值1',
字段名2='值2',
...
where?條件
中文的部分換成具體表名,字段名即可。
可以。使用phpmyadmin,可以直接修改Mysql庫的user表。user表是MySQL中最重要的一個(gè)權(quán)限表,用來記錄允許連接到服務(wù)器的賬號(hào)信息。需要注意的是,在user表里啟用的所有權(quán)限都是全局級(jí)的,適用于所有數(shù)據(jù)庫。
使用update:
update 表名 set 字段1='修改值1',字段2='修改值2',字段5='修改值5' where 字段='某些值';
該語句是將表中所要求字段匹配后的行,進(jìn)行相應(yīng)字段的修改。
例如,表person
id/name/age
1/a/15
2/b/15
3/c/16
update person set name=d where age=16;
結(jié)果為3/c/16被修改為3/d/16。
本期我們用 MySQL 提供的 DBUG 工具來研究 MySQL 的 SQL 處理流程。
起手先造個(gè)實(shí)例
這里得稍微改一下實(shí)例的啟動(dòng)文件 start,將 CUSTOM_MYSQLD 改為 mysqld-debug:
重啟一下實(shí)例,加上 debug 參數(shù):
我們來做一兩個(gè)實(shí)驗(yàn),說明 DBUG 包的作用:
先設(shè)置一個(gè)簡(jiǎn)單的調(diào)試規(guī)則,我們?cè)O(shè)置了兩個(gè)調(diào)試選項(xiàng):
d:開啟各個(gè)調(diào)試點(diǎn)的輸出
O,/tmp/mysqld.trace:將調(diào)試結(jié)果輸出到指定文件
請(qǐng)點(diǎn)擊輸入圖片描述
然后我們創(chuàng)建了一張表,來看一下調(diào)試的輸出結(jié)果:
請(qǐng)點(diǎn)擊輸入圖片描述
可以看到 create table 的過程中,MySQL 的一些細(xì)節(jié)操作,比如分配內(nèi)存 alloc_root 等
這樣看還不夠直觀,我們?cè)黾右恍┬畔ⅲ?/p>
請(qǐng)點(diǎn)擊輸入圖片描述
來看看效果:
請(qǐng)點(diǎn)擊輸入圖片描述
可以看到輸出變成了調(diào)用樹的形式,現(xiàn)在就可以分辨出 alloc_root 分配的內(nèi)存,是為了解析 SQL 時(shí)用的(mysql_parse)
我們?cè)僭黾右恍┯杏玫男畔ⅲ?/p>
請(qǐng)點(diǎn)擊輸入圖片描述
可以看到結(jié)果中增加了文件名和行號(hào):
請(qǐng)點(diǎn)擊輸入圖片描述
現(xiàn)在我們可以在輸出中找一下統(tǒng)計(jì)表相關(guān)的信息:
請(qǐng)點(diǎn)擊輸入圖片描述
可以看到 MySQL 在這里非常機(jī)智,直接執(zhí)行了一個(gè)內(nèi)置的存儲(chǔ)過程來更新統(tǒng)計(jì)表。
沿著 que_eval_sql,可以找到其他類似的統(tǒng)計(jì)表,比如下面這些:
請(qǐng)點(diǎn)擊輸入圖片描述
請(qǐng)點(diǎn)擊輸入圖片描述
本次實(shí)驗(yàn)中,我們借助了 MySQL 的 DBUG 包,來讓 MySQL 將處理過程暴露出來。MySQL 中類似的技術(shù)還有不少,比如 performance_schema,OPTIMIZER_TRACE 等等。
這些技術(shù)將 MySQL 的不同方向的信息暴露出來,方便大家理解其中機(jī)制。
update (tablename) set (columnname)=(value),(columnname)=(value) where (columnname)=(value)