sql基础语法

一、数据库的查询和创建

 

 

 

 

 

 

二、数据库的修改和删除以及使用

 

 

 

 

 

 

 

 

三、 数据表的查询

 

 

四、 数据表的创建

 

 

 

 

 

五、 数据表的修改

 

 

 

 

 

 六、数据表的删除

 

 

七、 DML表数据的增删改

7.1新增表数据

 

 

7.2 修改表数据

 

 

 7.3删除表数据

 

 

 例子:

/*
    删除表数据
    标准语法:
        DELETE FROM 表名 [WHERE 条件];
*/
-- 删除product表中的微波炉信息
DELETE FROM product WHERE NAME='微波炉';

-- 删除product表中库存为10的商品信息
DELETE FROM product WHERE stock=10;

-- 查看所有商品
SELECT * FROM product;

八、DQL表数据的查询

查询全部

 

 

 例子;

/*
    查询全部数据
    标准语法:
        SELECT * FROM 表名;
*/
-- 查询product表所有数据
SELECT * FROM product;


/*
    查询指定列
    标准语法:
        SELECT 列名1,列名2,... FROM 表名;
*/
-- 查询名称、价格、品牌
SELECT NAME,price,brand FROM product;


/*
    去除重复查询
    标准语法:
        SELECT DISTINCT 列名1,列名2,... FROM 表名;
*/
-- 查询品牌
SELECT brand FROM product;
-- 查询品牌,去除重复
SELECT DISTINCT brand FROM product;

 

 

 例如;

/*
    计算列的值
    标准语法:
        SELECT 列名1 运算符(+ - * /) 列名2 FROM 表名;
        
    如果某一列为null,可以进行替换
    ifnull(表达式1,表达式2)
    表达式1:想替换的列
    表达式2:想替换的值
*/
-- 查询商品名称和库存,库存数量在原有基础上加10
SELECT NAME,stock+10 FROM product;

-- 查询商品名称和库存,库存数量在原有基础上加10。进行null值判断
SELECT NAME,IFNULL(stock,0)+10 FROM product;

 

 

 

/*
    起别名
    标准语法:
        SELECT 列名1,列名2,... AS 别名 FROM 表名;
*/
-- 查询商品名称和库存,库存数量在原有基础上加10。进行null值判断。起别名为getSum
SELECT NAME,IFNULL(stock,0)+10 AS getSum FROM product;
SELECT NAME,IFNULL(stock,0)+10 getSum FROM product;

5、条件查询

 

 

 例如;

/*
    条件查询
    标准语法:
        SELECT 列名列表 FROM 表名 WHERE 条件;
*/
-- 查询库存大于20的商品信息
SELECT * FROM product WHERE stock > 20;


-- 查询品牌为华为的商品信息
SELECT * FROM product WHERE brand='华为';

-- 查询金额在4000 ~ 6000之间的商品信息
SELECT * FROM product WHERE price >= 4000 AND price <= 6000;
SELECT * FROM product WHERE price BETWEEN 4000 AND 6000;


-- 查询库存为14、30、23的商品信息
SELECT * FROM product WHERE stock=14 OR stock=30 OR stock=23;
SELECT * FROM product WHERE stock IN(14,30,23);

-- 查询库存为null的商品信息
SELECT * FROM product WHERE stock IS NULL;

-- 查询库存不为null的商品信息
SELECT * FROM product WHERE stock IS NOT NULL;


-- 查询名称以小米为开头的商品信息
SELECT * FROM product WHERE NAME LIKE '小米%';

-- 查询名称第二个字是为的商品信息
SELECT * FROM product WHERE NAME LIKE '_为%';

-- 查询名称为四个字符的商品信息
SELECT * FROM product WHERE NAME LIKE '____';

-- 查询名称中包含电脑的商品信息
SELECT * FROM product WHERE NAME LIKE '%电脑%';

六、聚合函数查询

 

 

 

