導航:首頁 > 編程語言 > 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語句相關的資料

熱點內容
電力載波單片機 瀏覽:590
單片機串列通訊 瀏覽:514
遍歷兩個對應列表python 瀏覽:490
數控編程演示軟體哪裡下載 瀏覽:685
程序員會6點下班嗎 瀏覽:791
linuxdate時區 瀏覽:324
小說伺服器怎麼選 瀏覽:525
python自動化測試框架哪個最好 瀏覽:310
反編譯後為什麼不能回編 瀏覽:53
java反射獲得屬性值 瀏覽:36
程序員和甲方的矛盾 瀏覽:126
在地獄做程序員 瀏覽:763
銀行app能做什麼 瀏覽:235
追書緩存的小說在哪個文件夾 瀏覽:560
山科女生程序員 瀏覽:748
mybatis3源碼分析 瀏覽:466
華為交換機常用配置命令 瀏覽:378
程序員怎麼去銀行上班 瀏覽:591
廣州程序員薪資 瀏覽:890
win7命令提示符輸入 瀏覽:594