mysql的栏位类型_MySQL 表栏位类型选择

MySQL栏位类型大致分为以下几类:

字符型 char,varchar,set,enum,text,blob,longtext等

数字型 int,float,double,tinyint,decimal等

日期型 date,time,datetime

那么对于设计表的时候该如何选择栏位的数据类型???可以从如下几个方面考虑

1,栏位存储什么样的数据

只有在挑选数据的时候明确了存储的数据是字符,数值,日期,坐标,才能选择哪种类型的数据进行匹配一定要问足够多的问题,才能明确栏位到底是用来存储什么数据,就像设计降雨量的表,总是会听到降雨量0.25毫米,或者稀少这样的字眼,怎么解决?如果选择数值可以通过给稀少一个定位值如0就是代表稀少,或者一个范围查询的时候可以这样写:

select if (precip >0 and precip <0.1 ,'trace',precip) from ......

有些非常明显是数值,但是是否精确小数等等。

2,数据是否都在某个特定的区间内

数据是多大,如果只有1-100(可以考虑tinyint),如果是整数,是不是都是正整数(可以考虑unsingned),如果只有男女(可以考虑enum)

可以后期通过select * from table_name procedure analyse();去分析表中数据的范围,最大最小

3,数据类型的选择对性能的影响

就像如果把一个栏位设置成字符串,但是用起来比较麻烦,排序,查询走索引等一系列问题

### Navicat 中 MySQL 字符类型的使用指南 在处理数据库中的字符数据时,理解并正确设置字符集和对应的比较规则至关重要。对于MySQL而言,在Navicat环境中操作字符类型主要涉及以下几个方面: #### 1. 创时指定字符集 当通过Navicat创格时,可以为特定字段设定字符集以及其相应的排序规则。例如,要定义一个VARCHAR类型的列,并为其指派UTF8字符集及其默认的`utf8_general_ci`比较方式[^3]。 ```sql CREATE TABLE example ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ); ``` #### 2. 修改现有结构以应用新的字符集 如果已经存在一张而想要更改其中某些列所使用的字符集,可以通过ALTER命令实现这一点。下面的例子展示了如何改变名为`example`的数据内`name`这一栏位至gbk字符集下的`gbk_chinese_ci`校验序列。 ```sql ALTER TABLE example MODIFY COLUMN name VARCHAR(255) CHARACTER SET gbk COLLATE gbk_chinese_ci; ``` #### 3. 设置整个数据库或会话级别的字符集配置 除了单独调整各张内的属性外,还可以在整个数据库层面或是当前客户端连接期间统一修改字符编码参数。这通常是在初始化阶段完成的工作,比如新库的时候直接声明全局性的字符集选项;或者是每次登录后立即执行SET NAMES语句来临时生效一套自定义的环境变量值。 ```sql -- 新数据库时指定字符集 CREATE DATABASE mydb DEFAULT CHARACTER SET utf8mb4; -- 连接立之后立刻切换到期望的字符集模式 SET NAMES 'utf8'; ``` 以上就是在Navicat工具里针对MySQL数据库管理过程中关于字符类型的一些基本指导原则。值得注意的是,虽然这里提到的操作大多可以直接经由图形界面完成,但对于更复杂的场景来说掌握SQL语法仍然是必要的技能之一。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值