在mysql中如何创建表 数据表建立方法详解

大家好,我写了一份创建 MySQL 表的完整指南。
看完之后似乎很清楚了。
但是上次帮朋友搭建系统的时候,遇到了一些坑,想和大家聊聊:
比如选择数据类型。
2 02 3 年我在上海某商场做项目的时候,有一个表是用日期类型来存储会员生日的。
然而,当我想在月底发放优惠券时,我发现DATETIME更方便——因为DATE丢失了时间信息,无法确定会员是否有生日。
因此,我建议您使用 DECIMAL 来表示金额。
上次,北京一位电商客户用浮点数错误计算了运费。
差了好几万元,经理差点把我赶走。

我还应该提到自我控制。
虽然外键保证了引用完整性,但是我在深圳测试的时候发现,如果链表更新了主键,那么链表的外键就变成了死链接,只能手动修复。
建议添加带有级联规则的外键,例如ON DELETE CASCADE。
还有一个独特的限制。
上次,杭州的一位客户使用 UNIQUE 作为电子邮件地址。
结果,当用户更改昵称时,电子邮件地址会报错,非常烦人。

对于存储引擎,我建议不要只关注InnoDB。
去年在武汉有一个项目。
使用MyISAM日志表运行速度非常快,因为无法扫描和写入,并且节省了双写开销。
但如果你想保存需要回滚的请求,你应该使用InnoDB。
除非您真的不怕重新启动服务器,否则不要触摸内存驱动器 - 我有一个客户在 2 02 2 年因此丢失了数据,并且仍在亏损。

在索引方面我陷入了一个很大的困境。
早期,这家总部位于北京的外卖平台为每个行业添加了指数。
结果写数据时CPU速度升到2 00%,客户抱怨慢得像狗。
后来改了WHERE的情况,加上了索引,性能立刻就恢复了。
请注意,此示例中添加了两个索引。
其实一般都是搜索用户ID,内置索引就够了。

最后,我们来说说细节。
2 02 3 年我在成都训练的时候,是学生表的名字使用过,但与议程冲突。
我建议您使用复数作为表名,使用单数作为列名。
比如在users表中使用user_id,这样看代码就能明白其中的关系。
也有评论。
上次,广州有一个客户,系统已经十年没有维修了。
我根据评论来了解哪些专栏是有目的的。
这是救命稻草。

无论如何,你可以找到答案。
我还在考虑分区表的问题。
数据量太大,该用哪个分区...

如何利用MYSQL创建一个表格

那天在咖啡馆里,当我看着窗外时,我突然想起了我使用Navicat创建表格的经历。
记得那是一天下午,我在办公室,手头有一个小项目需要数据库支持,于是我打开了Navicat for MySQL。

当时我选择了一个新创建的数据库,点击Table,右键拖动,选择New Table。
然后我看到“字段”列表,就像空白画布上的画笔描边一样,然后我开始添加字段。
界面上仅显示姓名、年龄、联系信息和字段行。

完成该过程后,我按了 Ctrl+S。
系统要求我输入表名,所以我输入“客户信息”,然后“确定”。
那一刻,我感到彻底的满足。
我感觉我已经完成了一幅虚拟绘画。

后来我回到主界面,刷新了一下,就看到了“客户信息”表格,静静地等待着使用。
等等,还有一件事,我突然想到,使用命令行创建表会怎么样?你也会有同样的成就感吗?

怎么在mysql中创建一个表 mysql新建数据表步骤教程

结论:设计表结构首先要了解需求。
业务需求分析:例如user表需要存储用户名、密码、邮箱地址。
设计字段:例如,用户名和密码字段必须是唯一的。
预留分机:以后可能会增加手机号码字段。
创建表: CREATE TABLE users(id INT AUTO_INCRMENT PRIMARY KEY, username VARCHAR(5 0) NOT NULL UNIQUE, ...); 主键使用自动增量:AUTO_INCRMENT 明确的限制:唯一 默认值:DEFAULT CURRENT_TIMESTAMP 字符集:CHARACTERSET utf8 mb4 排序规则:排序 utf8 mb4 _unicode_ci 性能:在常用的查询字段上创建索引。
文档:为字段添加注释,文档记录表结构。
安全性:密码以可变长度存储,以避免纯文本。
实际项目:例如B. 用户表,字段包括ID、用户名、密码、邮箱等。
你自己掂量一下吧。