数据库基础知识
三大范式
- 第一范式的目标是确保每列的原子性,每列都是不可再分的最小数据单元。
- 第二范式要求每个表只描述一件事情
- 第三范式要求表中的各列必须和主键直接相关,不能间接相关
MySQL的运行机制
基础SQL语句
使用数据前必须先选择该数据库!
结构化查询语言
- DML(数据库操作语言):用来操作数据库
- 所包含的数据。insert update delete
- DDL(数据定义语言):用于创建和删除数据库对象操作。create drop alter
- DQL(数据查询语言):用来对数据库中的数据进行查询。select
- DCL(数据库控制语言):用来控制数据库组件的存取许可、存取权限等。grant commit rollback
MySql数据类型
- 数值类型
- 字符串、日期类型
补充:
unsigned属性 标识为无符号数
zerofill 宽度(位数)不足以0填充
若某数值字段指定了zerofill属性将自动添加unsigned属性
若日期字段默认值为当前日期,一般设置为timestamp类型
字段的约束及属性
名称 | 关键字 | 说明 |
---|---|---|
非空约束 | not null | 字段不允许为空 |
默认约束 | default | 赋予某字段默认值 |
唯一约束 | unique key(UK) | 设置字段的值是唯一的允许为空,但只能有一个空值 |
主键约束 | primary key(PK) | 设置该字段为表的主键 可唯一标识该表记录 |
外键约束 | foreign key(FK) | 用于在两表之间建立关系,需指定引用主表的那一字段 |
自动增长 | auto_increment | 设置该列为自增字段 默认每条自增1 通常用于设置主键 |
MySQL使用SQL语句查询数据库所有表注释 已有表字段注释
-
要查询数据库
myblog
下所有表名以及表注释
- 要查询表字段的注释
- 一次性查询数据库 "myblog" 下表注释以及对应表字段注释
-
查看表注释 在生成的sql语句中查看
-
查看字段注释 show
查看表
删除表
MySQL的存储引擎
类型
MyISAM、InnoDB、Memory等9种。
MyISAM与InnoDB类型的主要区别
名称 | InnoDB | MyISAM |
---|---|---|
事务处理 | 支持 | 不支持 |
数据行锁定 | 支持 | 不支持 |
外键约束 | 支持 | 不支持 |
全文索引 | 不支持 | 支持 |
表空间大小 | 较大 约2倍 | 较小 |
适用场合
- 使用InnoDB:多删除、更新操作,安全性高,事务处理及并发控制
- 使用MyISAM:不需事务 空间小 以查询访问为主
查看表存储引擎
方法一:show create table test;
方法二:
方法三:
场景模拟:
-
场景一:查询整个MySQL实例里面存储引擎为MyISAM的表
-
场景二:查询myblog数据库里面存储引擎为MyISAM的表
修改默认存储引擎
修改my.ini配置文件
default-storage-engine= InnoDB
改为其他存储引擎 重启服务后执行上面语句查看修改结果
设置表的存储引擎
数据表存储位置
MyISAM类型表文件
- *.frm:表结构定义文件
- *.MYD:数据文件
- *.MYI:索引文件
InnoDB类型表文件
- *.frm:表结构定义文件
- ibdata1文件
存储位置:因操作系统而异,可查my.ini 比如windows 我拿的作为例子
my.ini位置C:\ProgramData\MySQL\MySQL Server 5.7\my.ini
MySQL系统帮助
友情链接:http://www.jikedaquan.com
__EOF__

本文作者:LeTuDou
本文链接:https://www.cnblogs.com/LeTuDou/p/9993785.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
本文链接:https://www.cnblogs.com/LeTuDou/p/9993785.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理