当前位置: 首页 > 图文教程 > 数据库 > MYSQL > 从一个MySQL的例子来学习查询语句

MYSQL
MySQL 实用命令
Mysql 默认字符集设置方法(免安装版)
MySQL 数据库对服务器端光标的限制
MySQL UPDATE更新语句精解
Table ‘xxx’ is marked as crashed and should be repaired 错误解决方法参考
mysql 读写分离(基础篇)
mysql 读写分离(实战篇)
processlist命令 查看mysql 线程
MySQL 数据类型 大全
MySQL 密码设置
MYSQL代码 定期备份Mysql数据库
汇总整理MYSQL相关操作命令
MySQL 数据库两台主机同步实战(linux)
MSSQL 添加字段说明
MySQL 查询某个字段不重复的所有记录
mysql 设置默认的时间值
mysqlreport显示Com_中change_db占用比例高的问题的解决方法
解决mysql不能插入中文Incorrect string value
mysql从执行.sql文件时处理\n换行的问题
mysql 主从服务器的简单配置

MYSQL 中的 从一个MySQL的例子来学习查询语句


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 51 ::
收藏到网摘: n/a

自上学这么多年以来,得出了从一个例子入手来学习是最快最有效,并能培养出很强的实践能力,这是一种很好的学习方法。不访试试。比如看一本书的时候从各章节的例子入手,找出不了解的以及不懂的还是新知识,
进而有针对性的学习。看看下面的例子:
<?php
$ip = getenv("REMOTE_ADDR");
//echo "$ip";
$conn=mysql_connect('ip','root','****');
mysql_select_db('db',$conn);
$sql="select *from counter where ip="$ip";";
$result=mysql_query($sql,$conn);
$num=mysql_num_rows($result);
$count=mysql_query("select*from counter",$conn);
$count=mysql_num_rows($count);
//echo "$num";
//echo "$count";
if($num==0)
{
$sum=1;
$count++;
$sql="insert into counter(ip,sum,countdata)values('$ip','1','$count')";
mysql_query($sql,$conn);
mysql_close($conn);
//echo "$count";
}
else
{
$my="select sum from counter where ip='$ip'";
$bbbbbb=mysql_query($my) or die(mysql_error());
$row=mysql_fetch_Array($bbbbbb);
@$sum=$row[sum];
//echo "$sum";
$sum++;
$sql="update counter set sum='$sum' where ip='$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."<ccid_file values="0" src=0.gif />";
}
}
for($i=0;$i<$count_len;$i++)
{
$nom=substr($str_count,$i,1);
$image_count = $image_count."<ccid_file values=";
$image_count = $image_count"
$image_count = $image_count.".gif />";
}
echo"$image_count<br>";
print"这是你的第".$sum."次访问";
?>
从上面的一个小小的计数器例子来看。已经包括了查询、插入、修改的知识。可以实现功能。记录每一个IP的访问量及总的访问次数。总量不支刷新
一、查询:
SELECT被用来检索从一个或多个表中精选的行。select_expression指出你想要检索的列。SELECT也可以用来检索不引用任何表的计算行
1、
select*from table1;
2、
select field1,field2 from table1;
3、
select count(*)from table2;
4、
select table1.filed1,table2.filed2 from table1,table2 where table1.field1='valed1';
5、
select *from table1 where field1='valed1' and fiels2='valed2' orded by field1;
6、
select*from table1 where filed1='valed1' order byfiled1 desc linit n;
7、
select *from table2 where name like '%$lin%';(模糊)
8、
sub_selects(高级)
select *from table1 where id In(select id from table2......);
9、
select ...into table...(高级)
(可用select...into outfile...;insert...selkect...替代)
10、SELECT MAX(field1) AS field1 FROM table1 列的最大值
其中:表:table 字段:field
二、修改
"update table1 set field1='value1',field2=value2'where fiels3='values3";
UPDATE用新值更新现存表中行的列,SET子句指出哪个列要修改和他们应该被给定的值,WHERE子句,如果给出,指定哪个行应该被更新,否则所有行被更新。
三、插入:
1、
insert into table1 values('field1',field2',...);
INSERT ... VALUES形式的语句基于明确指定的值插入行.
2、
replace into tbl_name(1,2,3)values('1','2','3');
REPLACE功能与INSERT完全一样,除了如果在表中的一个老记录具有在一个唯一索引上的新记录有相同的值,在新记录被插入之前,老记录被删除。
四、删除:
$a="delet from table1 where field1='$value1' and field2='$value2'";
DELETE从tbl_name表中删除满足由where_definition给出的条件的行,并且返回删除记录的个数。如果你执行一个没有WHERE子句的DELETE,所有行都被删除。