首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

让mysql列名为数字是个好主意吗?

让MySQL列名为数字并不是一个好主意。虽然MySQL允许使用数字作为列名,但这样做会导致一些问题和限制。

首先,使用数字作为列名会使数据库结构变得难以理解和维护。列名应该具有描述性,能够清晰地表达其所代表的数据含义。使用数字作为列名会导致代码可读性降低,开发人员需要额外的注释或文档来解释每个数字所代表的含义。

其次,数字作为列名可能会引发语法问题。在SQL查询中,如果列名以数字开头,需要使用引号或反引号来将其括起来,以避免与SQL语法冲突。这增加了编码的复杂性,并且容易出现错误。

此外,使用数字作为列名还会导致一些数据库工具和框架的兼容性问题。某些工具可能无法正确处理数字列名,导致操作失败或产生意外结果。

综上所述,不建议将MySQL列名设置为数字。更好的做法是使用具有描述性的列名,以提高代码可读性和维护性。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • MYSQL 中间件分表是一个好主意?

    中间件分表是不是一个好的主意?...通过中间件来对MYSQL的数据进行分表是一个常见的对于大数量的解决的方案,通过中间件将应用的数据在中间层进行路由,通过路由将一张表的数据,映射到不同物理数据库上的表,通过应用设计的分片键将数据根据规则存储在不同的物理服务器上...至于说这是不是一个好的注意,下面想根据不同的层面来看看,分表的方式本身是不是一个好的方式。...在分表后,我们解决了单体MYSQL无法解决的一些问题,那么这是一个好主意吗? 这里且不武断的评判这是不是一个好的注意,我们看看在我们分库分表后,我们会遇到什么其他的问题。...综上,分表本身是不是一个好主意,如果是一个系统建立之初,业务不稳定,数据量不确定的情况下,贸然采用分表的方式,可能不是适用,而在业务稳定后,再次进行改造,会解决部分上面提到的一些问题,至少那时你的分片键用哪个基本上是可以确定的

    31330

    MySQL 为了让你的表里有一个主键是操碎了心

    在 MySQL 的开发规范中都会明确写着:MySQL InnoDB 表必须有主键,主键的选择建议:添加一个自增列作为主键,每一行的值删除后一般不会重用。...如果前两者都没有,MySQL 会生成一个内部隐式的 6 bytes 的隐式 row_id 作为主键 再来看看 MySQL 主键现在的用处: 1....在这里我和大家盘点一下 MySQL 为了让每个表有一个主键都做了什么事情: 1....可以启用参数:sql_requite_primary_key 该参数是 MySQL 8.0.13 引入,如果该参数开启后,创建的表必须有主键。对于创建的新表如果没有主键将会报错。 2....隐式主键的列名只能是: my_row_id 2. 不能删除只有一个 my_row_id 隐式主键,除非同时指定其它主键 3.

    1.2K20

    数字化验孕是一个骗局吗?

    或许是Xtoff想知道这个“数字化验孕”是怎么做到的,于是他把这个验孕棒拆了。这一拆,就拆出问题了。 他发现这所谓的“数字化验孕棒”就是一个电子阅读器+试纸,而且这也是一次性的。 就这???...数字化在于:把试纸上的“||“或”|+“显示成“怀孕”和“未怀孕” Foone是一位电子仪器爱好者,经常在Twitter上发一些拆解后的硬件,并解释其内部运作原理。...Foone写道,数字测试基本上是“骗局”,由于机器不可避免的错误,其准确性可能不如手动验孕纸。...她还说,数字测试的另一个好处是倒数计时器,它可以让用户知道何时可以得到结果,因为试纸已经过优化,可以在特定的时间范围内进行读取。...所以,你认为“数字化验孕棒”值得买吗?

    81620

    高性能MySQL (一):Schema与数据类型优化

    100 多位经验丰富的开发者参与,在 Github 上获得了近 1000 个 star 的全栈全平台开源项目想了解下吗?...MySQL在存储枚举时非常紧凑,会根据列表值的数量压缩到一个或者两个字节中。MySQL在内部会将每个值在列表中的位置保存为整数,并且在表的.frm文件中保存“数字-字符串”映射关系的“查找表”。...枚举最不好的地方是,字符串列表是固定的,添加或删除字符串必须使用ALTER TABLE。除非能接受只在列表末尾添加元素,否则使用枚举不是个好主意。...如果存储UUID值,则应该移除“-”符号;或者更好的做法是,用UNHEX()函数转换UUID值为16字节的数字,并且存储在一个BINARY(16)列中。...IPv4 地址 人们经常使用VARCHAR(15)列来存储IP地址。然而,它们实际上是32位无符号整数,不是字符串。用小数点将地址分成四段的表示方法只是为了让人们阅读容易。

    1.1K40

    代码洁癖系列(二):命名的艺术

    比如:表示消耗多少小时的变量命名为h,同作用域中还有一个想要表示“小时”相关的变量直接命名为h1,一个List类型的变量就命名为list。...命名为xxxList还合适吗,别人读代码的时候会下意识的认为这是个List类型的变量(尽量避免名称中出现类型的名字)。...另一点容易产生误导的是数字和字母相像的情况,比如,我命名一个变量叫做O1,在编辑器里就很难分辨是O1还是01,如果我写一个这样的表达式 O0=l1; 估计别人会以为我发明了什么新的语言吧。...再举过来一个栗子,一个包中有两个类,Product和ProductInfo,这时让你查一下商品名称,你知道要去哪个类里找吗?事实证明,这样的命名与a1,a2,a3之流别无二致。...当然更好的方法是定义一个名为Address的类,把这些变量放到类中,事实上我们也都是这样做的。 当然,有时候也不能添加一些无意义的语境。

    47420

    一个线上问题让我发现了Calendar类中的秘密-周一真的是每周的第一天吗?

    现在有个需求是:查出当前系统时间内未完成的业务。这个需求很简单:获取本周的周一并与end_date进行比较,再把achieved设置为0即可查出符合需求的业务。...问题就出在清明节假收假上班后的第一天,那是一个下着小雨的周日。这种天气配合周天以及三天假期的快乐后遗症让我慢悠悠地到了公司,把没做完的需求盘点下做完然后就可以早点下班了。...本来我是十分自信的,毕竟这么简单的需求,我还不能把它拿捏了吗?但我看到结果后傻眼了,确实未完成的业务提前查出来了,于是开始了修复BUG之路。...Calendar.getInstance(); //1-2.将日期设置为周一 cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY); //1-3.使用Calendar的时间戳创建一个java.sql.Date...Calendar.MONDAY); //1-3.将日期设置为周一 cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY); //1-4.使用Calendar的时间戳创建一个java.sql.Date

    8510

    mysql数据库(7):表中检索信息

    如果你使用两个操作符,使用圆括号指明如何对条件进行分组是一个好主意: mysql> select * from pet where( owner='思思' and species='dog') ->...from pet;  请注意该查询只是简单地检索每个记录的owner列,并且他们中的一些出现多次。...为了使输出减到最少,增加关键字DISTINCT检索出每个唯一的输出记录:select distinct owner from pet;  可以使用一个WHERE子句结合行选择与列选择。...以下查询显示了每个宠物的出生日期、当前日期和年龄数值的年数字。 尽管查询可行,如果以某个顺序排列行,则能更容易地浏览结果。...)) -> - (RIGHT(CURDATE(),5) -> AS age from pet;  了按age而非name排序输出,只要再使用一个ORDER BY子句: mysql> SELECT name

    4.4K20

    WordPress 数据库详解

    WordPress 有数据库吗? 您可能已经知道,是的,WordPress 需要一个数据库。WordPress 是一个数据库驱动的开源内容管理系统或网站平台,用 PHP 编写。...什么是 WordPress 数据库? WordPress 数据库是一个 MySQL 数据库,它将您网站的数据存储到表、行和列中。...这意味着 MySQL 使您的数据库能够存储信息并让您直接访问数据。...但几乎在所有情况下,您都可以通过一个名为phpMyAdmin的实用程序来访问它。 什么是 phpMyAdmin?phpMyAdmin 是一个免费的软件工具,可让您管理您网站的 MySQL 数据库。 ...我们强烈建议您始终使用可靠的 WordPress 备份插件(如 BackupBuddy)定期备份您的 WordPress 数据库(每月一次是个好主意)。

    5.4K40

    数据库MySQL-列属性

    在MySQL中只要是自动增长列必须是主键 1.3.4 主键(primary key) 主键概念:唯一标识表中的记录的一个或一组列称为主键。...null,让列的值自动递增 mysql> insert into stu25 values (null,'berry'); Query OK, 1 row affected (0.00 sec) 小结:...1、只要是auto_increment必须是主键,但是主键不一定是auto_increment 2、主键特点是不能重复不能为空 3、一个表只能有一个主键,但是一个主键可以有多个字段组成 4、自动增长列通过插入...truncate table删除数据后,再次插入从1开始 练习 在主键列输入的数值,允许为空吗? 不可以 一个表可以有多个主键吗?...不可以 在一个学校数据库中,如果一个学校内允许重名的学员,但是一个班级内不允许学员重名,可以组合班级和姓名两个字段一起来作为主键吗? 对 标识列(自动增长列)允许为字符数据类型吗?

    3.1K30

    R for Data Science(十二)

    mark 您可能会困惑这些代码实际上就是归一化每个列的范围从0到1。要编写一个函数,首先需要分析代码。它有多少个输入 ? mark 此代码只有一个输入:df$a。...为了使输入更加清晰,用一般的临时变量来重写代码是一个好主意。在这里,这段代码只需要一个数字向量,所以我将它命名为x ? mark 这段代码有些重复。...我们计算数据的范围,计算了三次,所以在一步中做是有意义的,我们可以用range函数来代替 ? mark 接着我可以将它转换为函数 ? mark 创建新函数有三个关键步骤: 需要为函数选择一个名称。...这里我用了rescale01,因为这个函数把一个向量缩放到0到1之间。 您可以将输入或参数列在函数内部的函数中。 函数体里面放置代码。 接着便是用不同的输入来检验代码 ?...mark 现在我们有了一个函数,就可以简化原来的例子了 ? mark 函数的另一个优点是,如果我们的需求发生变化,我们只需要在一个地方进行更改。

    50020

    数据库主键一定要自增吗?有哪些场景不建议自增?

    主键id不自增的情况 没有主键可以吗 mysql表如果没有主键索引,查个数据都得全表扫描,那既然它这么重要,我今天就不当人了,不声明主键,可以吗? 嗯,你完全可以不声明主键。...然而实际上,mysql的innodb引擎内部会帮你生成一个名为ROW_ID列,它是个6字节的隐藏列,你平时也看不到它,但实际上,它也是自增的。有了这层兜底机制保证,数据表肯定会有主键和主键索引。...跟ROW_ID被隐藏的列还有trx_id字段,用于记录当前这一行数据行是被哪个事务修改的,和一个roll_pointer字段,这个字段是用来指向当前这个数据行的上一个版本,通过这个字段,可以为这行数据形成一条版本链...再接下来的10位是指产生这些雪花算法的工作机器id,这样就可以让每个机器产生的id都具有相应的标识。 再接下来的12位,序列号,就是指这个工作机器里生成的递增数字。...数据库有那么多种,mysql只是其中一种,那其他数据库也是要求主键自增吗?

    6.6K33

    多表数据汇总查询之6、字段间比较的查询条件

    比如销售量大于销售目标、或小于、或小于等于……最好是能选了哪种查哪种的,你看我先用数据有效性做了查询条件: 但是,接下来怎么在PQ里面实现啊?不能分5种情况去写判断吧?...大海:你可以考虑这样啊,先在PQ的数据里构造一个两个数比较的结果列,然后是不是就跟同一条件多值查询(见文章《按条件动态化查询多表数据之4、同一查询条件多值处理》)的一样了? 小勤:有道理啊。...那我试试,在开始做各种筛选步骤前插入自定义的列: 在高级编辑器里参考按多值查询的方法添加筛选条件: 结果筛选完后再把那个辅助列删掉: 大海:嗯,不错,真是一点就通。...小勤:加辅助列真是个好主意,以后想做更多的查询都可以考虑了。 大海:是啊,在Excel里不也经常加辅助列甚至辅助表去解决问题吗?...而且在PQ里,加了辅助列,用完最后要出结果时还可以再把辅助列删了,不显山不露水。呵呵。

    69920

    fulltext mysql_mysql – FULLTEXT和FULLTEXT KEY INDEX有什么区别?

    content text, PRIMARY KEY (id), FULLTEXT KEY my_index_name (title, content) ) ENGINE=MyISAM; my_index_name是用户定义的名称而不是字段名称...我无法在文档中找到任何线索: 解决方法: 省略索引名称 如果添加索引/键 对于表,MySQL将在指定的列(列集)上存储其他信息以加快搜索速度....在您的第一个示例中,MySQL将生成一个索引并为其命名 my_index_name.如果省略名称,MySQL将为您选择一个.我找不到关于如何选择名称的文档,但根据我的经验,第一列的名称通常被重用作索引名称...仅提供全文就足够了: | {FULLTEXT|SPATIAL} [INDEX|KEY] [index_name] (index_col_name,…) [index_option] … 但是使用全文索引表格可能是一个好主意...,因为读者会被提醒索引. index和key是同义词 请注意,索引和键之间没有区别(请参阅create table): KEY is normally a synonym for INDEX.

    44830

    SQL操作表

    这张表是MySQL数据库中默认的名为mysql的数据库所含有的表。 查询表的结构:DESC user;查询名为user的表的结构。 ?...2.创建 现在,我们来创建一个自己的数据库,名字就叫test吧!然后,我们在test数据库中创建一张表。在干这些之前,我们必须了解MySQL的数据类型。...MySQL 数据类型 在 MySQL 中,有三种主要的类型:Text(文本)、Number(数字)和 Date/Time(日期/时间)类型。...注意:以上的 size 代表的并不是存储在数据库中的具体的长度,如 int(4) 并不是只能存储4个长度的数字。 实际上int(size)所占多少存储空间并无任何关系。...添加一列:ALTER TABLE students ADD height INT NOT NULL;增加一列名为height,类型是INT且不能为空。 ?

    1.1K20

    【怒怼大厂面试官】你先说说知道哪些MySQL的高级特性

    每日分享大厂面试演练,本期是《MySQL系列》,感兴趣就关注我吧❤️ 面试官:你先说说知道哪些MySQL的高级特性吧 嗯嗯好的。 我了解到的主要有:分区表、视图、存储过程、触发器、事件...这些。...面试官思考中… 面试官:你挑一个讲一讲你对他的理解 ok,那我讲讲分区表吧。 分区的一个主要目的是将数据按照一个较粗的粒度分在不同的区域,这样的话就有很多好处。...不会有什么问题吗 它也有很多不足的,像这些: 分区表是根据列进行分区的话,查询那些和分区列无关的数据,需要扫描所有分区表 分区列和SQL的索引列不匹配,也需要扫描所有分区表 当对分区表增删改查时,MySQL...在业务开发中,如果不得不改变MySQL表名,而不想改动代码的表名。可以用视图查询新表名的内容,然后把视图命名为旧表名,这样查询视图也能查询出数据。...存储过程其实就是在MySQL里写方法函数 例如可以让MySQL执行函数来插入1万条数据 触发器可以让你在SQL语句操作表数据的时候,在SQL语句执行前、执行后触发一些特定操作 例如可以编写触发器,在插入

    11398

    MySQL 中NULL和空值的区别?

    ---- 面试官:你有用过MySQL吗? 小木:有! 面试官:那你能大概说一下Mysql中 NULL值和空值的区别吗?...我说:你这样回答肯定是不妥的,这个问题你是必挂了。 小木说: NULL翻译过来不就是空吗?我是真的没有仔细想过,这个还是挺迷惑人的。...说明:IFNULL有两个参数。 如果第一个参数字段不是NULL,则返回第一个字段的值。 否则,IFNULL函数返回第二个参数的值(默认值)。...可以看到,创建了两个索引,并且index_tow NULL 那一列是 YES。...4、在进行count()统计某列的记录数的时候,如果采用的NULL值,会别系统自动忽略掉,但是空值是会进行统计到其中的。 5、MySql中如果某一列中含有NULL,那么包含该列的索引就无效了。

    2.6K10
    领券