• mysql数据库中表记录的玩法


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

     1. 插入完整数据(顺序插入)
    
        语法一:
        INSERT INTO 表名(字段1,字段2,字段3…字段n) VALUES(值1,值2,值3…值n);
        语法二:
        INSERT INTO 表名 VALUES (值1,值2,值3…值n);
    
    2. 指定字段插入数据
        语法:
        INSERT INTO 表名(字段1,字段2,字段3…) VALUES (值1,值2,值3…);
    
    3. 插入多条记录
        语法:
        INSERT INTO 表名 VALUES
            (值1,值2,值3…值n),
            (值1,值2,值3…值n),
            (值1,值2,值3…值n);
            
    4. 插入查询结果
        语法:
        INSERT INTO 表名(字段1,字段2,字段3…字段n) 
                        SELECT (字段1,字段2,字段3…字段n) FROM 表2
                        WHERE …;
    

    二、更新表记录

      1、格式:

    语法:
        UPDATE 表名 SET
            字段1=值1,
            字段2=值2,
            WHERE CONDITION;
    示例:
        UPDATE mysql.user SET password=password(‘123’) 
            where user=’root’ and host=’localhost’;
    
      2、注意:
    
        update 是用于修改或者说是更新数据记录,而set是设置更新那些字段(列)对应什么值,where是一个限制条件,只要与where连用才能精确的定位某一个数据记录,然后将其修改,如果没有where语句,那么就相当于是修改列下所有的数据记录。
    

    三、删除表记录

      1、delete from table_name [where 条件字句];  ge:delete from user where password='' '' 这就是所有用户删除密码

      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不行

  • 相关阅读:
    oracle 随机函数
    cmd和dos的区别
    SAP HANA 常用函数
    编程语言发展史
    PL/SQL Job
    ETL工具总结
    JDK、JRE、JVM三者间的关系
    Redis过滤器如何与Envoy代理一起使用
    apache配置https
    kubernetes监控和性能分析工具:heapster+influxdb+grafana
  • 原文地址:https://www.cnblogs.com/xuanan/p/7235044.html
Copyright © 2020-2023  润新知