SQL查询语句

一.SQL查询语句

SQL查询语句
    一个项目中,库操作,表结构操作,字段操作,数据操作都是固定语法形式
    要想实现代码功能,代码内容都是固定不变的,大部分只要复制粘贴,修改名称和设定就可以了

    查询语句,是一个非常灵活,非常复杂的语句内容,

    SQL语句的逻辑运算符
    JavaScript和PHP,
        逻辑与 &&    逻辑或 ||   逻辑非 !
    SQL语句中
        逻辑与 AND   逻辑或 OR   逻辑非 NOT

    每一个SQL查询语句,都不相同

    如果没有符合条件的查询结果,不会报错,查询结果是空null

    1,查询表结构中,所有字段的所有数据

    SELECT * FROM `表名`;

    2,查询表结构中,指定字段的所有数据
        多个字段使用逗号间隔

    SELECT `字段1`,`字段2`,`字段3`.... FROM `表名`;

    3,查询表结构中,符合约束条件的字段

    SQL查询语句,执行,要根据项目需求而定

    SELECT 字段的设定 FROM `表名` 约束条件;

    约束条件:
        (1) WHERE 对字段中数据的约束条件
    
        SELECT * FROM `表名` 约束条件 WHERE `字段` 数值设定;
        
        (2) 模糊查询 只要数据包含关键字,即可

        %  _  占位符,没有实际数据内容,只是表示指代或者替换 

        %  替换任意长度的任意内容
        _  替换一个长度的任意内容

        SELECT * FROM `表名` 约束条件 WHERE `字段` LIKE '%或者_关键词';

        (3) 设定查询显示顺序
        默认的显示顺序,根据id字段,从 小--大  升序排列
        可以设定,按照某个字段的 升序ASC--大  或者 降序DESC--小 来排列
        字段默认的排序是 升序 ASC 可以不写

        SELECT * FROM `表名` ORDER BY `字段名` 排序方式;


        多个字段的顺序排列
        可以同时设定多个字段的排序方式,之间使用过逗号间隔
        一般是按照某个字段排序,再按照id字段排序
        具体排序,会先按照第一个字段数据的顺序排序
        然后相同的数据的顺序,会按照第二个字段的顺序再次排序

        SELECT * FROM `表名` ORDER BY `字段名1` 排序方式 , `字段名2` 排序方式;
        
        如果有WHEREORDER BY 排序,要先写 WHERE关键词


        分页查询
            按照指定的设定,来显示部分的查询结果
            默认会显示所有的符合条件的查询结果
            设定分页显示/分页查询,只会显示部分内容

            LIMIT  分页查询语句
            参数1:设定的显示数据内容的起始数据索引下标
            参数2:设定的显示数据内容的数据数据数量
        
            SELECT 字段设定 FROM `表名` 约束条件 LIMIT 参数1 , 参数2;

            也可以和其他约束条件配合,语法顺序是
            SELECT 字段设定 FROM `表名` WHERE 字段约束 ORDER BY 字段 排序方式 LIMIT 分页查询;

            总结公式:
                参数1:显示数据的起始索引下标
                参数2:显示数据的数量

            页面显示 line 条数据,第n页,显示的数据内容的设定
                参数1: (n-1)*line 
                参数2: line 
                
            LIMIT  (n-1)*line ,  line 

二.SQL查询语句代码文件

-- 查询表结构所有字段
SELECT * FROM `student`;

-- 查询表结构指定字段
SELECT `id`,`username`,`userpwd`,`phone` FROM `student`;

-- 查询表结构中,符合约束条件的字段

-- 1,WHERE  对字段数据的约束

-- 查询 id字段 数值是 100的数据
SELECT * FROM `student` WHERE `id` = 100;

-- 查询 id字段 数值是 100-200之间的数值
SELECT * FROM `student` WHERE `id` >= 100 AND `id` <= 200 ;

-- 查询 id字段 数值是 100-200之间,并且年龄是 20-30岁之间的数值

