MySQL

MySQL

一 表规范

每一个表都必须存在以下五个字段

id 主键

version 版本(乐观锁)

is_delete 伪删除

gmt_create 创建时间

gmt_update 修改时间

二 数据库引擎InnoDB和MyISAM

MyISAM InnoDB
事务支持 不支持 支持
数据行锁定 不支持 支持
外键约束 不支持 支持
全文索引 支持 不支持
表空间的大小 较小 较大,约为2倍

MyISAM :节约空间,速度快

InnoDB :安全性高,支持事务,多表多用户操作

delete删除,重启数据库

​ InnoDB:自增列会从1开始(存在内存中,断电即使)

​ MyISAM:继续从上一个自增量开始(存在文件中)

三 查询

distinct关键字去重

select distinct ‘字段名’ from 表名 [where子句]

连表查询(join on)

在这里插入图片描述

三种连接比较

操作 描述
Inner join 如果表中至少有一个匹配,就返回行
left join 以左表为准,会从左表中返回所有的值,即使在右表中没有匹配
right join 以右表为准,会从右表中返回所有的值,即使在左表中没有匹配

子查询

语法

-- select 字段s from 表名1 where 字段1=(select 字段1 from 表名2 where 字段2 = '值')

select score from score where s_id = (select id from student where name='小明')

自连接

category表

在这里插入图片描述

select p.`name` '父栏目',s.`name` '子栏目'
from `category` s,`category` p
where s.`pid` = p.`id`

结果

在这里插入图片描述

注意点

一般id从2开始,将顶级分类的pid设为1

四 分页和排序

排序

-- select 字段 from 表名 order by 字段名(要根据这个排序) desc(降序)|asc(升序)
SELECT * from score
ORDER BY score ASC

分页


                
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值