仓酷云 发表于 2015-1-16 22:32:04

MYSQL编程:从一个MysqL的例子来进修查询语句

用户时常会发现其实自己并不是第一个选用MySQL数据库的先驱者。”mysql|语句自上学这么多年以来,得出了从一个例子动手来进修是最快最无效,并能培育出很强的理论才能,这是一种很

好的进修办法。不访尝尝。好比看一本书的时分从各章节的例子动手,找出不懂得的和不懂的仍是新常识,

进而有针对性的进修。看看上面的例子:

<?php
$ip=getenv("REMOTE_ADDR");
//echo"$ip";
$conn=mysql_connect(ip,root,****);
mysql_select_db(db,$conn);
$sql="select*fromcounterwhereip="$ip";";
$result=mysql_query($sql,$conn);
$num=mysql_num_rows($result);
$count=mysql_query("select*fromcounter",$conn);
$count=mysql_num_rows($count);
//echo"$num";
//echo"$count";
if($num==0)
{
$sum=1;
$count++;
$sql="insertintocounter(ip,sum,countdata)values($ip,1,$count)";
mysql_query($sql,$conn);
mysql_close($conn);
//echo"$count";
}
else
{
$my="selectsumfromcounterwhereip=$ip";

$bbbbbb=mysql_query($my)ordie(mysql_error());
$row=mysql_fetch_Array($bbbbbb);
@$sum=$row;
//echo"$sum";
$sum++;
$sql="updatecountersetsum=$sumwhereip=$ip";
mysql_query($sql);
mysql_close($conn);
}
$str_count=strval($count);
$str_count=Chop($str_count);
$count_len=strlen($str_count);
$image_count="";
if($count_len<6)
{for($j=0;$j<6-$count_len;$j++)
{$image_count=$image_count."";
}
echo"$image_count<br>";
print"这是你的第".$sum."次会见";
?>


从下面的一个小小的计数器例子来看。已包含了查询、拔出、修正的常识。能够完成功效。纪录每个IP的

会见量及总的会见次数。总量不支革新

1、查询:
SELECT被用来检索从一个或多个表中精选的行。select_expression指出你想要检索的列。SELECT也能够用

来检索不援用任何表的盘算行
1、select*fromtable1;
2、selectfield1,field2fromtable1;
3、selectcount(*)fromtable2;
4、selecttable1.filed1,table2.filed2fromtable1,table2wheretable1.field1=valed1;
5、select*fromtable1wherefield1=valed1andfiels2=valed2ordedbyfield1;
6、select*fromtable1wherefiled1=valed1orderbyfiled1desclinitn;
7、select*fromtable2wherenamelike%$lin%;(含混)
8、sub_selects(初级)
select*fromtable1whereidIn(selectidfromtable2......);
9、select...intotable...(初级)
(可用select...intooutfile...;insert...selkect...替换)
10、SELECTMAX(field1)ASfield1FROMtable1列的最年夜值
个中:表:table字段:field

2、修正:
"updatetable1setfield1=value1,field2=value2wherefiels3=values3";
UPDATE用新值更新现存表中行的列,SET子句指出哪一个列要修正和他们应当被给定的值,WHERE子句,假如

给出,指定哪一个行应当被更新,不然一切行被更新。

3、拔出:
1、insertintotable1values(field1,field2,...);
INSERT...VALUES情势的语句基于明白指定的值拔出行.
2、replaceintotbl_name(1,2,3)values(1,2,3);
REPLACE功效与INSERT完整一样,除假如在表中的一个老纪录具有在一个独一索引上的新纪录有不异的值

,在新纪录被拔出之前,老纪录被删除。

4、删除:
$a="deletfromtable1wherefield1=$value1andfield2=$value2";
DELETE从tbl_name表中删除满意由where_definition给出的前提的行,而且前往删除纪录的个数。假如你执

行一个没有WHERE子句的DELETE,一切行都被删除。
这种服务也提供了足够的监控功能来跟踪性能和使用情况,在问题发生时将发出通知并生成一定深度的分析报告。

金色的骷髅 发表于 2015-1-19 16:13:27

习惯敲命令行的朋友可能会爽一些。但是功能有限。适合机器跑不动SQLServerManagementStudio的朋友使用。

老尸 发表于 2015-1-28 08:18:40

一个百万级别的基本信息表A,一个百万级别的详细记录表B,A中有个身份证id,B中也有身份id;先要找出A中在B的详细记录。

透明 发表于 2015-2-5 20:06:57

对于微软系列的东西除了一遍遍尝试还真没有太好的办法

愤怒的大鸟 发表于 2015-2-13 11:33:45

我们学到了什么?思考问题的时候从表的角度来思考问

冷月葬花魂 发表于 2015-3-11 13:36:12

不过话说回来了,绝大多数的性能优化准则与对sqlserver存储的结构理解息息相关

再现理想 发表于 2015-3-18 21:11:01

对于数据库来说,查询是数据库的灵魂,那么SQL查询效率究竟效率如何呢?下文将带对SQL查询的相关问题进行讨论,供您参考。

不帅 发表于 2015-3-26 17:48:25

大侠们有推荐的书籍和学习方法写下吧。
页: [1]
查看完整版本: MYSQL编程:从一个MysqL的例子来进修查询语句