導航:首頁 > 編程語言 > phpmysqlsql語句

phpmysqlsql語句

發布時間:2023-02-07 23:01:13

A. php MYSQL SQL語句優化

語句基本上沒什麼可優化的,最多就是查詢條件的引號要取消,例如:
select
*
from
aa
where
編號=指定編號
你的主索引,是primary
key吧,唯一、非空,這已經是最高級別的索引了,資料庫也沒有再次優化的餘地
剩下可做的事情就是資料庫系統優化,例如改變索引緩沖區長度(key_buffer)
一般,該變數控制緩沖區的長度在處理索引表(讀/寫操作)時使用。mysql使用手冊指出該變數可以不斷增加以確保索引表的最佳性能,並推薦使用與系統內存25%的大小作為該變數的值。這是mysql十分重要的配置變數之一,如果你對優化和提高系統性能有興趣,可以從改變
key_buffer_size變數的值開始。
如果myisam引擎,可以考慮使用myisamchk
-r進行修復,例如:
myisamchk
--sort_buffer_size=16m
--key_buffer_size=16m
--read_buffer_size=1m
--write_buffer_size=1m
-r
aa

B. php中的sql語句

1、很多時候我們在開發時需要將字元串與變數連接起來顯示,在PHP中,字元串之間使用 「點」 來連接,也就是英文中的半形句號" . " , " . " 是字元串連接符,可以把兩個或兩個以上的字元串鏈接成一個字元串。例如:

<?php
$name="網路知道:";
$url=".";
echo$name.$url.".com";
?>

輸出結果為:

網路知道:..com

2、php在進行資料庫查詢時,如果對象是字元串,則需要使用引號將字元串區分開,這就是上面你的第一個問題,例如,你通過POST接受到的$username值是"zhanagsan",那麼:

mysqli_query($conn,"SELECT*FROMuserWhereusername='".$username."'");

php在進行解析時就是

mysqli_query($conn,"SELECT*FROMuserWhereusername='zhangsan'");

如果你覺得這樣會讓你有點看不過來,還可以這樣寫:

mysqli_query($conn,"SELECT*FROMuserWhereusername='{$username}'");

這里的{}也是起到連接的作用。

3、應用字元串連接符號有時候沒有辦法實現大量字元串的連接,PHP允許程序員在雙引號中直接包含字元串變數,當echo語句後面使用的是 雙引號 (" ")時,可以使用下面的格式來達到相同的效果(這是你的第二個問題)。例如:

<?php
$name="網路知道:";
$url=".";
echo"$name$url.com";//雙引號里的變數同一般的字元串自動進行區分
?>

但是單引號(' ')就不可以了,這樣如果不加連接符,解析後還是字元串,例如:

<?php
$name="網路知道:";
$url=".";
echo'$name$url.com';//單引號里的變數不會同一般的字元串自動進行區分
?>

最終的輸出結果就變成了

$name$url.com//最終只是輸出變數名,是字元串

C. php 中寫 sql語句

php中利用數組用mysql_query批量執行sql語句。
參考示例如下:
思路:這里採用一個數組.用explode
函數,將$query語句按照」;」炸開,然後循環執行即可:
$query
=
'delete
from
ecs_goods_attr
where
attr_id=11
and
goods_id=22;
insert
into
ecs_goods_attr
(goods_attr_id,goods_id,attr_id,attr_value,attr_price)values(null,33,138,"膽略",0);
update
ecs_goods
set
goods_number=10,shop_price=55
where
goods_id=33;'
$query_e
=
explode(';','$query');
foreach
($query_e
as
$k
=>$v)
{
mysql_query($query_e[$k]);
}
這樣
$query語句就被批量的執行了。

D. PHP MYSQL SQL語句優化

你的語句是正確的,速度慢兩種可能:

一、是索引不對,你所有的關聯欄位,應該在相應表中有唯一索引,最好是主鍵,例如:
cdb_members.uid
cdb_memberfields .uid
supe_userfields.uid
cdb_members.groupid
cdb_usergroups.groupid
supe_userspaces.uid
supe_userspacefields.uid
如果以上的表沒有主鍵,請設置相應欄位為主鍵,如果有其他的主鍵而且是必須的,那麼在上面的欄位建立唯一索引。

二、數據量過大,如果你cdb_members的記錄很多,遠遠大於500條,可以考慮改變程序,先重此表裡面獲取500條數據,然後在循環裡面每條資料庫關聯獲取其它表的信息,這樣就不需要先對五個表做鏈接。

E. mysql+php程序中sql語句中的引號使用方法,什麼時候用雙引號什麼時候用單引號

這就要從雙引號和單引號的作用講起:
雙引號裡面的欄位會經過編譯器解釋然後再當作HTML代碼輸出,但是單引號裡面的不需要解釋,直接輸出。例如:
$abc='I love u';
echo $abc //結果是:I love u
echo '$abc' //結果是:$abc
echo "$abc" //結果是:I love u
所以在對資料庫裡面的SQL語句賦值的時候也要用在雙引號裡面SQL="select a,b,c from ..."
但是SQL語句中會有單引號把欄位名引出來
例如:select * from table where user='abc';
這里的SQL語句可以直接寫成SQL="select * from table where user='abc'"
但是如果象下面:
$user='abc';
SQL1="select * from table where user=' ".$user." ' ";對比一下
SQL2="select * from table where user=' abc ' "
我把單引號和雙引號之間多加了點空格,希望你能看的清楚一點。
也就是把'abc' 替換為 '".$user."'都是在一個單引號裡面的。只是把整個SQL字元串分割了。
SQL1可以分解為以下3個部分
1:"select * from table where user=' "
2:$user
3:" ' "
字元串之間用 . 來連接,這樣能明白了吧。

閱讀全文

與phpmysqlsql語句相關的資料

熱點內容
情片網 瀏覽:64
php變慢 瀏覽:11
質數的後代python 瀏覽:149
如何做好美逛App 瀏覽:591
租伺服器租用後怎麼使用 瀏覽:285
木勺解壓助眠視頻 瀏覽:371
酒吧陪女電影 瀏覽:657
雙胞胎兄弟的韓國愛情電影 瀏覽:425
女人遇到網球教練韓國電影 瀏覽:43
一線影院和二線影院 瀏覽:379
韓國電影食物鏈裡面的女主角叫什麼名字? 瀏覽:461
程序員做開發256G夠用嗎 瀏覽:186
c程序編譯的秘密 瀏覽:178
安卓頁面廣告怎麼關閉 瀏覽:666
linux信號量命令 瀏覽:345
父親出門上班兒子和繼母的日本電影 瀏覽:954
安卓機怎麼摳鋼化膜 瀏覽:390
免費看影視網站7大入口 瀏覽:535
doctrinephp 瀏覽:752