MySQL数据库核心概念详解
需积分: 0 12 浏览量
更新于2024-08-04
收藏 53KB MD 举报
"数据库MySQL学习总结"
在MySQL数据库的学习过程中,理解和掌握各种数据类型以及字段属性是至关重要的。数据类型决定了数据库中存储数据的格式和范围,而字段属性则影响着数据的处理方式和规则。
## 数据库MySQL
### 1-1、数据库的列类型
1. **数值类型**:
- `tinyint`:用于存储非常小的整数,占用1字节。
- `smallint`:存储较小的整数,占用2字节。
- `mediumint`:存储中等大小的整数,占用3字节。
- **`int`**:标准整数,占用4字节,是最常用的整数类型。
- `bigint`:存储较大的整数,占用8字节。
- `float`:浮点数,占用4字节,精度相对较低。
- `double`:浮点数,占用8字节,精度较高,但可能存在精度问题。
- `decimal`:用于金融计算,以字符串形式存储浮点数,确保精度。
2. **字符串类型**:
- `char`:固定长度的字符串,最大255个字符。
- **`varchar`**:可变长度的字符串,最大可达65536个字符,是存储变长字符串的首选。
- `tinytext`:微型文本,最多能存储2^8-1个字符。
- **`text`**:文本串,最多能存储2^16-1个字符,适合存储大量文本数据。
3. **时间日期类型**:
- `date`:仅存储日期,格式为YYYY-MM-DD。
- `time`:仅存储时间,格式为HH:MM:SS。
- **`datetime`**:同时存储日期和时间,最常用的时间格式。
- `timestamp`:时间戳,表示从1970年1月1日到现在的毫秒数,常用于记录数据的修改时间。
- `year`:仅存储年份,可为空。
### 1-2、数据库的字段属性(重点)
- **`Unsigned`**:指定字段为无符号整数,不允许存储负数。
- **`Zerofill`**:零填充,如果数字不足指定宽度,会在前面补零。例如,`int(3)`,5会被表示为005。
- **`自增`**(`auto_increment`):用于创建主键,每新增一条记录,值自动加1。必须是整数类型,可以设定初始值和步长。
- **`非空`**(`Null` vs. `not null`):`not null`约束要求字段不能为空,否则插入数据时会报错。`Null`则允许字段值为空。
- **`默认`**:为字段设定默认值,若插入数据时未指定该字段的值,将使用默认值。
在实际项目开发中,常见的字段设计包括:
- `id`:作为主键,通常使用`int`类型配合`auto_increment`属性。
- `version`:用于实现乐观锁机制,防止并发更新冲突。
- `is_delete`:伪删除标记,用于逻辑删除,而不是物理删除数据。
- `gmt_create`:创建时间,记录数据的插入时间。
- `gmt_update`:修改时间,记录数据的最近更新时间。
理解并熟练运用这些数据类型和字段属性,能够帮助我们更好地设计数据库表结构,优化数据存储和查询效率,保证数据的完整性和一致性。在进行数据库设计时,应根据实际需求灵活选择合适的数据类型,并合理设置字段属性,以达到最佳的数据库性能和管理效果。
2020-11-25 上传
2021-09-27 上传
2020-12-14 上传
2021-11-19 上传
2013-08-02 上传
2022-02-22 上传
2021-11-01 上传
2020-12-14 上传
2011-03-07 上传
姜伯約
- 粉丝: 3
- 资源: 1
最新资源
- 高清艺术文字图标资源,PNG和ICO格式免费下载
- mui框架HTML5应用界面组件使用示例教程
- Vue.js开发利器:chrome-vue-devtools插件解析
- 掌握ElectronBrowserJS:打造跨平台电子应用
- 前端导师教程:构建与部署社交证明页面
- Java多线程与线程安全在断点续传中的实现
- 免Root一键卸载安卓预装应用教程
- 易语言实现高级表格滚动条完美控制技巧
- 超声波测距尺的源码实现
- 数据可视化与交互:构建易用的数据界面
- 实现Discourse外聘回复自动标记的简易插件
- 链表的头插法与尾插法实现及长度计算
- Playwright与Typescript及Mocha集成:自动化UI测试实践指南
- 128x128像素线性工具图标下载集合
- 易语言安装包程序增强版:智能导入与重复库过滤
- 利用AJAX与Spotify API在Google地图中探索世界音乐排行榜