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_user 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






























































MySQL语句设计

上一篇:Mysql 批量删除前缀或者后缀表


下一篇:实战:oracle删除表空间的shell脚本