MySQL Update Set 更新數(shù)據(jù)
創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于網(wǎng)站制作、做網(wǎng)站、合肥網(wǎng)絡(luò)推廣、小程序開發(fā)、合肥網(wǎng)絡(luò)營銷、合肥企業(yè)策劃、合肥品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供合肥建站搭建服務(wù),24小時(shí)服務(wù)熱線:18982081108,官方網(wǎng)址:www.cdcxhl.com
UPDATE 更新
UPDATE SET 語法用于修改更新數(shù)據(jù)表中的數(shù)據(jù)。
語法:
UPDATE tb_name SET column1 = new_value1,column2 = new_value2,… WHERE definition
該語法將數(shù)據(jù)表中符合 WHERE 條件的記錄中的 column1 的值更新為 new_value1,column2 的值更新為 new_value2 ,以此類推。如果省略 WHERE 條件,則會(huì)將表中所有記錄的 column 值進(jìn)行更新。
例子:
?php
$conn = @mysql_connect("localhost","root","root123");
if (!$conn){
die("連接數(shù)據(jù)庫失?。? . mysql_error());
}
mysql_select_db("test", $conn);
mysql_query("set names 'gbk'");
$sql = "UPDATE user SET email = 'xiaoming@163點(diǎn)抗 ' WHERE username = '小明'";
if(mysql_query($sql,$conn)){
echo "更新數(shù)據(jù)成功!";
} else {
echo "更新數(shù)據(jù)失敗:".mysql_error();
}
?
更新前數(shù)據(jù):
uid username password email regdate
1 admin b7e591c246d010bb2ccd77d52490c85e admin@5idev點(diǎn)抗 1277992339
2 小明 a193686a53e4de85ee3f2ff0576adf01 xiao@163點(diǎn)抗 1278063917
3 Jack 0193686a35e4de85ee3f2ff0567adf49 jack@gmail點(diǎn)抗 1278061380
4 小王 e10adc3949ba59abbe56e057f20f883e 12345@163點(diǎn)抗 1289632955
例子將 user 表中 username 為 小明 的 email 修改為 xiaoming@163點(diǎn)抗 。
更新后數(shù)據(jù):
uid username password email regdate
1 admin b7e591c246d010bb2ccd77d52490c85e admin@5idev點(diǎn)抗 1277992339
2 小明 a193686a53e4de85ee3f2ff0576adf01 xiaoming@163點(diǎn)抗 1278063917
3 Jack 0193686a35e4de85ee3f2ff0567adf49 jack@gmail點(diǎn)抗 1278061380
4 小王 e10adc3949ba59abbe56e057f20f883e 12345@163點(diǎn)抗 1289632955
UPDATE 表達(dá)式
UPDATE 語法允許 SET 后面跟表達(dá)式。
例子 1 :
UPDATE article SET pv = pv+1 WHERE id = 123
該例子讓 id 為 123 的文章在被點(diǎn)擊閱讀的時(shí)候點(diǎn)擊量加 1 。
例子 2 :
UPDATE persondata SET age = age*2, age = age+1
該例子 SET 后面跟了兩個(gè)表達(dá)式:age = age*2(年齡加倍),age = age+1(再加 1 )。這種多個(gè)表達(dá)式的情況,是按照從左往右順序執(zhí)行的。
sql= "UPDATE mydata SET p1='".$pointarr[i][1]."' where ps like '%".$pointarr[i][
每次都去做一次like的全表掃描當(dāng)然慢了。
建議使用批量更新,減少查詢次數(shù)。
比如先查詢出結(jié)果集,然后在內(nèi)存里去操作字段更新
最后采用 update ...... where id = xxx 這樣的更新方法。避免多次全表掃描。
不是最了解你的需求,僅供參考。
前邊介紹了負(fù)載均衡,mysql同步,接下來介紹tp6分布式部署多個(gè)數(shù)據(jù)庫,實(shí)現(xiàn)讀寫分離。
tp6的分布式部署讀和寫仍然是一個(gè)系統(tǒng),這里我們分開操作,給用戶展示的就是從數(shù)據(jù)庫,后端添加文章就是主庫,然后同步到從庫。
1、配置數(shù)據(jù)庫鏈接參數(shù)
目標(biāo):實(shí)現(xiàn)隨機(jī)使用數(shù)據(jù)庫展示信息,只是讀操作。
測(cè)試:前臺(tái)可以讀取表中內(nèi)容(存放的不一致),查看是否是隨機(jī)顯示的。
打開.env文件進(jìn)行編輯
說明:
2、編輯database.php
找到deploy設(shè)置為1分布式部署,下邊不要改,都是讀,寫入的也就是后端的我們單獨(dú)建站連接主庫。
配置完成,tp6使用的是mt_rand取隨機(jī)數(shù)判斷使用哪個(gè)數(shù)據(jù)庫。
3、數(shù)據(jù)庫交互寫操作
比如瀏覽量沒必要每次都去更新數(shù)據(jù)庫,可以先使用redis緩存,存夠1000的整數(shù)倍,再去更新數(shù)據(jù)庫。
4、后臺(tái)獨(dú)立,也就是寫
可以前后端分離,單獨(dú)做一個(gè)網(wǎng)站(沒有前端)使用ip訪問或者獨(dú)立的域名連接后臺(tái)。
5、上傳附件(jquery ajax跨域上傳)
使用了nginx負(fù)載均衡,肯定是多個(gè)一樣的網(wǎng)站,如果圖片存放到一個(gè)站,別的就不能訪問了,可以單獨(dú)設(shè)置一個(gè)附件(壓縮包,圖片等)服務(wù)器,可以使用二級(jí)域名連接,這就要求我們上傳附件的時(shí)候,是上傳到附件服務(wù)器。
jqueryURL
API控制器apdpic方法
說明:
也可以先傳到后臺(tái)服務(wù)器然后使用(php)ftp上傳,或者是通過curl上傳到附件服務(wù)器,感覺那樣畢竟麻煩,直接設(shè)置跨域會(huì)比較簡(jiǎn)單。
也測(cè)試了使用jsonp跨域,但是不能上傳附件。
6、thinkphp6實(shí)現(xiàn)讀寫分離(在一個(gè)站點(diǎn))
我個(gè)人是不喜歡這樣的,負(fù)載均衡應(yīng)該是均衡地讀,也就是前臺(tái)單獨(dú)一個(gè)站點(diǎn),后端的寫是另一個(gè)獨(dú)立的站點(diǎn),看個(gè)人喜好吧。
獨(dú)立后臺(tái)的優(yōu)點(diǎn):可以提升安全性,因?yàn)槲覀兊暮笈_(tái)網(wǎng)址是不公開的,避免用戶猜測(cè)一些后臺(tái)的信息。
.env配置按照1所述編輯,默認(rèn)第一個(gè)是主庫。
database.php
愿大家在新的一年心想事成,萬事如意?。。?/p>
樓主貼出的代碼是主要代碼不是完整代碼,以下是對(duì)你貼出代碼的修改,接收數(shù)組并批量更新
接收數(shù)據(jù)格式形如:
array(
0=array(
'id' = 1,
'title'= '標(biāo)題1'
'url'= '...'
),
1=array(
'id' = 1,
'title'= '標(biāo)題1'
'url'= '...'
),
)
注意在原來的基礎(chǔ)上加了更新條件id,不加的話是會(huì)更新全部的。
A頁面代碼:
?php
$exec="select * from focusimg";
$result = mysql_query($exec,$link);
$i=0;
while($pt=mysql_fetch_array($result)){
?
tr onmouseover="this.className='admTr'" onmouseout="this.className=''"
td width="17%" align="right"標(biāo)題?php echo $pt['id']; ?:input name="?php echo "focusimg[$i][id]"; ?" value="?php echo $pt['id']; ?" type="hidden"http://td
tdinput name="?php echo "focusimg[$i][title]"; ?" type="text" id="textfield" value="?php echo $pt['title'];?" size="30" //td
td width="17%" align="right"鏈接?php echo $pt['id']; ?:/td
tdinput name="?php echo "focusimg[$i][url]"; ?" type="text" id="textfield" value="?php echo $pt['url'];?" size="30" / /td
/tr
?php
$i++;
};
?
B頁面代碼:
?php
include 'conn.php';
$focusimg=$_POST['focusimg'];
foreach($focusimg as $k=$v) {
$exec="update chips set title='{$v[title]}',url='{$v[url]}' where id='{$v[id]}'";
mysql_query($exec, $link);
}
mysql_close($link);
echo "edit OK!";
?