当前位置: 首页 > news >正文

电商网站系统建设考试网站建设软件定制开发

电商网站系统建设考试,网站建设软件定制开发,微信网站的好处,php做手机网站目录 搞定所有数据类型 一、常见数据类型分类 二、数值类型 1、bit类型 2、float类型 ​编辑3、decimal类型 4、字符类型 (1)char (2)varchar (3)varchar和char有甚区别? &#xff0…

目录

搞定所有数据类型

一、常见数据类型分类

二、数值类型

1、bit类型

2、float类型

​编辑3、decimal类型

4、字符类型

(1)char

(2)varchar

(3)varchar和char有甚区别?

(4)char varchar如何选择?

5、日期和时间类型

​编辑

6、Enum 和 set类型

比特位存储

7、Enum 和 set类型查找

find_in_set(xxx,filed_name)函数


一、常见数据类型分类

分类数据类型描述示例
数值类型tinyint1 字节,范围从 -128 到 127tinyint(3)
smallint2 字节,范围从 -32,768 到 32,767smallint
mediumint3 字节,范围从 -8,388,608 到 8,388,607mediumint
int / integer4 字节,范围从 -2,147,483,648 到 2,147,483,647int
bigint8 字节,范围从 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807bigint
float4 字节,单精度浮点数float(7,4)
double8 字节,双精度浮点数double
decimal / numeric精确数值,可以指定精度和小数位数decimal(10,2)
日期和时间类型date日期,格式为 'yyyy-mm-dd'date
datetime日期和时间,格式为 'yyyy-mm-dd hh:mm:ss'datetime
timestamp时间戳,自动初始化和更新timestamp
time时间,格式为 'hh:mm:ss'time
year年,格式为 'yyyy'year(4)
字符串类型char固定长度字符串,最大 255 字节char(10)
varchar可变长度字符串,最大 65,535 字节varchar(255)
tinytext最多 255 字节的文本tinytext
text最多 65,535 字节的文本text
mediumtext最多 16,777,215 字节的文本mediumtext
longtext最多 4,294,967,295 字节的文本longtext
binary固定长度的二进制数据binary(10)
varbinary可变长度的二进制数据varbinary(255)
tinyblob最多 255 字节的二进制大对象tinyblob
blob最多 65,535 字节的二进制大对象blob
mediumblob最多 16,777,215 字节的二进制大对象mediumblob
longblob最多 4,294,967,295 字节的二进制大对象longblob
json类型json存储 json 格式的数据json

二、数值类型


tinyint为例

只有数据合法才允许插入,否则不给插入
保证了整体数据库的规范性
这个叫做约束,整个约束反过来倒逼程序员要正确的输入数据

1、bit类型

bit(M):位字段类型。M表示每个值的位数,范围从1-64,如果忽略不写,默认为1

如果是1位:范围是0-1
如果是2位:范围是0-3
如果是3位:范围是0-5
以此类推,其实就是二进制
超过位数的值不能被插入

示例:

create table table_name (
id bit(2)
);

2、float类型

float(m,d) [unsigned]

m:指定显示长度(超过显示长度,四舍五入)
d:小数位数
unsigned:将负数部分砍掉
小数点精度最大是7位

create table table_name (
id decimal(4,2)
);

例如:float(4,2)表示的范围是-99.99 - 99.99


3、decimal类型

decimal (m,d) [unsigned];

和float一样,但精度更高
float精度7位;decimal整数56位,小数30位

如果d被省略,默认为0;m被省略,默认为10

区别:对更小的数据,float可能会修改部分数据;但decimal不会,而保持原值

4、字符类型

(1)char

char(L):固定长度字符串,L是可以存储的长度,单位是字符,最大是255个字符
mysql中的字符,对应一个符号,而非字节,字符可是字母 / 汉字
‘ab’是两个字符;‘你好’是两个字符;‘45’也是两个字符

create table table_name(
name char(4)
);

(2)varchar

varchar(L):变长字符串,L表示长度,最大长度65535字节

utf标准3个1字节表示一个字符,因此65535/3=21845个字符
gbk标准2个字节表示一个字符
同时,在varchar中,会有一个1-3个字节记录字符串的长度
因此,其实utf标准下,最大长度其实是21844

create table table_name (
name varchar(32)
);

(3)varchar和char有甚区别?

varchar(L)中的L表示上限,
而char(L)中的L表示固定长度
举个例子:

varchar(6)
如果数据是 'a' ,数据长度为1
如果数据是 'ab',数据长度为2
如果数据为 'abc',数据长度为3
....
用多少,分配多少,但不能超过6

而char(6):
如果数据是 ‘a’,数据长度为6
如果数据是‘ab’,数据长度为6
...
即大小固定

(4)char varchar如何选择?

如果数据确定长度都一样,用char,例如身份证、学号、身高、体重
(应该没有人的身高突破4位数吧?比如1700cm?)
如果数据有变化,用varchar,例如路程、地址
定长的磁盘空间比较浪费,但是效率高
变长的磁盘空间比较节省,但是效率低

5、日期和时间类型

常用三种日期类型:date、datetime、timestamp

