重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
SQL样式指南:
创新互联专注为客户提供全方位的互联网综合服务,包含不限于做网站、成都网站建设、洛川网络推广、微信平台小程序开发、洛川网络营销、洛川企业策划、洛川品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联为所有大学生创业者提供洛川建站搭建服务,24小时服务热线:028-86922220,官方网址:www.cdcxhl.com
data类型官网:
mysql中有很多字段类型,比如:整数、文本、浮点数等等。mysql中的数据类型:整型、浮点型、文本、日期。
mysql的数据类型主要有:整数类型、浮点数类型和定点数类型
oracle的数据类型主要有:char(n)、varchar2(n)、number(m,n)、date、long、raw(n)、long raw、blob clob nclob、bfile。oracle中的数据类型有:字符型、数值型、日期型等。
整数类型一共有5种,包括:TINYINT、SMALLINT、MEDIUMINT、INT(INTEGER)、BIGINT。
注意:需要考虑存储空间和可靠性的平衡问题,确保数据不会超过取值范围。
浮点数类型:FLOAT、DOUBLE、REAL,把十进制数转换成二进制数存储。
区别:浮点数类型取值范围大,但是不精准,适用于需要取值范围大,又可以容忍微小误差的科学计算场景。
定点数类型取值相对小,但是精准,没有误差,适用于对精度要求极高的场景。(比如金额相关)
TEXT类型、CHAR类型、VARCHAR类型、ENUM类型和SET等文本类型。
注意事项:由于实际存储的长度不确定,MySQL不允许TEXT类型的字段做主键,只能采用CHAR(M),或者VARCHAR(M)。
SQL常用的数据类型:
数据类型 字节数 范围 无符号范围
TINYINT 1字节 -128~127 0~255
FLOAT 4字节
DOUBLE 8字节
DECIMAL 8字节
CHAR M个字节 0=M=255
VARCHAR l+1个字节 l=M 0=M=255
如果超出数据的范围 会产生截断 超出最小值则按照最小值 超出最大值则按照最大值
显示长度与数据的宽度是没有关系的
测试浮点型
float,double的数据类型会自动根据需要显示的数据长度进行四舍五入
测试字符串类型
CHAR的效率高于VARCHAR CHAR是拿空间换取时间 VARCHAR是拿时间换取空间
CHAR默认存储数据的时候,后面会用空格填充到指定长度,而在检索的时候去掉后面的空格VARCHAR存储的时候不进行填充,尾部的空格会留下
TEXT相关的列不能有默认值,检索的时候不存在大小写转换
测试ENUM/SET类型
测试集合
测试日期时间类型
TIME [D] HH:MM:SS D表示天数0~34
例子:2 3:34:30 =》2*24+3:34:30
测试DATE类型
DATE YYYY-MM-DD /YYYYMMDD
测试DATETIME
测试TIMESTAMP
测试YEAR
一、修改表
二、复制表
三、表字段的数据类型
存储引擎决定了表的类型,而表内存放的数据也要有不同的类型,每种数据类型都有自己的宽度,但宽度是可选的。
mysql常用数据类型有:
数值类型
1、整数类型
TINYINT SMALLINT MEDIUMINT INT BIGINT
作用:存储年龄,等级,id,各种号码等
注意:为该类型指定宽度时,仅仅只是指定查询结果的显示宽度,与存储范围无关,存储范围如下
其实我们完全没必要为整数类型指定显示宽度,使用默认的就可以了
默认的显示宽度,都是在最大值的基础上加1
2、浮点型
定点数类型 DEC等同于DECIMAL
浮点类型:FLOAT DOUBLE
作用:存储薪资、身高、体重、体质参数等
3、日期类型
DATE TIME DATETIME TIMESTAMP YEAR
作用:存储用户注册时间,文章发布时间,员工入职时间,出生时间,过期时间等
datatime与timestamp的区别
4、字符串类型
总结:
单从数据类型的实现机制去考虑,char数据类型的处理速度更快,有时甚至可以超出varchar处理速度的50%。
但对于InnoDB数据表,内部的行存储格式没有区分固定长度和可变长度列(所有数据行都使用指向数据列值的头指针),因此在本质上,使用固定长度的CHAR列不一定比使用可变长度VARCHAR列性能要好。因而,主要的性能因素是数据行使用的存储总量。由于CHAR平均占用的空间多于VARCHAR,因此使用VARCHAR来最小化需要处理的数据行的存储总量和磁盘I/O是比较好的。
5、枚举类型和集合类型
字段的值只能在给定范围中选择,如单选框,多选框
enum 单选 只能在给定的范围内选一个值,如性别 sex 男male/女female
set 多选 在给定的范围内可以选择一个或一个以上的值(爱好1,爱好2,爱好3...)
浮点型
float(255,30) 共255位 小数部分30位
double(255,30) 共255位 小数部分30位
dacimal(65,30) 共65位 小数部分30位
精准度验证
create table t15(id float(255,30))
create table t15(id double(255,30))
create table t15(id decimal(60,30))
float double decimal