美文网首页
chap04 操作数据表中的记录

chap04 操作数据表中的记录

作者: 月涩风潇 | 来源:发表于2018-10-23 21:24 被阅读0次

    1. 回顾与概述

    约束:

    • 表级约束
    • 列级约束

    数据表

    2. MySQL插入记录INSERT

    插入记录INSERT [INFO] tb1_name [(col_name, ...)] { values | value } ( { expr | DEFAULT },...), (...), ... )

    创建数据表 插入相关数据并展示 添加数据项 年龄有默认值

    一次性写入多条记录
    INSERT user VALUES ( DEFAULT, 'Tom', '123', 3*7-5, 1), ( NULL, 'Rose', md5('123'), DEFAULT , 0 );
    md5:PHP中123字符串的哈希值
    值、函数、默认值、空值都可以填入

    此处问题未解决

    3. MySQL插入记录INSERT SET-SELECT

    INSERT [ INFO ] tb1_name SET col_name={expr | DEFAULT }, ...
    与第一种方式的区别在于,此方法可以使用子查询( SubQuery )

    插入

    INSERT [ INFO ] tb1_name [ (col_name, ... ) ] SELECT ...
    说明:此方法可以将查询结果插入到指定的数据表

    4. MySQL单表更新记录UPDATE

    更新记录(单表更新)
    UPDATE [ LOW_PRIOITITY ] [ IGNORE ] table_reference SET col_name1={ expr | DEFAULT } [ , col_name2 = { expr2 | DEFAULT } } [ WHERE where_condition ]

    age+5 更改age和sex

    更新过程中添加条件(id号为偶数用户年龄+10)


    增加条件

    5. MySQL单表删除记录DELETE

    删除记录(单表删除)
    DELETE FROM tb1_name [ WHERE where_condition ]

    id为6的元素被删除 编号

    已有的最大id号+1

    6. MySQL查询表达式解析

    查找记录
    SELECT select_expr [ , select_expr...] [ FROM table_references [ WHERE where_condition ] [ Group By { col_name | position } [ ASC | DESC ], ...] [ HAVING where_condition ] [ ORDER BY { col_name | expr | position } [ ASC | DESC ], ... [ LIMIT { [ offsets, ] row_count | row_count OFFSET offset }]} ]

    SELECT VERSION();
    SELECT NOW();
    SELECT 3+5;

    验证

    查询表达式

    • 每个表达式表示想要的一列,必须有至少一个
    • 多个列之间用英文逗号分隔
    • 星号()表示所有列tb1_name,可以表示命名表的所有列
    • 查询表达式可以用[ AS ] alias_name 为其赋予别名
    • 别名可用于GROUP BY, ORDER BY 或 HAVING 字句

    可以与原表中数据不一致,且影响结果的顺序

    具体制定某一个数据表用点运算符

    别名(某些字段名)


    别名 为字段设置别名 使用别名时强烈要求加上AS关键字

    7. MySQL where语句进行条件查询

    条件表达式
    对记录进行过滤,如果没有指定WHERE字句,则显示所有记录
    WHERE表达式中,可以使用MySQL支持的函数或运算符
    若无WHERE字句,则对应改变所有的记录

    8. MySQL group by 语句对查询结果分组

    查询结果分组
    [ GROUP BY { col_name | position } [ ASC | DESC }, ... ]


    按照性别来分组

    9. having语句设置分组条件

    分组条件 [ HAVING where_condition ]


    分组条件

    在使用HAVING进行分组条件的指定时,要么保证这个字段出现在当前的SELECT语句中,要么采用一个聚合函数,min, max, avg, count, sum,(永远只有一个返回值)否则会出现错误。

    添加age

    id字段未出现在查找字段内,但出现在一个聚合函数中

    聚合函数

    10. order by 语句对查询结果排序

    对查询结果进行排序
    ORDER BY { col_name | expr | position } [ ASC | DESC ] , ...

    针对id字段降序排列

    首先看第一个字段,若第一个字段已经得到了想要的结果,则可以忽略第二个字段。若根据第一个字段无法啊得到想要的结果,则看第二个,第三个。。。

    按照年龄的升序排列 age相同则按照id降序排列

    11. limit 语句限制查询数量

    限制查询结果返回的数量
    [ LIMIT { [ offset ] row_count | row_count OFFSET offset } ]

    8条数据中指向得到两条数据


    返回前两条数据 从序号为3开始的两条数据

    注意下标是从零开始编号的。

    验证

    插入记录
    INSERT [ INFO ] tb1_name SET col_name = { expr | DEFAULT },...
    说明:与第一种方式的区别在于,此方法可以使用子查询(SubQuery)

    image.png t1中有两个字段却只插入了一个值 将查询的结果写入指定的数据表
    user表中查询age>=30的元素的username字段的内容,并将查询到的结果插入到t1表的username字段中,id字段取默认值,为主键,自增。

    12. 小结

    数据记录的增、删、改、查
    INSERT
    UPDATE
    DELETE
    SELECT

    相关文章

      网友评论

          本文标题:chap04 操作数据表中的记录

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