zoukankan      html  css  js  c++  java
  • 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不行

  • 相关阅读:
    年末反思
    Flink运行时架构
    Phoenix 启动报错:Error: ERROR 726 (43M10): Inconsistent namespace mapping properties. Cannot initiate connection as SYSTEM:CATALOG is found but client does not have phoenix.schema.
    Clickhouse学习
    Flink简单认识
    IDEA无法pull代码到本地,Can't Update No tracked branch configured for branch master or the branch doesn't exist.
    第1章 计算机系统漫游
    简单的 Shell 脚本入门教程
    开源≠免费 常见开源协议介绍
    MySQL 视图
  • 原文地址:https://www.cnblogs.com/xuanan/p/7235044.html
Copyright © 2011-2022 走看看