MySQL语句设计
表数据插入:
1、insert into 表名 (字段名...)values(’值‘);
扩展:
2、insert into 表名 select*from 表名2;
3、insert into 表名(字段名...)select 对应的字段名... from 表名2 where 条件 limit 10;
4、insert into bbs_user values(null,'xiaohong',123456,13994137211,123,1);值和字段一一对应,一个不能少哦
limit的用法:
limit 10; 表示限制的个数为10条
limit 10,10; 表示从第10条开始(跳过10,从11开始),限制的个数为10条(条件,条数)
例子:select*from bbs_user limit 5,5;
分页:
$page 当前页码
$offset 偏移量
$pagesize = 10 每页显示数据条数
第一页
limit 0,10;
第二页
limit 10,10;
第三页
limit 20,10;
$offset = ($page-1)*$pagesize;
select * from bbs_user limit $offset , $pagesize;
查询操作:
查询所有数据包,含有所有字段
mysql> select*from bbs_user;
查询username,userpwd 的所有数据
mysql>select username,userpwd from bbs_user;
查询id=3的数据,数据中只用username和userpwd
mysql>select username,userpwd from bbs_user where id=3;
查询id>0的数据,数据中包含username,userpwd 总共要查1条
mysql>select username,userpwd from bbs_user where id>0 limit 1;
查询id>0的数据,从第二条开始取一条,只包含username,userpwd
mysql>select username,userpwd from bbs_user where id>0 limit 1,1;
distinct的用法:
从bbs_user 查询 username字段的数据,过滤掉重名(只针对一个字段)
mysql>select distinct username from bbs_user;
注意:distinct关键字的作用范围是整个查询的列表,而不是单独的一列。在同时对两列数据进行查询时,如果使用了DISTINCT关键字,将返回这两列数据的唯一组合。
mysql>select distinct id,username,sex from bbs_user;
as语句的用法
别名:使用as给表或字段可以起个别名,as可以省略
目的:可以让很长的表名或者字段名变的简洁,防止表名和字段名重复
在多表关联查询的情况下,如果表中有同名的字段,必须使用别名加以区分。
1、分解动作
第一步:select from bbs_order as o, bbs_user as u where ...
第二步:select u.username as uname, o.username, o.bianhao from bbs_order as o,bbs_user as u where o.username=u.username;
2、AS可以省略不写,留一个空格即可
select u.username uname,o.username,o.bianhao from bbs_order o,bbs_user u where o.username=u.username;
多表查询
Order By的用法:
排序查询:将查询到的结果按照指定字段顺序排序,如果第一个字段不能排列出顺序先后,就会按照后一个字段进行排序
select * from 表名 where 条件 order by 字段1 asc|desc,字段2 asc|desc...;
asc: 从小到大 顺序
desc:从大到小 逆序
用法:帖子置顶,置顶为1,默认为0
and &&
or ||
not
<
>
=
<=
>=
!=
is null
is not null
between 值 and 值
not between 值 and 值
like的用法:模糊查询
(not)like '% a_i%';下划线‘_’的作用:代表任意字符
like '%a';结尾是a
like 'a%';头部是a
统计:
次数统计
count()count(*)count(字段)
求和:sum();
平均值:avg();
最大值:max();
最小值:min();
版本号:version();
分组:group by
对分组结果再过滤:having
select sum(money) from bbs_user group by username having id>5;
where 字段 in(值1.值2.值3。。。)
子查询
where username in (select username from 表名 where 条件);
判断操作是否成功:
1,插入操作
mysql_insert_id()>0
2,删除操作
mysql_affected_rows()>0
3,修改操作
mysql_affected_rows()>0
4,select 查询
mysql_num_rows($result)>0
php是世界上最好的编程语言,没有之一