sql查询语句 sql文件实例 PHP操作数据库 php操作数据库实例

sql查询语句

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

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

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

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

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

        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` 排序方式;
            
            如果有WHERE和ORDER 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 
-->
</body>

sql文件实例

– 查询表结构所有字段
SELECT * 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;

PHP操作数据库

<!--  
    PHP来操作数据库

        SQL语句是操作数据库的计算机语言

        不管是什么方式,本质上,都是在执行SQL语句,只是执行方式不同

        普通的执行方式,通过cmd命令行,才执行SQL语句,执行结果,只存在于cmd命令行中
            前端页面,后端程序php,java 等无法使用其中的数据的

        MySQL-front 可视化软件,本质也是在执行SQL语句
            操作结果,也是只存在于可视化软件中,其他程序也是无法使用

        PHP的本质也是在PHP程序中,运行SQL语句,来操作数据库
            PHP提供了专门的方法,来对MySQL数据库进行操作
            并且获取操作结果,在PHP程序中

            方法有3种方法
                mysql 函数库 弃勇
                mysqli函数库 
                PDO函数库  必须7.0以上版本才可以 

    PHP中通过PHP提供的函数库,来运行指定的函数方法,来才做MySQL数据库

    php_mysqli 函数库,操作MySQL书库的语法和步骤,基本固定的形式

    通过mysqli函数库方法,来操作MySQL数据库固定步骤
       1,链接,登录
       $link = mysqli_connect(地址,账号,密码,库名,端口);

       2,定义要执行的SQL语句
       $sql = "SQL语句";

       3,执行SQL语句  
       $result = mysqli_query($link,$sql);

       4,获取执行结果
       $arr = mysqli_fetch_all($result , MYSQLI_ASSOC);

       5,关闭数据库
       mysqli_close($link);


    1,链接登录MySQL数据库
    mysqli_connect() 连接登录数据库的方法

        参数1:MySQL数据库的地址
            当前使用的是本地数据库
            'localhost' 或者 '127.0.0.1'

        参数2:登录MySQL的账号
            'root'

        参数3:登录MySQL的密码
            'root'

        参数4:使用数据库的名称
            'nz2002'

        参数5:MySQL数据库的端口号
            3306

        $link = mysqli_connect('localhost','root','root','nz2002',3306);

    2,定义SQL语句
        将我们要执行的SQL语句,定义成字符串的形式
        最外一定要使用 " " 双引号包裹,为了解析变量
        双引号之内,只能使用单引号
        SQL语句,可以没有分号结尾
        主要注意编码格式

        $sql = "SQL语句";

    3,执行SQL语句
        执行结果是 结果集对象
        对象中有执行结果,但是无法直接使用

        $result = mysqli_query($link , $sql);

    4,获取SQL语句执行结果
        从结果集对象中,抽取具体的数据内容,组成新的数组,二维数组
        mysqli_fetch_all($result , MYSQLI_ASSOC)

        $arr = mysqli_fetch_all($result , MYSQLI_ASSOC);

    5,关闭mysql数据库
        链接的那个数据库,就关闭那个数据库
        mysqli_close($link);

    6,如果需要,要在执行SQL语句之前,设定编码格式

        mysqli_query($link , "SET NAMES uft8或者gbk");

        会影响中文的显示和查询

    7,mysqli_query($link ,  $sql);

      如果 mysqli_query 执行的是 查询语句,执行结果是结果集对象

      如果 mysqli_query 执行的是 非查询语句,执行结果是 布尔类型   true成功   false失败
           如果执行结果是布尔类型,不能使用 mysqli_fetch_all 来获取数组
           只有查询语句,可以使用 mysqli_fetch_all 来获取数组
          


-->

php操作数据库实例

?php

// PHP操作MySQL数据库的方法和步骤

// 1,登录MySQL数据库
// 如果连接成功,返回一个对象,其中存储很多的连接信息
// 如果连接失败,程序执行报错

// 参数1:连接MySQL数据库地址
// 当前是本地数据库 ‘localhost’ 或者 ‘127.0.0.1’
// 参数2:连接MySQL数据库账号
// ‘root’
// 参数3:连接MySQL数据库密码
// ‘root’
// 参数4:连接MySQL数据库,指定使用的库
// ‘nz2002’
// 参数5:连接MySQL数据库端口
// 3306

// 实际项目中,会给定,MySQL的地址,账号,密码,库名,端口
// 给你什么,你就输入什么就可以了
// 参数内容是项目中给定的,参数的顺序,不能变

$link = mysqli_connect(‘localhost’,‘root’,‘root’,‘nz2002’,3306);

echo ‘

’;
print_r($link);
echo ‘
’;

// 2,设定需要执行的SQL语句

// SQL语句,要根据实际项目需求而定
// 目前查询所有姓何的人员名单
// 问题:
// 1,定义的SQL语句,实际上就是你需要执行的SQL语句程序,以字符串的形式来定义
// 2,定义SQL语句,最外层,要使用双引号,为了如果有变量,可以解析变量
// 3,双引号之内,只能使用单引号
// 4,定义的SQL语句中,可以没有分号结束
// 因为此时并不是真的执行SQL语句,只是来定义
// 5,变量一定要会用{}包裹,防止发生冲突
// 6,要确保编码格式正常,这样才能正常的查询设定中文

$str = ‘name’;

// 查询结果,mysqli_query()执行结果是结果集对象
KaTeX parse error: Expected '}', got 'EOF' at end of input: …udent` WHERE `{str}` LIKE ‘何%’";

// 给student表结构中,age字段的 所有数据,都+1
$sql2 = “UPDATE student SET age = age+1”;

// 2.5,设定SQL语句的编码格式
// 只要数据库格式设定正确,一般都可以保证编码格式是utf8
// 为了保险起见,或者查询结果中,中文显示是乱码
// 可以指定编码格式是utf8

mysqli_query($link,“SET NAMES utf8”);

// 3,执行SQL语句
// mysqli_query() 执行SQL语句的方法
// 参数1:链接MySQL数据集的执行结果对象
// 要使用连接成功后,对象中的相关信息
// 参数2:定义的SQL语句

// 查询结果是一个对象形式

// 如果编码格式设定有问题,执行结果,就会有问题,执行就会报错
r e s u l t = m y s q l i q u e r y ( result = mysqli_query( result=mysqliquery(link,$sql2);

var_dump($result);

echo ‘

’;
print_r($result);
echo ‘
’;

// 获取具体的执行结果
// 从结果集对象中,抽取具体的数据内容
// 组成新的数组形式存储
// 参数1:执行SQL语句的结果集对象
// 参数2:设定数组的索引下标的形式
// MYSQLI_ASSOC 数组索引下标,是字段名称
// 数组形式与数据库内容形式相互对应

// a r r = m y s q l i f e t c h a l l ( arr = mysqli_fetch_all( arr=mysqlifetchall(result,MYSQLI_ASSOC);

// echo ‘

’;
// print_r($arr);
// echo ‘
’;

// 操作结束,关闭数据库
// 参数:链接数据库结果
mysqli_close($link);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值