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

第二个数字表示展示个数

-案例

相关推荐
风月歌5 小时前
小程序项目之驾校报名小程序源代码(java+vue+小程序+mysql)
java·vue.js·mysql·小程序·毕业设计·源码
叫我龙翔5 小时前
【Redis】从零开始掌握redis --- 认识redis
数据库·redis·缓存
小马爱打代码5 小时前
慢SQL:查询、定位分析解决的完整方案
数据库·sql
Alaia.5 小时前
【T级别数据迁移】Oracle 数据库迁移操作手册(oracle-migrate-bash)
数据库·oracle·bash
Pocker_Spades_A5 小时前
时序数据库选型指南:用工程视角理解 Apache IoTDB
数据库·apache·时序数据库·iotdb
深海空无一人5 小时前
数据库进阶
数据库
心动啊1215 小时前
MySQL在python中的使用——连接方式及对对象的调用
数据库·mysql
橘颂TA5 小时前
【Linux】不允许你还不会——信号保存(3)
linux·服务器·网络·数据库
Chloeis Syntax5 小时前
MySQL初阶学习日记(6)--- 索引
数据库·学习·mysql