导航:首页 > 编程语言 > 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语句相关的资料

热点内容
time库中的clock函数python 浏览:989
cad视觉移动命令怎么打开 浏览:819
安卓java调用python 浏览:395
java标准时间 浏览:137
华为服务器湖北渠道商云主机 浏览:30
韩式面部护理解压视频 浏览:301
pdf换成jpg图片 浏览:897
dh加密算法 浏览:107
安卓手机如何隐藏微信信息提示 浏览:632
nodejs解压缩 浏览:262
直流双转子压缩机 浏览:952
pythonxmlstring 浏览:822
用私钥加密之后可以用公钥解密 浏览:788
ug如何启动服务器 浏览:444
csgo防抖动命令 浏览:960
如何弄到手机app页面的源码 浏览:441
androidwindows7破解版 浏览:363
解压视频动画怎么拍 浏览:748
连涨启动源码 浏览:163
小奔运动app网络异常怎么回事 浏览:449