MySQL进阶:深入理解数据约束与优化查询

MySQL管理数据库

创建数据库

CREATE DATABASE IF NOT EXISTS 数据库名;

删除数据库

DROP DATABASE 数据库名;

表的管理

查看所有表
 use 数据库名; 选中一个数据库
    show tables;
创建表:student(整数id,字符串name,整数age)
CREATE TABLE sutdent (id int, name varchar(20), age int);
查看一个表结构
desc 表名;
查看创建表的sql语句
SHOW CREATE TABLE 表名;
修改表结构

向学生表中添加1列remark varchar(100)

    ALTER TABLE student ADD remark varchar(100)

删除学生表列remark

    ALTER TABLE student DROP remark;

修改表student名字为student1

REANME TABLE sutdent TO student1;
删除表
DROP TABLE 表名;

管理数据:数据增删改DML

插入数据

    INSERT INTO 表名 (字段名1, 字段名2..) VALUES (值1, 值2...);

修改数据

    UPDATE 表名 SET 字段名=新的值 WHERE 条件;

删除表中的所有数据

DELETE FROM 表名;
1.排序:
select * from 表名 order by 字段名 asc(升序默认的)/desc(降序),字段名 asc(升序默认的)/desc(降序),..
2.聚合函数:
count(*) 根据列统计行数
sum(字段名)求某一列和值
max(字段名)某一列最大值
min(字段名)某一列最小值
avg(字段名)某一列平均值
3.分组:按照哪列分组,那么那一列的字段值相同就被分为一组
select * from 表名 where 条件 group by 字段名 having 条件
4.分页查询
select * from 表名 limit 起始索引,每页显示的行数;
    起始索引 从0开始,对应第一行
5.约束:
    1)主键约束:字段名 类型 primary key auto_increment
        特点:唯一  非空
    2)唯一约束:字段名 类型 unique
    3)非空约束:字段名 类型 not null
    4)默认值约束:字段名 类型 default 默认值 
    5)外键约束:约束外键,在多表中具有外键。
        【constraint 外键约束名】 foreign key(外键对应的字段名) references 主表(主键);
    6)多表关系:
        1)一对多:将一方的主键作为多方的外键
        2)多对多:创建从表(中间表)维护两张主表的关系,在从表中至少要有两列来自于主表的主键作为外键
        3)一对一:将任意一方的主键作为另一方的外键

第一部分(约束和表设计)

1、DQL查询语句-limit语句(掌握)

能够掌握limit语句的使用

作用:

LIMIT`是`限制`的意思,所以`LIMIT`的作用就是限制查询记录的条数。

LIMIT语句格式:

select * from 表名 limit  offset, row_count;
mysql中limit的用法:返回前几条或者中间某几行数据
-- 1 表示分页查询的索引,对应数据表是第二行数据,4表示每页显示4条数据
select * from 表名 limit 1,4。
1表示索引,注意这里的索引从0开始。对应表中第一行数据
4表示查询记录数。
上述就表示从第2条记录开始查询,一共查询4条,即到第5条。

查询学生表中数据,跳过前面1条,显示4条

我们可以认为跳过前面1条,取4条数据
SELECT * FROM student3 LIMIT 1,4;

LIMIT语句的使用格式?

1、

SELECT 字段 FROM 表名 LIMIT 索引, 显示条数;
索引:从0开始,一直变化
显示条数:每页显示的行数,固定不变的

2、

SELECT 字段名(5) FROM 表名(1) WHERE 条件(2) GROUP BY 分组列名(3) HAVING 条件(4) ORDER BY 排序列名(6) LIMIT 跳过行数, 返回行数(7);
执行顺序:1234567

2、数据库约束的概述

讲解

数据库约束的作用

对表中的数据进行进一步的限制,保证数据的正确性、有效性和完整性。

约束种类
  • PRIMARY KEY: 主键约束
  • UNIQUE: 唯一约束
  • NOT NULL: 非空约束
  • DEFAULT: 默认值 了解
  • FOREIGN KEY: 外键约束

3、主键约束(掌握)

通常不用业务字段作为主键,单独给每张表设计一个id的字段,把id作为主键。主键是给数据库和程序使用的,不是给最终的客户使用的。所以主键有没有含义没有关系,只要不重复,非空就行

创建主键

主键:PRIMARY KEY

主键的特点

  • 主键必须包含唯一的值
  • 主键列不能包含NULL值

创建主键方式:

字段名 字段类型 PRIMARY KEY

在已有表中添加主键(了解)

ALTER TABLE 表名 ADD PRIMARY KEY(字段名);

4、主键自增

主键如果让我们自己添加很有可能重复,我们通常希望在每次插入新记录时,数据库自动生成主键字段的值

    字段名 字段类型 PRIMARY KEY AUTO_INCREMENT

AUTO_INCREMENT` 表示自动增长(字段类型必须是整数类型)

