【php】---mysql语法增、删、改、查---【巷子】

1、mysql基本语法

001、增

语法:

insert into 表名 (列1,列2,列3) values(值1,值2,值3)

批量插入:插入insert-插入多行

语法:

insert into 表名 (列1,列2,列3) values (值1,值2,值3),(值1,值2,值3)

002、删

语法:
     delete from 表名 where 子句

        如果不写where子句,将会删除表中所有行

003、改

语法:
        update 表名 set 列名1 = 值1, 列名2 = 值2,....where 子句

        如果不写where子句,将会修改表中所有行

        where:过滤条件,筛选的条件

004、查

(1)查询所有数据
    
        语法:select * from 表名

(2)查询去重后数据
    
        语法:select distict name form 表名

(3)查询age=22的记录

       语法:select * from 表名 where age=22

(4)查询age>22的记录
    
        语法:select * from 表名 where age>22

(5)查询age<22的记录

        语法:select * from 表名 where age<22

(6)查询age>=25的记录

        语法:select * from 表名 where age>=25

(7)查询age<=25的记录

        语法:select * from 表名 where age<=25;

(8)查询name中包含mongo的数据(模糊查询)

        语法:select * from 表名 where name like '%mongo%'

(9)查询name中以mongo开头

        语法:select * 表名 where name like 'mongo%'

(10)查询指定列name、age数据
    
        语法:select name,age from 表名

(11)查询name=zhangsan,age=22的数据

        语法:select * from 表名 where name="张三" and age="22";

(12)查询前5条数据

        语法:select top 5 * from 表名

(13)降序排序

        语法:select * from `表名` order by 字段 DESC

(14)升序排列

      语法:select * from `表名` order by  字段 ASC

2、过滤数据--where

语法:
     select * from 表名 where username = 'php'

操作符:
between:经常用到查找数据的范围 例如商品的金额在100-200之间的商品

语法:
     select * from 表名 where 字段 between 范围1 and 范围2

3、组合条件过滤

操作符        说明
AND           与

OR            或

IN            匹配值,与or相当

NOT           非


AND 的优先级要比 OR 的优先级高

in操作速度比or快

or:语法
     select * from `表名` where 字段 = 'xx' or 字段 = 'xx';

IN:语法
     select * from `表名` where 字段 in ('xx','xx',...)

not:语法
     select * from `表名` where 字段 not in ('xx','xx',...)

4、聚集函数

Avg()     返回某列的平均值

Count()   返回某列的行数

Max()     返回某列的最大值

Min()     返回某列的最小值

Sum()     返回某列值之和


语法:
     select AVG(字段) from `表名`

5、连表查询

如果表中有至少一个匹配,则返回行

联结条件用特定的on子句而不是where子句

inner join 和 join 是相同的

联结两个表用join 等值语句用on

语法:
    select * from 表名 join 表名 on 表名.字段 = 表名.字段