MySQL单表

MySQL-课程介绍

MySQL-概述

概述-数据模型

SQL简介

MySQL-DDL

-数据库操作

MySQL-DDL-图形化工具

DDL-表结构操作

-创建

-数据类型

tinyint默认为有符号的,想要无符号的一般要在后面加上unsigned例如tinyint unsigned

由于变长字符串varchar要根据实际长度存储,多了一步判断长度,所以性能比char低

像电话号这种固定长度的就可以使用char(11)

像名字这种长度不固定的就可以用varchar(20)

date只有年月日,datetime有年月日和时分秒

创建-案例

-查询&修改&删除

show tables只查询到了表名

desc 表名查询到了表的结构

show create table 表名查询到了表的设定语句

选中表 ctrl+b可以在图形化界面中查看这个表

MySQL-DML

-添加数据insert

指定字段添加数据,是指挑选几个属性给一组元素赋值

这就是为所有属性中的几个属性添加几组数据,每组数据之间要用逗号隔开

这个相当于给整表赋值

id是primary key元素不可以重复,又是自增元素,所以可以写成null,让系统自增

在id设置为null的情况下,重复运行相同的语句可以重复添加相同的数据

在指定字段添加元素时,空着的元素会变成null

在全部字段添加数据的时候不能不写数据,否则会报错

-修改数据update

不加where语句的时候会默认把全表都改了

-删除数据delete

查询和存储的写法是相反的,存储(insert update delete)都是要先找到表在哪里才能存储

查询是要先确定查询什么才能能到表里查

MySQL-DQL

-基本查询

去除重复记录,如果有重复的自动去掉

获取表中的几列元素

字段就是属性,也就是列

获取整表

要查询的字段之间要用逗号隔开

两种方法都可以,但是实际开发中要用第一种,因为第二种性能低,而且不直观

起别名

起别名时,别名中有空格的要用单引号引起来

去除重复

如果用普通方法查的话,会得到一堆重复的内容

这时候要获得不重复的内容,就要用distinct

-条件查询---统计横行where

判断有没有用is null(没有)is not null(有)
is不能用来判断是否,is后面只能加null或者是not null

判断相等=,不等!= <>,大于小于要用>= > <= <

不等于 != <>
占位符

判断名字有几位用_判断时不知道名字有几位用%

in( , , , ) 判断数据是否是括号内的值之一

-聚合函数---统计竖列count()

count统计

统计非null的值

min求最小值

max求最大值

字符串也是可以比较的

avg统计平均值

字符串无法求平均值

sum求和

字符串也无法求和

-分组查询group by

where后面不能使用count函数

要对count函数做条件判断要用having

先执行where,再执行group by,最后再执行having

where筛选出去的元素不会执行分组

-排序查询order by

-分页查询limit ,

limit限制每页展示的数据个数,防止加载数据时间过长以及用户使用体验不好

第一个数字表示索引,从索引0开始是指从第一个数据开始,从索引1开始是指从第二个数据开始

第二个数字表示展示个数

-案例

相关推荐
千寻技术帮15 小时前
10349_基于Springboot的万仙山旅游管理系统
mysql·springboot·旅游管理·在线旅游
尽兴-15 小时前
MySQL 中一条 SQL 的执行流程详解
sql·mysql·adb·dba
JAVA拾贝16 小时前
全链路数据监控 Binlog View
mysql·canal·binlog·binlog view·数据链路监控
wangbing112516 小时前
平台介绍-开放API后台微服务
数据库·微服务·架构
高一要励志成为佬16 小时前
【数据库】第三章 关系数据库标准语言SQL
数据库·sql
尽兴-16 小时前
MySQL执行UPDATE语句的全流程深度解析
数据库·mysql·innodb·dba·存储引擎·update
alonewolf_9916 小时前
MySQL 架构与SQL执行全流程深度解析
sql·mysql·架构
MXM_77716 小时前
laravel 并发控制写法-涉及资金
java·数据库·oracle
·云扬·16 小时前
【实操教程】Excel文件转CSV并导入MySQL的完整步骤
android·mysql·excel
进阶的小名16 小时前
[超轻量级消息队列(MQ)] Redis 不只是缓存:我用 Redis Stream 实现了一个 MQ(自定义注解方式)
数据库·spring boot·redis·缓存·消息队列·个人开发