/*
    聚合函数
    标准语法:
        SELECT 函数名(列名) FROM 表名 [WHERE 条件];
*/
-- 计算product表中总记录条数
SELECT COUNT(*) FROM product;

-- 获取最高价格
SELECT MAX(price) FROM product;


-- 获取最低库存
SELECT MIN(stock) FROM product;


-- 获取总库存数量
SELECT SUM(stock) FROM product;


-- 获取品牌为苹果的总库存数量
SELECT SUM(stock) FROM product WHERE brand='苹果';

-- 获取品牌为小米的平均商品价格
SELECT AVG(price) FROM product WHERE brand='小米';

七、排序查询

/*
    排序查询
    标准语法:
        SELECT 列名 FROM 表名 [WHERE 条件] ORDER BY 列名1 排序方式1,列名2 排序方式2;
*/
-- 按照库存升序排序
SELECT * FROM product ORDER BY stock ASC;

-- 查询名称中包含手机的商品信息。按照金额降序排序
SELECT * FROM product WHERE NAME LIKE '%手机%' ORDER BY price DESC;

-- 按照金额升序排序,如果金额相同,按照库存降序排列
SELECT * FROM product ORDER BY price ASC,stock DESC;

八、分组查询

 

 

 

/*
    分组查询
    标准语法:
        SELECT 列名 FROM 表名 [WHERE 条件] GROUP BY 分组列名 [HAVING 分组后条件过滤] [ORDER BY 排序列名 排序方式];
*/
-- 按照品牌分组,获取每组商品的总金额
SELECT brand,SUM(price) FROM product GROUP BY brand;

-- 对金额大于4000元的商品,按照品牌分组,获取每组商品的总金额
SELECT brand,SUM(price) FROM product WHERE price > 4000 GROUP BY brand;

-- 对金额大于4000元的商品,按照品牌分组,获取每组商品的总金额,只显示总金额大于7000元的
SELECT brand,SUM(price) getSum FROM product WHERE price > 4000 GROUP BY brand HAVING getSum > 7000;

-- 对金额大于4000元的商品,按照品牌分组,获取每组商品的总金额,只显示总金额大于7000元的、并按照总金额的降序排列
SELECT brand,SUM(price) getSum FROM product 
WHERE price > 4000 
GROUP BY brand 
HAVING getSum > 7000 
ORDER BY getSum DESC;

九、分页查询

 

 

 

/*
    分页查询
    标准语法:
        SELECT 列名 FROM 表名 
        [WHERE 条件] 
        [GROUP BY 分组列名]
        [HAVING 分组后条件过滤] 
        [ORDER BY 排序列名 排序方式] 
        LIMIT 当前页数,每页显示的条数;
    
    LIMIT 当前页数,每页显示的条数;
    公式:当前页数 = (当前页数-1) * 每页显示的条数
*/
-- 每页显示3条数据

-- 第1页  当前页数=(1-1) * 3
SELECT * FROM product LIMIT 0,3;

-- 第2页  当前页数=(2-1) * 3
SELECT * FROM product LIMIT 3,3;

-- 第3页  当前页数=(3-1) * 3
SELECT * FROM product LIMIT 6,3;

/*

       分页查询

       标准语法:

              SELECT 列名 FROM 表名

              [WHERE 条件]

              [GROUP BY 分组列名]

              [HAVING 分组后条件过滤]

              [ORDER BY 排序列名 排序方式]

              LIMIT 当前页数,每页显示的条数;

      

       LIMIT 当前页数,每页显示的条数;

       公式:当前页数 = (当前页数-1) * 每页显示的条数

*/

-- 每页显示3条数据

 

-- 1  当前页数=(1-1) * 3

SELECT * FROM product LIMIT 0,3;

 

-- 2  当前页数=(2-1) * 3

SELECT * FROM product LIMIT 3,3;

 

-- 3  当前页数=(3-1) * 3

SELECT * FROM product LIMIT 6,3;

posted on 2021-02-18 16:15  LouisLin  阅读(269)  评论(0)    收藏  举报

导航