首页 > 代码库 > mysql数据库中表记录的玩法

mysql数据库中表记录的玩法

一、增加表记录(相当于插入表记录)

  1、格式:

    insert  [into] table_name  (字段名称......)  values  (值..........);      添加一条记录

    insert  [into]  table_name (字段名称......)  values  (值1..........), (值2........).......;  添加多条记录

  2、注意:写多少个字段名称就对应多少个值

二、修改表记录

  1、格式:

    update table_name set 字段=值,字段=值....... where 字句;

  2、注意:

    update 是用于修改或者说是更新数据记录,而set是设置更新那些字段(列)对应什么值,where是一个限制条件,只要与where连用才能精确的定位某一个数据记录,然后将其修改,如果没有where语句,那么就相当于是修改列下所有的数据记录。

三、删除表记录

  1、delete from table_name [where 字句];

  2、truncate table table_name;

  3、注意1和2都是删除表记录的,但是如果想删除表中某一行记录建议选择1,如果想删除表中所有记录选择2,删除表所有数据时1是先读取整张表的数据然后逐条删除,2是直接把表删除然后新建一张字段一样的表。

四、查询表记录

  1、格式:

    select *| 字段名1 [as] [别名],字段名2 [as] [别名],... from table_name where  字段名  字句条件

                          group by 字段名 字句条件

                          having 筛选条件

                          order by 字段名 [desc|asc]

                          limit  限制条件;

  2、where字句中可以使用:

    2.1 > < >= <= <> !=   表示比较运算符:

    2.2 between sum1 and sum2 表示值在sum1和sum2之间的数据

    2.3 in(sum1,sum2......)  表示所要查询在括号内的值

    2.4 like ‘字符串%‘  表示模糊查询

    2.5 and or not   表示逻辑查询

  3、order by 字句

    3.1 order by 是让查询出来的记录按照顺序有序显示出来,其中默认的是按照asc从小到大排序,也可以按照desc从大到小排序,但必须写在句末。

    3.2格式:

      select * from table_name order by 字段名 [desc|asc];

  4、limit 字句

    4.1用于限制查询出的数据记录条数

    4.2 格式:

      select * from table_name limit sum1[,sum2];

    4.3 eg:

      select * from table_name limi 2,5;    表示跳过前2行从第三行开始显示5行

  5、正则表达式:

    5.1 regexp 可以支持^ {sum} $,其中^表示以什么开头,$表示以什么结尾,{sum}表示出现多少次

    5.2 eg:

      select * from table_name where 字段名 regexp ‘^x‘ ;  表示查找以x开头的数据记录

      select * from table_name where 字段名 regexp ‘x$‘ ;  表示查找以x结尾的数据记录

      select * from table_name where 字段名 regexp ‘x{2}‘ ;  表示查找x出现两次的数据记录

  6、聚合函数:

    6.1 count(列名):统计行数,相当于统计一列中有多少行。

        eg: select count(列名) from table_name;

    6.2 sum(列名) : 统计列中的和,相当于把一列中的数据相加起来。

        eg: select sum(列名) from table_name;  

    6.3 avg(列名):统计一列中的平均值,相当于一列中的数据相加再除以一列中的数据的行数。

        eg: select avg(列名) from table_name;

    6.4 max|min(列名):统计一列中的最大|最小值

        eg:select max(列名)|min(列名) from table_name;

  7、group by

    7.1 格式:

      select * from  table_name group by 字段名 [having  逻辑判断条件];

    7.2group by 分组后面可以和having 连用。

  8、having

    8.1 select * from table_name having 逻辑判断条件;

    8.2having和where的区别:

      使用where的地方都可以用having替换

      having可以用在分组的后面也可以在分组前面,而where只能在分组前面

      having可以使用聚合函数,而where不行

mysql数据库中表记录的玩法