5、唯一约束

唯一约束的作用

在这张表中这个字段的值不能重复

唯一约束的基本格式
字段名 字段类型 UNIQUE

6、非空约束

这个字段必须设置值,不能是NULL

非空约束的基本语法格式

字段名 字段类型 NOT NULL

主键约束和唯一约束并且非空的区别: id primary key 主键约束 可以实现主键自增,一般数据表只有id是主键约束 name unique not null 唯一并且非空 不能实现主键自增 数据表中很多字段都可以是唯一 非空

7、默认值

字段名 字段类型 DEFAULT 默认值

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/884451.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

代码随想录_刷题记录_第四次

二叉树 — 理论基础 种类: 满二叉树(所有层的节点都是满的,k:深度 节点数量:2^k - 1)完全二叉树(除了最后一层,其余层全满,并且最后一层从左到右连续)二叉搜…

信道衰落的公式

对于天线: 对于天线的面积计算: 天线的接收功率密度: 天线的接收功率: 移动无线信道(I) (xidian.edu.cn)https://web.xidian.edu.cn/zma/files/20150710_153736.pdf 更加常用的考虑了额外的信道衰落pathlo…

2024 maya的散布工具sppaint3d使用指南

目前工具其实可以分为三个版本 1 最老的原版 时间还是2011年的,只支持python2版的maya 2 作者python3更新版 后来作者看maya直到2022上还是没有类似好用方便的工具,于是更新到了2022版本 这个是原作者更新的2022版本,改成了python3&#…

敏感字段加密 - 华为OD统一考试(E卷)

2024华为OD机试(E卷+D卷+C卷)最新题库【超值优惠】Java/Python/C++合集 题目描述 【敏感字段加密】给定一个由多个命令字组成的命令字符串: 1、字符串长度小于等于127字节,只包含大小写字母,数字,下划线和偶数个双引号; 2、命令字之间以一个或多个下划线 进行分割; 3、可…

Study-Oracle-10-ORALCE19C-RAC集群搭建(一)

一、硬件信息及配套软件 1、硬件设置 RAC集群虚拟机:CPU:2C、内存:10G、操作系统:50G Openfile数据存储:200G (10G*2) 2、网络设置 主机名公有地址私有地址VIP共享存储(SAN)rac1192.168.49.13110.10.10.20192.168.49.141192.168.49.130rac2192.168.49.13210.10.10.3…

单体到微服务架构服务演化过程

架构服务化 聊聊从单体到微服务架构服务演化过程 单体分层架构 在 Web 应用程序发展的早期,大部分工程是将所有的服务端功能模块打包到单个巨石型(Monolith)应用中,譬如很多企业的 Java 应用程序打包为 war 包,最终会形…

JSP(Java Server Pages)基础使用二

简单练习在jsp页面上输出出乘法口诀表 既然大家都是来看这种代码的人了&#xff0c;那么这种输出乘法口诀表的这种简单算法肯定是难不住大家了&#xff0c;所以这次主要是来说jsp的使用格式问题。 <%--Created by IntelliJ IDEA.User: ***Date: 2024/7/18Time: 11:26To ch…

线性表二——栈stack

第一题 #include<bits/stdc.h> using namespace std; stack<char> s; int n; string ced;//如何匹配 出现的右括号转换成同类型的左括号&#xff0c;方便我们直接和栈顶元素 char cheak(char c){if(c)) return (;if(c]) return [;if(c}) return {;return \0;/…

css边框修饰

一、设置线条样式 通过 border-style 属性设置&#xff0c;可选择的一些属性如下&#xff1a; dotted&#xff1a;点线 dashed&#xff1a;虚线 solid&#xff1a;实线 double&#xff1a;双实线 效果如下&#xff1a; 二、设置边框线宽度 ① 通过 border-width 整体设置…

【深度学习】深度卷积神经网络(AlexNet)

