• 数据库---对表的增删改查


    总结

      对表的增删该

    增加数据

    -- 插入所有字段。一定依次按顺序插入

                    INSERT INTO  表名 VALUES(1,'熊大','2019-07-15');

    -- 注意不能少或多字段值

    -- 单独插入数据

                   INSERT INTO student(pid,aname) VALUE(2,'熊二');

                     INSERT INTO 表名(列名,列名) VALUE(插入的值,插入的值');

    -- 待条件修改数据 set 指定列  where条件 指定插入哪行

    UPDATE   student  SET    pdate='2019-07-15 '  ,        aname='七七国王'    WHERE pid=2;

    UPDATE   student  SET  字段名=值 ,      用逗号隔开   字段名=值              WHERE 修 pid 编号为2的行 or修改 pid 编号为1的行;

    --删除数据

    -- 删除数据  where指定删除那一行

    DELETE FROM student WHERE pid=2;

    DELETE FROM 表名 WHERE pid 编号为2的行;

    -- 全表删除(不加valure全表删除)可以找回

    DELETE FROM   表名

      -- 清空表语句,无法找回

    TRUNCATE    TABLE   表名;

    1)不能带条件删除

    2)即可以删除表的数据,也可以删除表的约束

    3)使用truncate table删除的数据不能回滚

     6 查询数据(重点)

    -- 查询所有数据

    SELECT * FROM  表名;

    -- 查询指定字段数据

    SELECT  pid,aname  FROM  student;

    SELECT  列名 列名  FROM  表名;

    -- 查询时添加常量列

    SELECT pid     AS '编号',   aname AS '姓名'   FROM   student;

    SELECT  列名 AS '名字 ',    列明AS '名字 '    FROM   表名;

                       

    -- 查询合并列

    -- 创建新表

    CREATE TABLE score(

           sid INT,

           sname VARCHAR(10),

           html  DOUBLE,

           js DOUBLE,

           jquery DOUBLE)

    INSERT INTO score VALUES (1,'山地',99,20,30);

    INSERT INTO score VALUES (2,'速降',99,100,89);

    INSERT INTO  score VALUES (3,'攻入',60,50,32);

    -- 查询时合并列

    -- 查询所有同学姓名以及总成绩

    SELECT  sname,(html+js+jquery )  AS'grade'  FROM score;

    -- 查询时去除重复列   两种方式

    -- 需求  查询学生表中的性别

    SELECT DISTINCT  sex   FROM sstudent;

    SELECT DISTINCT  (sex)   FROM student;

     公式:SELECT   结果  FROM 表明 where(条件查询)条件;

    9.条件查询:

    and(与)     or(或)

    条件查询

    selelct  * from 表名where  product='新的';

    SELECT * FROM student WHERE id=2 AND NAME='李四'

    -- 需求: 查询id为2,或姓名为张三的学生

    多个条件查询用AND 进行连接查询

    没有唯一条件查询时用 OR 连接查询

    2.     < > <> <= >=的使用:

    select js from socre where grade>50 or grade<80 or grade>=65  or grade<=75 or grade <> 66;

    between and (等价于>= 且 <=)的用法

    :select * from f  where grade= between 60 and 70;-- (包前包后)

    Select* from  表名 where  字段=条件

    Null 是没有

    空字符时有值但为空,没有被实参赋值是空字符串。

    .null和空字符串的用法:

    null是没有值具体用法:is null或者is not null;''

    Like  模糊查询

    %和_的用法:随便加载任何地方都可以

    %表示一个或多个任意字符,

    _表示一个任意字符;

    一般和like模糊查询一起使用     

          聚合查询

    公式:select 函数(列名)from 表名;

    聚合函数: sum( 列名)求一个字段所有和 

               avg(列名)求平均值 

    max(列名)最大值 

    min(列名)最小值 

    count(列名)查询计入数

    -- 需求:查询学生的servlet的总成绩 (sum() :求和函数)

    SELECT SUM(servlet) AS 'servlet的总成绩' FROM student;

    -- 需求: 查询学生的servlet的平均分

    SELECT AVG(servlet) AS 'servlet的平均分' FROM student;

    -- 需求: 查询当前servlet最高分

    SELECT MAX(servlet) AS '最高分' FROM student;

    -- 需求: 查询最低分

    SELECT MIN(servlet) AS '最低分' FROM student;

    -- 需求: 统计当前有多少学生(count(字段))

    SELECT COUNT(*) FROM student;

    COUNT(*)  统计计入最大值

    SELECT COUNT(id) FROM student;

    -- 注意:count()函数统计的数量不包含null的数据

    -- 使用count统计表的记录数,要使用不包含null值的字段

    SELECT COUNT(age) FROM student;

    Count(*) 表示所有数值

    分页查询

    limit 起始行,查询几行

    公式:起始行= (当前页-1)*每页显示的条数,每页显示多少条;

    查询排序

    ASC与DESC的用法;

    ASC是正序从小到大;DESC是倒叙从大到小;

              

            

    order by 是进行排序用的

             SELECT * FROM score ORDER BY js ASC,jquery DESC;-- 是以js为主排序,

    当js的值相同的时候再按照jquery的成绩排;也就是 谁在前面谁先执行该条件

             分组查询 与聚合函数组合使用

    group by 是分组计数;

    有关count()方法的使用

             查询每个班的人数:select clas,count(*)from student group by clas;

             查询每个班js的总分:select clas,count(js) from student group by clas;

  • 相关阅读:
    SCOI2007 组队
    ZJOI2008 生日聚会
    织梦标签截取指定数目字符
    HTML特殊符号对照表
    DedeCMS让{dede:list}标签支持weight权重排序
    PHP 5.4 中经 htmlspecialchars 转义后的中文字符串为空,DeDeCMS在PHP5.4下编辑器中文不显示问题
    把图文内容载入微应用中
    织梦安装错误
    dedecms创建或修改目录失败
    安装phpmyadmin
  • 原文地址:https://www.cnblogs.com/layuechuquwan/p/11192696.html
Copyright © 2020-2023  润新知