對(duì)mysql數(shù)據(jù)表中的某個(gè)字段的所有數(shù)據(jù)修改,可以使用update語(yǔ)句,語(yǔ)法是:
創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),福州企業(yè)網(wǎng)站建設(shè),福州品牌網(wǎng)站建設(shè),網(wǎng)站定制,福州網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷(xiāo),網(wǎng)絡(luò)優(yōu)化,福州網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M(mǎn)足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專(zhuān)業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶(hù)成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
update table_name set column = value[, colunm = value...] [where condition];
[ ]中的部分表示可以有也可以沒(méi)有。
例如:
update students set stu_name = "zhangsan", stu_gender = "m" where stu_id = 5;
擴(kuò)展資料:
SQL修改字段屬性總結(jié):
1、修改表中字段類(lèi)型 可以修改列的類(lèi)型,是否為空)
Alter table [表名] alter column [列名] 類(lèi)型
2、向表中添加字段
Alter table [表名] add [列名] 類(lèi)型
3、刪除字段
Alter table [表名] drop column [列名]
4、添加主鍵
Alter table [表名] add constraint [ 約束名] primary key( [列名])
5、添加唯一約束
Alter table [表名] add constraint [ 約束名] unique([列名])
6、添加表中某列的默認(rèn)值
Alter table [表名] add constraint [約束名] default(默認(rèn)值) for [列名]
以windows為例
方法一(假設(shè)mysql在d:\mysql目錄下)
1、用系統(tǒng)管理員登陸windows系統(tǒng)。
2、停止MySQL的服務(wù)。
3、運(yùn)行cmd進(jìn)入dos命令窗口,然后進(jìn)入MySQL的安裝目錄,比如安裝目錄是d:\mysql,進(jìn)入d:\mysql\bin (如果是c:\Program Files\mysql目錄,目錄包含空格,使用cd "c:\Program Files\mysql"進(jìn)入mysql目錄)
4、跳過(guò)權(quán)限檢查啟動(dòng)MySQL(關(guān)鍵的一步)
d:\mysql\binmysqld-nt --skip-grant-tables(會(huì)占用一個(gè)dos控制臺(tái)窗口,不能關(guān)閉)
5、重新打開(kāi)一個(gè)dos控制臺(tái)窗口,進(jìn)入d:\mysql\bin目錄,設(shè)置root的新密碼
d:\mysql\binmysqladmin -u root flush-privileges password 【新密碼】
(注意:這條命令如果重復(fù)執(zhí)行,可能需要關(guān)閉4的窗口并重新運(yùn)行)
d:\mysql\binmysqladmin -u root -p shutdown(或直接關(guān)閉第一個(gè)dos控制臺(tái)窗口)
將【新密碼】替換為你要用的root的密碼,第二個(gè)命令可能會(huì)提示你輸入新密碼,重復(fù)第一個(gè)命令輸入的密碼。
6、關(guān)閉MySQL的控制臺(tái)窗口,用正常模式啟動(dòng)Mysql
7、你可以用新的密碼鏈接到Mysql了。
方法二
1、停止mysql服務(wù)
2、找到mysql數(shù)據(jù)的data目錄,將另外一個(gè)mysql的data目錄下的mysql目錄覆蓋過(guò)來(lái)(如果知道root密碼)
(操作之前先備份mysql\data\mysql目錄的所有文件)
這種方法缺點(diǎn):覆蓋掉其他的用戶(hù),mysql的版本需相同
3、重新啟動(dòng)mysql服務(wù)
本期我們用 MySQL 提供的 DBUG 工具來(lái)研究 MySQL 的 SQL 處理流程。
起手先造個(gè)實(shí)例
這里得稍微改一下實(shí)例的啟動(dòng)文件 start,將 CUSTOM_MYSQLD 改為 mysqld-debug:
重啟一下實(shí)例,加上 debug 參數(shù):
我們來(lái)做一兩個(gè)實(shí)驗(yàn),說(shuō)明 DBUG 包的作用:
先設(shè)置一個(gè)簡(jiǎn)單的調(diào)試規(guī)則,我們?cè)O(shè)置了兩個(gè)調(diào)試選項(xiàng):
d:開(kāi)啟各個(gè)調(diào)試點(diǎn)的輸出
O,/tmp/mysqld.trace:將調(diào)試結(jié)果輸出到指定文件
請(qǐng)點(diǎn)擊輸入圖片描述
然后我們創(chuàng)建了一張表,來(lái)看一下調(diào)試的輸出結(jié)果:
請(qǐng)點(diǎn)擊輸入圖片描述
可以看到 create table 的過(guò)程中,MySQL 的一些細(xì)節(jié)操作,比如分配內(nèi)存 alloc_root 等
這樣看還不夠直觀,我們?cè)黾右恍┬畔ⅲ?/p>
請(qǐng)點(diǎn)擊輸入圖片描述
來(lái)看看效果:
請(qǐng)點(diǎn)擊輸入圖片描述
可以看到輸出變成了調(diào)用樹(shù)的形式,現(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ǔ)過(guò)程來(lái)更新統(tǒng)計(jì)表。
沿著 que_eval_sql,可以找到其他類(lèi)似的統(tǒng)計(jì)表,比如下面這些:
請(qǐng)點(diǎn)擊輸入圖片描述
請(qǐng)點(diǎn)擊輸入圖片描述
本次實(shí)驗(yàn)中,我們借助了 MySQL 的 DBUG 包,來(lái)讓 MySQL 將處理過(guò)程暴露出來(lái)。MySQL 中類(lèi)似的技術(shù)還有不少,比如 performance_schema,OPTIMIZER_TRACE 等等。
這些技術(shù)將 MySQL 的不同方向的信息暴露出來(lái),方便大家理解其中機(jī)制。
4.4
MySQL數(shù)據(jù)表的修改
在MySQL中,允許對(duì)創(chuàng)建好的數(shù)據(jù)表進(jìn)行修改,修改時(shí)可以有以下幾種形式:修改表名、修改字段名、修改字段類(lèi)型、修改字段排列位置、添加字段、刪除字段、添加字段約束、刪除約束等,它們一般都是使用“Alter table表名”命令,但后跟的具體參數(shù)不同,下面分別介紹其語(yǔ)句格式。
4.4.1修改表名
語(yǔ)句格式一:Alter table表名RENAME [TO] 新表名;
語(yǔ)句格式二:RENAME TABLE 表名 TO 新表名;
在上面語(yǔ)句格式中,“表名”為要更名的表,“新表名”為要更改成的表名,格式一中參數(shù)“TO”可以省略。
下面截圖中的“ALTER TABLE”語(yǔ)句將dept更名為t_dept。
如果是修改表字段 alter table table_name column column_name new_name;
修改字段的數(shù)據(jù)?
update table_name set xx=yy where ...;不用where 就是全改成一樣
1. 修改表的名字
alter table table_name rename table_new_name;
其中,table_name是舊表名,table_new_name是新表名。
2.修改字段的數(shù)據(jù)類(lèi)型
語(yǔ)法: alter table 表名 modify 字段名 數(shù)據(jù)類(lèi)型
3.修改字段名
語(yǔ)法: alter table 表名 change 舊字段名 新字段名 新數(shù)據(jù)類(lèi)型