在 LeNet 提出后&#xff0c;卷积神经网络在计算机视觉和机器学习领域中很有名气&#xff0c;但并未起到主导作用。 这是因为 LeNet 在更大、更真实的数据集上训练的性能和可行性还有待研究。 事实上&#xff0c;在 20 世纪 90 年代到 2012 年之间的大部分时间里&#xff0c;…

时间技能物品竞品抢拍拍卖发布h5公众号小程序开源版开发

时间技能物品竞品抢拍拍卖发布h5公众号小程序开源版开发 利用新型营销方式&#xff0c;将闲置的物品通过拍卖&#xff0c;让价格一提再提让用户趣在其中&#xff0c;营造一种不一样的购物体验! 拍卖列表页 列表页采用多分类&#xff0c;广告轮播及流动公告和拍卖商品列表组成…

神经网络(二):卷积神经网络

文章目录 一、图像的本质1.1单通道图像&#xff1a;灰度图1.2多通道图像 二、卷积神经网络2.1基本结构2.2卷积层2.2.1卷积操作2.2.2填充padding2.2.3步幅strides2.2.4多通道图像卷积&#xff1a;单卷积核2.2.5多通道图像卷积&#xff1a;多卷积核2.2.5卷积层的参数与激活函数 2…

【qt】QQ仿真项目1

一览全局: QQ仿真项目 一.创建项目添加资源文件二.创建数据库三.自定义标题栏Qt类四.加载样式表标题栏按钮的搭配五.标题栏实现移动窗体六.标题栏按钮连接信号槽七.标题栏双击最大化和还原八.基类窗口实现标题栏按钮信号九.重写基类窗口绘图事件确保设置样式表生效十.用户登录界…

Leetcode 1235. 规划兼职工作

1.题目基本信息 1.1.题目描述 你打算利用空闲时间来做兼职工作赚些零花钱。 这里有 n 份兼职工作&#xff0c;每份工作预计从 startTime[i] 开始到 endTime[i] 结束&#xff0c;报酬为 profit[i]。 给你一份兼职工作表&#xff0c;包含开始时间 startTime&#xff0c;结束时…

第二十节:学习Redis缓存数据库实现增删改查(自学Spring boot 3.x的第五天)

这节记录下如何使用redis缓存数据库。 第一步&#xff1a; 先在服务器端安装redis&#xff0c; 下载地址&#xff1a;Releases tporadowski/redis GitHub。 第二步&#xff1a; 安装redis客户端可视化管理软件redisDesktopmanager Redis Desktop Manager - Download 第…

革命题材网络电影《突进夹金山》将于10月上线

“长征万里险&#xff0c;最忆夹金山”。这座雪山不仅见证了红军战士们的英勇与牺牲&#xff0c;也成为了中国革命历史上的一座重要里程碑。 革命题材网络电影《突进夹金山》&#xff0c;作为四川省2024年度重点影视剧项目以及纪念红军长征90周年献礼的红色作品&#xff0c;由谢…

SPI驱动学习七(SPI_Slave_Mode驱动程序框架)

目录 一、SPI_Slave_Mode驱动程序框架1. Master和Slave模式差别1.1 主设备 (Master)1.2 从设备 (Slave)1.3 示例 2. SPI传输概述2.1 数据组织方式2.2 SPI控制器数据结构 3. SPI Slave Mode数据传输过程4. 如何编写程序4.1 设备树4.2 内核相关4.3 简单的示例代码4.3.1 master和s…

DarkLabel2.4版本导入MOT17数据集

目录 背景导入效果MOT17数据集说明DarkLabel导入视频导入gt文件 背景 做目标追踪&#xff0c;目前找了一圈开源工具&#xff0c;发现DarkLabel还是很好用的&#xff0c;提供自动目标跟踪&#xff0c;标注很方便。 由于目标追踪我用的是bytetrack&#xff0c;官网是用mot17数据…

python爬虫案例——抓取链家租房信息(8)

文章目录 1、任务目标2、分析网页3、编写代码1、任务目标 目标站点:链家租房版块(https://bj.lianjia.com/zufang/) 要求:抓取该链接下前5页所有的租房信息,包括:标题、详情信息、详情链接、价格 如: 2、分析网页 用浏览器打开链接,按F12或右键检查,进入开发者模式;因…

5.MySQL表的约束

目录 表的约束空属性&#xff08;非空约束&#xff09;默认值&#xff08;default约束&#xff09;列描述&#xff08;comment&#xff09;zerofill主键&#xff08;primary key约束&#xff09;自增长&#xff08;auto_increment&#xff09;唯一键&#xff08;unique约束&…