码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 数据库的进阶增删查改操作(一)


    进阶操作

      • 一.约束
        • 1.约束类型
        • 2.NULL约束
        • 3.unique:唯一约束
        • 4.default:默认值约束
        • 5.primary key:主键约束
        • 6.foreign key:外键约束
        • 7.check约束(了解内容)
      • 二.表的设计
        • 1.一对一
        • 2.一对多
        • 3.多对多
      • 三.新增
      • 四.查询
        • 1.聚合函数
          • 1.1 count
          • 1.2 sum
          • 1.3 avg
          • 1.4 max
          • 1.5 min
        • 2.group by 字句
        • 3.having

    一.约束

    1.约束类型

    NOT NULL - 指示某列不能存储 NULL 值。
    UNIQUE - 保证某列的每行必须有唯一的值。
    DEFAULT - 规定没有给列赋值时的默认值。
    PRIMARY KEY - NOT NULL 和 UNIQUE 的结合。确保某列(或两个列多个列的结合)有唯一标识,有助于更容易更快速地找到表中的一个特定的记录。
    FOREIGN KEY - 保证一个表中的数据匹配另一个表中的值的参照完整性。
    CHECK - 保证列中的值符合指定的条件。对于MySQL数据库,对CHECK子句进行分析,但是忽略CHECK子句

    2.NULL约束

    在这里插入图片描述

    3.unique:唯一约束

    在这里插入图片描述

    4.default:默认值约束

    在这里插入图片描述

    这是咋们设置了相应的name值,那么我们不设置呢?是不是默认的hello呢?
    用来进行指定列查询

    在这里插入图片描述
    在这里插入图片描述

    我们没有给name赋值,但是它有一个默认值,这就是default的用法.

    5.primary key:主键约束

    在这里插入图片描述
    对于整数类型的主键,常配搭自增长auto_increment来使用。插入数据对应字段不给值时,使用最大值+1
    在这里插入图片描述

    6.foreign key:外键约束

    注意事项:
    1.外键约束在所有的条件写完之后最后写
    2.本表的条件或列必须在引用的表中存在
    3.新增记录的时候,先查询父表中是否存在’
    4.删除数据的时候,必须先删除子表中的数据,使他不依赖于父表,再删除父表的记录.

    在这里插入图片描述
    在这里插入图片描述

    7.check约束(了解内容)

    create table test_user (
    id int,
    name varchar(20),
    sex varchar(1),
    check (sex =‘男’ or sex=‘女’)
    );

    二.表的设计

    1.一对一

    在这里插入图片描述

    2.一对多

    在这里插入图片描述

    3.多对多

    在这里插入图片描述

    三.新增

    – 创建用户表
    DROP TABLE IF EXISTS test_user;
    CREATE TABLE test_user (
    id INT primary key auto_increment,
    name VARCHAR(20) comment ‘姓名’,
    age INT comment ‘年龄’,
    email VARCHAR(20) comment ‘邮箱’,
    sex varchar(1) comment ‘性别’,
    mobile varchar(20) comment ‘手机号’
    );

    四.查询

    1.聚合函数

    在这里插入图片描述

    1.1 count

    在这里插入图片描述

    1.2 sum

    在这里插入图片描述

    1.3 avg

    在这里插入图片描述

    1.4 max

    在这里插入图片描述

    1.5 min

    在这里插入图片描述

    2.group by 字句

    SELECT 中使用 GROUP BY 子句可以对指定列进行分组查询。需要满足:使用 GROUP BY 进行分组查询时,SELECT 指定的字段必须是“分组依据字段”,其他字段若想出现在SELECT 中则必须包含在聚合函数中。

    在这里插入图片描述

    分组之前 用where
    分组之后 用having

    3.having

    having字句用于分组之后的,所以我们要求平均薪资大于20000的必须先分组之后才知道谁是大于20000薪资的.
    在这里插入图片描述

  • 相关阅读:
    七夕送什么礼物最实用?贴心又实用的护眼台灯分享
    CentOS7 编译安装最新的Linux Kernel 6.0 rc3
    30人小公司,5分钟自助上线,快速搭建私有云盘?
    Qt 信号与槽
    设计模式(1)-设计模式前置基础知识
    10:00面试,10:06就出来了,问的问题有点变态。。。
    智慧导览|智能导游系统|AR景区导览系统|景区电子导览
    commons-io
    sonar扫描安装前端
    杠杆炒股的尾盘买入法
  • 原文地址:https://blog.csdn.net/m0_73111651/article/details/134274404
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号