mysql数据操作

插入数据

形式1:

insert into  表名(字段名1,字段名2,....)values (值a1,值a2, .....), (值b1,值b2, .....),..... ;

形式2:

insert into  表名1(字段名1,字段名2,....)select  字段名1,字段名2,....  from  表名2;

形式3:

insert  into  表名  set  字段名1=值1,字段名2=值2, ..... ;

载入外部“形式整齐”的数据:

load  data  infile  ‘文件完整名(含路径)’  into  table  表名;

复制一个表的结构和数据:

create  table  表名1  select  *  from  表名2;

删除数据:

delete from 表名 [where条件] [order排序] [limit限定]

truncate [table] 表名;用于直接删除整个表(结构)并重新创建该表。

修改数据:

update 表名 set 字段名1=值表达式1,字段名2=值表达式2,....[where条件] [order排序] [limit限定]

查询数据:

select [all | distinct] 字段或表达式列表 [from子句] [where子句] [group by子句] [having子句] [order by子句] [limit子句];

all:允许出现重复(默认)

distinct:不允许出现重复(去重)

from字句:指定数据的来源

where字句:

算术运算符: +  -  *  /   %

  比较运算符: >   >=   <    <=   =(等于)   <>(不等于)  

    ==(等于,mysql扩展),!=(不等于,mysql扩展)

  逻辑运算符: and(与)  or(或)   not(非)

  逻辑判断

    判断为true:   XX  is  true

    判断为fale:   XX  is  false

  空值的判断

    判断为null:   XX  is  null

    判断为非空:   XX  is  not  null

  between语法:字段XX的值在值1和值2之间(含),相当于:XX >=值1 and XX<=值2;

    XX  between  值1  and  值2;

  int语法:相当于 XX = 值1  or XX = 值2  or  XX = 值2

    XX  in (值1,值2,.......);

  like语法:模糊查找  

     %   其含义是:代表任意个数的任意字符

     _   其含义是:代表1个的任意字符

    like  ‘%ab\%cd%’            //这里要找的是: 包含 ab%cd 字符的字符

    like   ‘\_ab%’                    //这里要找的是: _ab开头的字符

    like   ‘%ab’cd%’                     //这里要找的是: 包含 ab’cd 字符的字符

  例子:like ‘%关键字%’

  group by字句:组内某些字段的最大值,最小值,平均值,总和值。其他字段,通常就不能用了

    group  by  字段1  排序方式1,字段2 排序方式2, .....

    count(*):  统计一组中的数量,通常用“*”做参数

    max(字段名):获取该字段中在该组中的最大值。

    min(字段名):获取该字段中在该组中的最小值。

    sum(字段名):获取该字段中在该组中的总和。

    avg(字段名):获取该字段中在该组中的平均值。

    Group_concat(字段名):显示没有展示的部分

  having 字句:where是针对表的字段的值进行“条件判断”

    用在group by后面,作用和where类似

  orderby字句:排序

    正序: ASC(默认值),可以省略

    倒序: DESC

  limit字句:

    limit   [起始行号start], 要取出的行数num

原文地址:https://www.cnblogs.com/diverman/p/8387652.html