据类型存储大小描述
date3 字节存储日期,格式为 YYYY-MM-DD,范围:1000-01-01 到 9999-12-31
datetime8 字节存储日期和时间,格式为 YYYY-MM-DD HH:MM:SS,范围:1000-01-01 00:00:00 到 9999-12-31 23:59:59
timestamp4 字节存储日期和时间,格式为 YYYY-MM-DD HH:MM:SS,范围:1970-01-01 00:00:01 UTC 到 2038-01-19 03:14:07 UTC
time3 字节存储时间,格式为 HH:MM:SS,范围:'-838:59:59' 到 '838:59:59'
year1 字节存储年份,格式为 YYYY,范围:1901 到 2155

 示例
创建一个时间类型表:

create table time_table(
d1 date,
d2 datetime,
d3 timestamp,
d4 time,
d5 year
);

插入时间:

insert into time_table(d1, d2, d3, d4, d5) values(
'2024-10-14','2024-10-14 15:30:00',current_timestamp, 
'12:30:00', 2024
);

6、Enum 和 set类型

特性enumset
定义用于存储单一值,值从预定义的字符串集合中选择一个用于存储多个值,值从预定义的字符串集合中选择多个
语法enum('value1', 'value2', ...)set('value1', 'value2', ...)
值的数量只能有一个值,最大值为 65535可以有多个值,最大值为 64
存储占用一个或两个字节占用一个或多个字节,具体取决于存储的值的数量
使用场景适合用于选择单一选项,如性别、状态等适合用于选择多个选项,如兴趣、标签等
空值可以设置为空值可以设置为空值
排序根据定义的顺序排序按位排序
限制不允许重复值允许重复值

enum:枚举。“单选”类型
enum(选项1,‘选项2’,‘选项3’...);
给多个选项,但只能选一个,单选

set:集合,“多选”类型;
set(’选项1','选项2','选项3'....);
给多个选项,可选多个选项,多选
上述两个类型:只能插入所给的选项

比特位存储
数据类型定义例子存储值比特位
ENUMENUM('small', 'medium', 'large')'small' 存储为 101
'medium' 存储为 210
'large' 存储为 311
SETSET('music', 'sports', 'reading', 'traveling')'music,sports' 存储为 30000 0011
'reading' 存储为 80000 1000

set:二进制倒序,按顺序一个比特位对应一个选项

insert into table_name values set_name (n);#

对n:

0 = 0000,空串

1 = 0001,选择第一个

2 = 0010,选择第二个

3 = 0011,选择第一、第二个

7 = 0111,选择第一、第二、第三个

示例:

1、建立示例表

create table set_table(
id int,
sports set('唱','跳','rap')
);

2、插入数据看现象

​
insert into set_table values (1, 1);​#1=01,对应第一个选项

​
insert into set_table values (2, 2);​#2=01,对应第二个选项

insert into set_table values (3, 3);
#3=011,对应第一、第二选项​

insert into set_table values (7,7);
#7=0111,对应前三个选项

enum:索引从1开始,从左到右,不是二进制

insert into enum_table valuse (n);

对n值:

n=0,空串

n=1,选择第一个

n=2,选择第二个

n=3,选择第三个

  • 每个 ENUM 值都有一个从 1 开始的索引。例如,如果定义 ENUM('small', 'medium', 'large'),那么 small 的索引为 1,medium 为 2,large 为 3。

7、Enum 和 set类型查找

查找某一个条件:严格匹配

select * from table_name where filed_name='xxx...';

find_in_set(xxx,filed_name)函数

查找所有匹配的条件:

select * from table_name where find_in_set('xxx',filed_name);

查找多个条件组合:

select * from table_name where find_in_set('xxx',filed_name) and find_in_set('yyy',filed_name) ;

也可以使用数字匹配:
select * from table_name where filed_name=num;
对应的是比特位图形式

http://www.yayakq.cn/news/397722/

相关文章:

  • 百度如何给网站做评价wordpress存储
  • 氧化锌网站建设wordpress发消息
  • 深圳创业补贴2024seo搜索引擎优化是什么
  • 可拖拽网站织梦网站安装播放视频插件下载
  • 苏州集团网站制作设计现在比较好的营销平台
  • 网站文章质检大兴做网站
  • php网站开发更换模板买商标最好的平台
  • 如何给网站数据备份云搜索下载
  • 网站开发技术期末考试试题电话约建设网站 客户
  • 制作一份网站建设的简要任务执行书网站运营有什么用
  • 人才网站建设的目标软件开发一个月多少钱
  • 摄影网站设计思想推网站
  • 公司怎么建立一个网站杭州黑马程序员培训机构怎么样
  • 大型网站建设兴田德润优惠建设自己的网站
  • 网站建设通知免费的一级域名申请
  • 机关网站源码怎么根据街景图片找地址
  • 信息流网站建设免费推广的网站有哪些
  • 西安火车站网站建设广州天河区房价2022年最新房价
  • 网站活动专题页面微信建网站服务
  • 上海市质量工程建设管理协会网站抖音小程序开发教程
  • 物流网站模板建网站找汉狮
  • 江西万年县建设局网站建设网站公司域名
  • 一个做二维码问卷调查的网站做淘宝的网站
  • 手机网站开发算什么费用国际空间站
  • ...课程网站建设简介西安效果图制作工作室
  • 做网站的p什么2003excel做注册网站
  • 为网站 做字幕怎么推销建设网站
  • 省级住房城乡建设主管部门网站室内设计平面图软件
  • 怎么检查网站的死链音乐网站后台管理模板
  • 企业网站建设全包辽宁省建设工程信息网造价师签章