美文网首页MySQL
MySQL 常用语句

MySQL 常用语句

作者: RicherYY | 来源:发表于2020-04-13 21:29 被阅读0次

    1.添加

    1.1添加一条数据

    insert into 表名values(添加值1,添加值2……);
    
    insert into 表名(字段名1,字段名2……)values(),(),();
    

    2.查询

    2.1 查询表中所有数据

    select * from 表名;
    

    2.2 查询表中部分字段

    select 字段1,字段2…… from 表名;
    

    2.3 模糊查询

    select 字段名 from 表名 where 字段名 like '%查询字%';
    

    %在前有字表示以……结束,%后有东西表示以……开始

    3.条件查询

    select 字段名 from 表名 where 字段名 表达式 值;
    

    值如果是数字什么都不用加,如果是字符就要加单引号

    子查询

    表示查询结果的查询

    select 字段名 from(select 字段名1,字段名2…… form 表名 where 条件)随意表名;
    

    嵌套查询

    select 字段名1,字段名2…… from 表名 where 字段名 = (select 函数式(字段名) from 表名);
    

    修改

    修改数据

    update 表名 set 字段名1= '修改值1', 字段名2 ='修改值2'…… where 条件(用来定位);
    

    删除

    删除数据

    delete from 表名 where 条件(定位);
    

    AND 运算符

    两个条件都为true的时候才返回true。一般使用在查询条件有两个的时候。

    SELECT 
        column1,column2,...
    FROM
        table_name 
    WHERE 
        boolean_expression_1 AND boolean_expression_2
    

    例子

    查询返回位于美国加州的客户,并且信用额度大于100K。

    SELECT   
        customername,
        country,
        state,
        creditlimit
    FROM 
        customers
    WHERE 
        country = 'USA'
        AND state = 'CA'
        AND creditlimit > 100000;
    

    OR 运算符

    MySQL OR运算符组合了两个或两个以上表达式。当任一条件为真时,返回true

    SELECT
        column1,column2,...
    FROM
        table_name
    WHERE
        boolean_expression_1 OR boolean_expression_2
    

    例子

    查询Student表中“95031”班(class)或性别(ssex)为“女”的同学记录。

    SELECT
        *
    FROM
        student
    WHERE
        class = "95031" OR ssex = "女"
    

    IN 操作符

    IN运算符允许您确定指定的值是否与列表中的值或子查询中的任何值匹配。

    SELECT 
        column1,column2,...
    FROM
        table_name
    WHERE 
     (expr|column_1) IN ('value1','value2',...);
    

    例子

    查询Score表中成绩(degree)为85,86或88的记录。

    SELECT
        *
    FROM
        score
    WHERE
        degree in (85,86,88)
    

    BETWEEN 运算符

    BETWEEN运算符,使用它来确定值是否在一个值范围内

    expr [NOT] BETWEEN begin_expr AND end_expr;
    

    例子

    查询Score表中成绩(degree)在60到80之间的所有记录。

    SELECT
        * 
    FROM
        score 
    WHERE
        degree BETWEEN 60 AND 80
    

    LIMIT 操作符

    在SELECT语句中使用LIMIT子句来约束结果集中的行数。LIMIT子句==接受一个或两个参数==。两个参数的值必须为==零或正整数==。

    SELECT 
        column1,column2,...
    FROM
       table_name
    LIMIT offset , count;
    

    offset : 参数指定要返回的第一行的偏移量。第一行的==偏移量为0==,而不是1。

    count : 指定要返回的最大行数

    例子

    查询Score表中的最高分的学生学号和课程号。

    SELECT
        sno,
        cno
    FROM
     scores
     
     ORDER BY degree DESC
     LIMIT 0,1
    

    补充

    LIMIT 经常在分页查询中使用

    ORDER BY 排序

    当使用SELECT语句查询表中的数据时,结果集不按任何顺序进行排序。要对结果集进行排序,请使用ORDER BY子句。
    ORDER BY子句允许:

    • 对单个列或多个列排序结果集。
    • 按升序或降序对不同列的结果集进行排序。

    使用方法:

    SELECT 
        column1, column2,...
    FROM 
        table_name
    ORDER BY column1 [ASC|DESC], column2 [ASC|DESC],...
    

    例子

    以Class降序查询Student表的所有记录。

    SELECT
        *
    FROM
        student
        
    ORDER BY `class` DESC
    

    GROUP BY 分组查询

    GROUP BY子句通过列或表达式的值将一组行分组为一个小分组的汇总行记录。

    GROUP BY子句为每个分组返回一行。换句话说,它减少了结果集中的行数。也是一种去重方式

    SELECT 
        c1, c2,..., cn, aggregate_function(ci)<!--聚合函数-->
    FROM
        table_name
    WHERE
        where_conditions
    GROUP BY c1 , c2,...,cn;
    

    1.例子

    将订单表(orders)状态(status)的值分组

    [图片上传失败...(image-59c47-1586784578901)]

    SELECT 
        status
    FROM
        orders
    GROUP BY status;
    

    查询结果

    [图片上传失败...(image-3a15-1586784578901)]

    2.例子

    查询订单表中每个状态中数量

    SELECT
        `status`,COUNT(*) as num
    FROM
        `orders`
    GROUP BY `status`
    

    2.结果

    [图片上传失败...(image-62e932-1586784578901)]

    HAVING 分组过滤

    一般HAVINGGROUP BY连用,用来做分组过滤条件。

    例子

    可以通过使用HAVING子句查询(过滤)哪些订单的总销售额大于55000,
    并且包含超过600个项目

    SELECT 
        ordernumber,
        SUM(quantityOrdered) AS itemsCount,
        SUM(priceeach*quantityOrdered) AS total
    FROM
        orderdetails
    GROUP BY ordernumber
    HAVING total > 50000 AND itemsCount > 600;

    相关文章

      网友评论

        本文标题:MySQL 常用语句

        本文链接:https://www.haomeiwen.com/subject/qmdomhtx.html