我正在查看ALTER过程,将列添加到已创建的表中,并指定了许多动态添加列的答案,这不是一种好习惯。
我正在尝试创建一个额外的专栏来监控特定日子的出勤情况,因此就这个目标来说,改变表格仍然是不好的做法,因为我真的看不到它的方法吗?
答案 0 :(得分:4)
这不是应该毫不犹豫地完成的事情,它需要进行规划,但如果你有不断变化的要求或者只是忘记了某些东西,那么:添加专栏。
从不添加列只是没有好的建议而且不现实。你应该能够
但请注意添加列
答案 1 :(得分:1)
有太多方法可以理解你的问题,
答案 2 :(得分:1)
这取决于您何时想要进行这些更改。
如果由于系统的扩展功能而发生变化,那么它们就是恕我直言。
但是如果在使用应用程序时连续完成更改,那就是糟糕的设计。
一般来说,你要区分
数据描述语言(DDL),您可以在其中更改布局。这些主要是CREATE TABLE
,ALTER TABLE
等。只有在安装过程中,才能在应用程序的正常运行期间完成这些更改。
数据操作和查询语言(DML),您可以在其中操作数据库中的数据。这就是应用程序通常执行的操作:INSERT
,DELETE
,SELECT
。
答案 3 :(得分:0)
数据库应该在项目的最初阶段创建,它应该保持不变。当您创建查询时,例如INSERT,并且您不使用命名colummns,它可以粉碎您的系统。
例如
INSERT INTO `table` VALUES('a','b','c');
而不是
INSERT INTO `table`(column1, column2, column3,...)
VALUES ('a', 'b', 'c',...)
有许多代码行可以崩溃。主要是基于列号而不是名称的那些。更改数据库可能会产生很多问题,如果系统很大,很难找到它们。
在表格中创建关系比创建大量列更好。
你应该阅读数据库规范化,“这是组织关系数据库的字段和表以最小化冗余和依赖性的过程。”