SELECT * FROM `student` WHERE (`id` >= 100 AND `id` <= 200) AND (`age` >= 20 AND `age` <= 25)  ;

-- 查询 id字段 数值是 100-200之间,并且年龄是 20-30岁之间的数值
-- 只显示id和name字段

SELECT `id`,`name` FROM `student` WHERE (`id` >= 100 AND `id` <= 200) AND (`age` >= 20 AND `age` <= 25)  ;


-- 查询 姓名中,姓何的数据
-- 什么叫姓何 ? 名字中,第一个字是何,其他字是什么不管,有几个字不管
-- 对何字之后,内容的长度不管,具体是什么内容,也不管,使用 % 

SELECT `id`,`name` FROM `student` WHERE `name` LIKE '何%';

-- 查询 姓名中,带有一字的数据
-- 一字前有什么,不管,一字后有什么不管,只要有一就行
SELECT `id`,`name` FROM `student` WHERE `name` LIKE '%一%';

-- 查询 姓名中 姓何的,名字是2个字的数据
-- 姓何 ,第一个字是何
-- 名字是两个字,除了姓何字外,还可以有任意1个字符,字符内容任意
SELECT `id`,`name` FROM `student` WHERE `name` LIKE '何_';


-- 查询 姓名中 姓何的,名字是3个字的数据
-- 姓何 ,第一个字是何
-- 名字是两个字,除了姓何字外,还可以有任意2个字符,字符内容任意
SELECT `id`,`name` FROM `student` WHERE `name` LIKE '何__';

-- 查询 姓名中 姓何的,名字是3个字的,第二个字是一的
-- 姓何 ,第一个字是何,第二个字是一,第三个字是任意字符
SELECT `id`,`name` FROM `student` WHERE `name` LIKE '何一_';

-- 查询 姓名中 姓何的,名字是3个字的,第三个字是一的
-- 姓何 ,第一个字是何,第二个字是任意字符,第三个字是一
SELECT `id`,`name` FROM `student` WHERE `name` LIKE '何_一';


-- 排序方式

-- 按照年龄的 升序排列 小 -- 大
SELECT `id`,`name`,`age` FROM `student` ORDER BY `age` ASC;

-- 按照年龄的 降序排列 大 -- 小
SELECT `id`,`name`,`age` FROM `student` ORDER BY `age` DESC;


-- 按照年龄的 升序排列 小 -- 大 和 id字段的 升序
-- age字段,数值相同的数据,再按照 id 的升序排列
SELECT `id`,`name`,`age` FROM `student` ORDER BY `age` ASC , `id` ASC ;


-- 按照年龄的 升序排列 小 -- 大 和 id字段的 降序
SELECT `id`,`name`,`age` FROM `student` ORDER BY `age` , `id` DESC ;

-- 查询姓何的人员,按照年龄的 升序 id 的升序排序
SELECT `id`,`name`,`age` FROM `student` WHERE `name` LIKE '何%'  ORDER BY `age` , `id`;

-- 分页查询
-- 第n条数据,索引应该是n-1

-- 从第一条数据,也就是索引是0的数据开始,显示,显示10条数据
SELECT `id`,`name`,`age` FROM `student` LIMIT 0 , 10;

-- 查询 姓何的,年龄最大的5个人,按照id升序排列
-- 姓何  WHERE `name` LIKE '何%' 模糊查询
-- 年龄最大  年龄 是 降序 大 -- 小
-- 再按照id升序拍列 `id`
-- 最大的5人   LIMIT 0 , 5

SELECT `id`,`name`,`age` FROM `student` WHERE `name` LIKE '何%' ORDER BY `age` DESC , `id` LIMIT 0,5;     


-- 查询 姓何的,年龄最大的第5-10人,按照id升序排列
-- 第5-10人 从索引是4开始,显示6个人,也就是6条数据
SELECT `id`,`name`,`age` FROM `student` WHERE `name` LIKE '何%' ORDER BY `age` DESC , `id` LIMIT 4,6;     



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值