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开始是指从第二个数据开始

第二个数字表示展示个数

-案例

相关推荐
weixin_397574095 小时前
用自然语言查数据库出图表靠谱吗?一次智能问数实践复盘
数据库
字节跳动开源7 小时前
Viking AI 搜索 CLI 正式发布:会说话,就能做搜索推荐
数据库·人工智能·开源
TechWJ8 小时前
数据库在公司内网,出差路上想查数据怎么办?
服务器·数据库·mariadb
我是一颗柠檬8 小时前
【MySQL全面教学】MySQL事务与ACID Day9(2026年)
数据库·后端·mysql
橙子圆1238 小时前
Redis知识9之集群
数据库·redis·缓存
BlackHeart12038 小时前
【SQL】Oracle中序列(Sequence)作为默认值引发的ORA-00979
数据库·sql·oracle
bug菌9 小时前
【SpringBoot 3.x 第254节】夯爆了,数据库访问性能优化实战详解!
数据库·spring boot·后端
xxl大卡9 小时前
MySQL的执行流程
数据库·mysql
chicheese10 小时前
MySQL优化实践:选错JOIN 驱动表,性能相差几十倍
数据库·mysql
無限進步D10 小时前
MySQL 单行函数
数据库·mysql