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

电子商务网站建设视频网页更改

电子商务网站建设视频,网页更改,企业公示信息年报,海门做网站文章目录数据类型分类数值类型tinyint类型bit类型float类型decimal类型字符串类型char类型varchar类型char和varchar对比日期和时间类型enum和set类型数据类型分类 MySQL中#xff0c;支持各种各样的类型#xff0c;比如表示数值的整型浮点型#xff0c;文本、二进制类型、… 文章目录数据类型分类数值类型tinyint类型bit类型float类型decimal类型字符串类型char类型varchar类型char和varchar对比日期和时间类型enum和set类型数据类型分类 MySQL中支持各种各样的类型比如表示数值的整型浮点型文本、二进制类型、时间日期型和String类型。 数值类型 tinyint类型 tinyint类型用于存放数值比较小的整数取值范围-128~127 数值越界测试 mysql create table t1 (- data tinyint- )engineinnodb default charsetutf8; Query OK, 0 rows affected (0.02 sec)mysql desc t1; ---------------------------------------------- | Field | Type | Null | Key | Default | Extra | ---------------------------------------------- | data | tinyint(4) | YES | | NULL | | ---------------------------------------------- 1 row in set (0.00 sec)mysql insert into t1 (data) values (1); Query OK, 1 row affected (0.00 sec)mysql insert into t1 (data) values (128); ERROR 1264 (22003): Out of range value for column data at row 1 mysql insert into t1 (data) values (-129); ERROR 1264 (22003): Out of range value for column data at row 1mysql select * from t1; ------ | data | ------ | 1 | ------ 1 row in set (0.00 sec)在C/C中如果赋值超出类型范围会发生对应的数据类型截断编译器不会报错但是在MySQL中数据必须具有很强的明确性超出数据类型的范围MySQL不允许插入数据。 所以在MySQL中数据类型是一种约束。 说明: 在MySQL中整型可以指定是有符号的和无符号的默认是有符号的。可以通过UNSIGNED来说明某个字段是无符号的。 案例 mysql create table t2 (- data tinyint unsigned - )engineinnodb default charsetutf8; Query OK, 0 rows affected (0.02 sec)mysql desc t2; ------------------------------------------------------- | Field | Type | Null | Key | Default | Extra | ------------------------------------------------------- | data | tinyint(3) unsigned | YES | | NULL | | ------------------------------------------------------- 1 row in set (0.00 sec)mysql insert into t2 (data) values (255); Query OK, 1 row affected (0.00 sec)mysql insert into t2 (data) values (-1); ERROR 1264 (22003): Out of range value for column data at row 1mysql select * from t2; ------ | data | ------ | 255 | ------ 1 row in set (0.00 sec)bit类型 基本语法 bit[(M)] : 位字段类型。M表示每个值的位数范围从1到64。如果M被忽略默认为1。举例 mysql create table t3 (- id int,- data bit(8)- )engineinnodb default charsetutf8; Query OK, 0 rows affected (0.02 sec)mysql desc t3; ------------------------------------------- | Field | Type | Null | Key | Default | Extra | ------------------------------------------- | id | int(11) | YES | | NULL | | | data | bit(8) | YES | | NULL | | ------------------------------------------- 2 rows in set (0.00 sec)mysql insert into t3 (id, data) values (10, 10); Query OK, 1 row affected (0.00 sec)mysql select * from t3; ------------ | id | data | ------------ | 10 | ------------ 1 row in set (0.00 sec)通过上面的案例我们发现bit字段在显示时不是直接显示数值大小的。 bit字段在显示时是按照ASCII码对应的值显示的。 mysql insert into t3 (id, data) values (65, 65); Query OK, 1 row affected (0.00 sec)mysql select * from t3; ------------ | id | data | ------------ | 10 | | 65 | A | ------------ 2 rows in set (0.00 sec)bit可以表示只存放1或0的数值需求这样可以节省空间。 mysql create table t4 (- data bit(1)- )engineinnodb default charsetutf8; Query OK, 0 rows affected (0.02 sec)mysql desc t4; ------------------------------------------ | Field | Type | Null | Key | Default | Extra | ------------------------------------------ | data | bit(1) | YES | | NULL | | ------------------------------------------ 1 row in set (0.00 sec)mysql insert into t4 (data) values (1); Query OK, 1 row affected (0.00 sec)mysql insert into t4 (data) values (0); Query OK, 1 row affected (0.00 sec)mysql insert into t4 (data) values (2); ERROR 1406 (22001): Data too long for column data at row 1float类型 基本语法 float[(m, d)] [unsigned] : M指定显示长度d指定小数位数占用空间4个字节案例 float(4,2)表示的范围是-99.99 ~ 99.99MySQL在保存值时会进行四舍五入。 mysql create table t5 (- data float(4, 2)- )engineinnodb default charsetutf8; Query OK, 0 rows affected (0.02 sec)mysql desc t5; ---------------------------------------------- | Field | Type | Null | Key | Default | Extra | ---------------------------------------------- | data | float(4,2) | YES | | NULL | | ---------------------------------------------- 1 row in set (0.00 sec)mysql insert into t5 (data) values (99.99); Query OK, 1 row affected (0.01 sec)mysql insert into t5 (data) values (-99.99); Query OK, 1 row affected (0.01 sec)mysql insert into t5 (data) values (-99.991); Query OK, 1 row affected (0.01 sec)mysql insert into t5 (data) values (-99.996); ERROR 1264 (22003): Out of range value for column data at row 1 mysql select * from t5; -------- | data | -------- | 99.99 | | -99.99 | | -99.99 | -------- 3 rows in set (0.00 sec)案例 如果定义的是float(4,2) unsigned 这时因为把它指定为无符号的数范围是 0 ~ 99.99 mysql create table t6 (- data float(4,2) unsigned - )engineinnodb default charsetutf8; Query OK, 0 rows affected (0.01 sec)mysql desc t6; ------------------------------------------------------- | Field | Type | Null | Key | Default | Extra | ------------------------------------------------------- | data | float(4,2) unsigned | YES | | NULL | | ------------------------------------------------------- 1 row in set (0.00 sec)mysql insert into t6 (data) values (0); Query OK, 1 row affected (0.01 sec)mysql insert into t6 (data) values (99.99); Query OK, 1 row affected (0.00 sec)mysql insert into t6 (data) values (-1); ERROR 1264 (22003): Out of range value for column data at row 1 mysql insert into t6 (data) values (100); ERROR 1264 (22003): Out of range value for column data at row 1decimal类型 基本语法: decimal(m, d) [unsigned] : 定点数m指定长度d表示小数点的位数decimal(5,2) 表示的范围是 -999.99 ~ 999.99decimal(5,2) unsigned 表示的范围 0 ~ 999.99decimal和float很像但是有区别: float和decimal表示的精度不一样 案例 mysql create table t7 (- data1 float(10,8),- data2 decimal(10,8)- )engineinnodb default charsetutf8; Query OK, 0 rows affected (0.02 sec)mysql desc t7; ------------------------------------------------- | Field | Type | Null | Key | Default | Extra | ------------------------------------------------- | data1 | float(10,8) | YES | | NULL | | | data2 | decimal(10,8) | YES | | NULL | | ------------------------------------------------- 2 rows in set (0.00 sec)mysql insert into t7 (data1, data2) values (23.12345612, 23.12345612); Query OK, 1 row affected (0.00 sec)mysql select * from t7; -------------------------- | data1 | data2 | -------------------------- | 23.12345695 | 23.12345612 | -------------------------- 1 row in set (0.00 sec)通过上面的案例我们可以发现decimal的精度更准确因此当我们需要高精度储存浮点数时优先使用decimal。 float表示的精度大约是7位。decimal整数最大位数m为65。支持小数最大位数d是30。如果d被省略默认为0.如果m被省略默认是10。 字符串类型 char类型 基本语法 char(L): 固定长度字符串L是可以存储的长度单位为字符最大长度值可以为255案例 mysql create table t8 (- data char(2)- )engineinnodb default charsetutf8; Query OK, 0 rows affected (0.02 sec)mysql desc t8; ------------------------------------------- | Field | Type | Null | Key | Default | Extra | ------------------------------------------- | data | char(2) | YES | | NULL | | ------------------------------------------- 1 row in set (0.01 sec)mysql insert into t8 (data) values (OK); Query OK, 1 row affected (0.01 sec)mysql insert into t8 (data) values (好的); Query OK, 1 row affected (0.00 sec)mysql insert into t8 (data) values (中国人); ERROR 1406 (22001): Data too long for column data at row 1mysql select * from t8; -------- | data | -------- | OK | | 好的 | -------- 2 rows in set (0.00 sec)char(2) 表示可以存放两个字符可以是字母或汉字但是不能超过2个 最多只能是255 mysql create table t8 (- data char(256)- )engineinnodb default charset-utf8; ERROR 1074 (42000): Column length too big for column data (max 255); use BLOB or TEXT insteadvarchar类型 基本语法 varchar(L): 可变长度字符串L表示字符长度最大长度65535个字节案例 mysql create table t9 (- data varchar(5)- )engineinnodb default charsetutf8; Query OK, 0 rows affected (0.03 sec)mysql desc t9; ---------------------------------------------- | Field | Type | Null | Key | Default | Extra | ---------------------------------------------- | data | varchar(5) | YES | | NULL | | ---------------------------------------------- 1 row in set (0.00 sec)mysql insert into t9 value (hello); Query OK, 1 row affected (0.00 sec)mysql insert into t9 value (你好世界); Query OK, 1 row affected (0.00 sec)mysql select * from t9; ----------------- | data | ----------------- | hello | | 你好世界 | ----------------- 2 rows in set (0.00 sec)关于varchar(len),len到底是多大这个len值和表的编码密切相关 varchar长度可以指定为0到65535之间的值但是有1 - 3 个字节用于记录数据大小所以说有效字节数是65532。当我们的表的编码是utf8时varchar(n)的参数n最大值是65532/321844因为utf中一个字符占用3个字节如果编码是gbkvarchar(n)的参数n最大是65532/232766因为gbk中一个字符占用2字节。 mysql create table t10 (- data varchar(21845)- )engineinnodb default charsetutf8; ERROR 1118 (42000): Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBsmysql create table t10 ( data varchar(21844) )engineinnodb default charsetutf8; Query OK, 0 rows affected (0.02 sec)mysql desc t10; -------------------------------------------------- | Field | Type | Null | Key | Default | Extra | -------------------------------------------------- | data | varchar(21844) | YES | | NULL | | -------------------------------------------------- 1 row in set (0.00 sec)char和varchar对比 如何选择定长或变长字符串 如果数据确定长度都一样就使用定长char比如身份证手机号。如果数据长度有变化,就使用变长(varchar), 比如名字地址但是你要保证最长的能存的进去。定长的磁盘空间比较浪费但是效率高。变长的磁盘空间比较节省但是效率低。定长的意义是直接开辟好对应的空间。变长的意义是在不超过自定义范围的情况下用多少开辟多少。 日期和时间类型 常用的日期有如下三个 date :日期 ‘yyyy-mm-dd’ 占用三字节datetime 时间日期格式 ‘yyyy-mm-dd HH:ii:ss’ 表示范围从 1000 到 9999 占用八字节timestamp 时间戳从1970年开始的 yyyy-mm-dd HH:ii:ss 格式和 datetime 完全一致占用四字节 案例 mysql create table t11 (- d1 date,- d2 datetime,- d3 timestamp- )engineinnodb default charsetutf8; Query OK, 0 rows affected (0.02 sec)mysql desc t11; ----------------------------------------------------------------------------- | Field | Type | Null | Key | Default | Extra | ----------------------------------------------------------------------------- | d1 | date | YES | | NULL | | | d2 | datetime | YES | | NULL | | | d3 | timestamp | NO | | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP | ----------------------------------------------------------------------------- 3 rows in set (0.00 sec)mysql insert into t11 (d1, d2) values (2023-1-29, 2023-1-29 10:00:00); Query OK, 1 row affected (0.00 sec)mysql insert into t11 (d1, d2) values (2023-1-30, 2023-1-30 11:00:00); Query OK, 1 row affected (0.00 sec)mysql select * from t11; ------------------------------------------------------ | d1 | d2 | d3 | ------------------------------------------------------ | 2023-01-29 | 2023-01-29 10:00:00 | 2023-01-29 21:45:20 | | 2023-01-30 | 2023-01-30 11:00:00 | 2023-01-29 21:45:29 | ------------------------------------------------------ 2 rows in set (0.00 sec)在添加数据时timestamp时间戳会自动添加当前时间修改数据时同理也会修改当前时间。 mysql select * from t11; ------------------------------------------------------ | d1 | d2 | d3 | ------------------------------------------------------ | 2023-01-29 | 2023-01-29 10:00:00 | 2023-01-29 21:45:20 | | 2023-01-30 | 2023-01-30 11:00:00 | 2023-01-29 21:45:29 | ------------------------------------------------------ 2 rows in set (0.00 sec)mysql update t11 set d12023-1-31; Query OK, 2 rows affected (0.01 sec) Rows matched: 2 Changed: 2 Warnings: 0mysql select * from t11; ------------------------------------------------------ | d1 | d2 | d3 | ------------------------------------------------------ | 2023-01-31 | 2023-01-29 10:00:00 | 2023-01-29 21:47:55 | | 2023-01-31 | 2023-01-30 11:00:00 | 2023-01-29 21:47:55 | ------------------------------------------------------ 2 rows in set (0.00 sec)enum和set类型 基本语法 enum枚举“单选”类型 enum(选项1,选项2,选项3,...);该设定只是提供了若干个选项的值最终一个单元格中实际只存储了其中一个值而且出于效率考虑这些值实际存储的是“数字”因为这些选项的每个选项值依次对应如下数字1,2,3,…最多65535个当我们添加枚举值时也可以添加对应的数字编号。 set集合“多选”类型 set(选项值1,选项值2,选项值3, ...);该设定只是提供了若干个选项的值最终一个单元格中设计可存储了其中任意多个值而且出于效率考虑这些值实际存储的是“数字”因为这些选项的每个选项值依次对应如下数字1,2,4,8,16,32… 最多64个。 说明不建议在添加枚举值集合值的时候采用数字的方式因为不利于阅读。 案例 有一个调查表votes需要调查人的喜好 登山游泳篮球武术中选择(可以多选)性别男女单选。 mysql create table votes (- name varchar(20),- hobby set(登山,游泳,武术,篮球),- gender enum(男,女)- )engineinnodb default charsetutf8; Query OK, 0 rows affected (0.02 sec)mysql desc votes; ----------------------------------------------------------------------------- | Field | Type | Null | Key | Default | Extra | ----------------------------------------------------------------------------- | name | varchar(20) | YES | | NULL | | | hobby | set(登山,游泳,武术,篮球) | YES | | NULL | | | gender | enum(男,女) | YES | | NULL | | ----------------------------------------------------------------------------- 3 rows in set (0.00 sec)插入数据 mysql insert into votes (name, hobby, gender) values (Jame, 游泳,武术, 男); Query OK, 1 row affected (0.00 sec)mysql insert into votes (name, hobby, gender) values (Lisa, 游泳,登山, 女); Query OK, 1 row affected (0.00 sec)mysql insert into votes (name, hobby, gender) values (Jack, 游泳,篮球,武术, 男); Query OK, 1 row affected (0.01 sec)mysql insert into votes (name, hobby, gender) values (Maria, 游泳, 女); Query OK, 1 row affected (0.00 sec)mysql select * from votes; ------------------------------------- | name | hobby | gender | ------------------------------------- | Jame | 游泳,武术 | 男 | | Lisa | 登山,游泳 | 女 | | Jack | 游泳,武术,篮球 | 男 | | Maria | 游泳 | 女 | ------------------------------------- 4 rows in set (0.00 sec)有如上数据想查找所有喜欢游泳的人 mysql select * from votes where hobby游泳; ----------------------- | name | hobby | gender | ----------------------- | Maria | 游泳 | 女 | ----------------------- 1 row in set (0.00 sec)我们会发现我们只能查找到兴趣爱好只有游泳的人不能查询到兴趣爱好中含有游泳的人。 集合查询使用find_ in_ set函数 find_in_set(sub,str_list) 如果 sub 在 str_list 中则返回下标如果不在返回0 str_list 用逗号分 隔的字符串 示例 mysql select find_in_set(a, a,b,c); --------------------------- | find_in_set(a, a,b,c) | --------------------------- | 1 | --------------------------- 1 row in set (0.00 sec)mysql select find_in_set(d, a,b,c); --------------------------- | find_in_set(d, a,b,c) | --------------------------- | 0 | --------------------------- 1 row in set (0.00 sec)在votes表中查询喜欢游泳的人 mysql select * from votes where find_in_set(游泳, hobby); ------------------------------------- | name | hobby | gender | ------------------------------------- | Jame | 游泳,武术 | 男 | | Lisa | 登山,游泳 | 女 | | Jack | 游泳,武术,篮球 | 男 | | Maria | 游泳 | 女 | ------------------------------------- 4 rows in set (0.00 sec)
文章转载自:
http://www.morning.jphxt.cn.gov.cn.jphxt.cn
http://www.morning.yktr.cn.gov.cn.yktr.cn
http://www.morning.llllcc.com.gov.cn.llllcc.com
http://www.morning.dkqyg.cn.gov.cn.dkqyg.cn
http://www.morning.mttck.cn.gov.cn.mttck.cn
http://www.morning.smkxm.cn.gov.cn.smkxm.cn
http://www.morning.lqchz.cn.gov.cn.lqchz.cn
http://www.morning.fglyb.cn.gov.cn.fglyb.cn
http://www.morning.bynf.cn.gov.cn.bynf.cn
http://www.morning.ykrg.cn.gov.cn.ykrg.cn
http://www.morning.tbwsl.cn.gov.cn.tbwsl.cn
http://www.morning.mjjty.cn.gov.cn.mjjty.cn
http://www.morning.cbvlus.cn.gov.cn.cbvlus.cn
http://www.morning.qtfss.cn.gov.cn.qtfss.cn
http://www.morning.mjwnc.cn.gov.cn.mjwnc.cn
http://www.morning.bnrff.cn.gov.cn.bnrff.cn
http://www.morning.3dcb8231.cn.gov.cn.3dcb8231.cn
http://www.morning.jqmqf.cn.gov.cn.jqmqf.cn
http://www.morning.hxpsp.cn.gov.cn.hxpsp.cn
http://www.morning.ccpnz.cn.gov.cn.ccpnz.cn
http://www.morning.mfbzr.cn.gov.cn.mfbzr.cn
http://www.morning.qieistand.com.gov.cn.qieistand.com
http://www.morning.wbysj.cn.gov.cn.wbysj.cn
http://www.morning.rkjz.cn.gov.cn.rkjz.cn
http://www.morning.lmmh.cn.gov.cn.lmmh.cn
http://www.morning.rcrnw.cn.gov.cn.rcrnw.cn
http://www.morning.jqzns.cn.gov.cn.jqzns.cn
http://www.morning.skwwj.cn.gov.cn.skwwj.cn
http://www.morning.wmcng.cn.gov.cn.wmcng.cn
http://www.morning.bxbnf.cn.gov.cn.bxbnf.cn
http://www.morning.ljcf.cn.gov.cn.ljcf.cn
http://www.morning.wncb.cn.gov.cn.wncb.cn
http://www.morning.ylljn.cn.gov.cn.ylljn.cn
http://www.morning.dfojgo.cn.gov.cn.dfojgo.cn
http://www.morning.swdnr.cn.gov.cn.swdnr.cn
http://www.morning.wxlzr.cn.gov.cn.wxlzr.cn
http://www.morning.mgwdp.cn.gov.cn.mgwdp.cn
http://www.morning.dthyq.cn.gov.cn.dthyq.cn
http://www.morning.pzss.cn.gov.cn.pzss.cn
http://www.morning.ltdxq.cn.gov.cn.ltdxq.cn
http://www.morning.spnky.cn.gov.cn.spnky.cn
http://www.morning.pjrgb.cn.gov.cn.pjrgb.cn
http://www.morning.mcwrg.cn.gov.cn.mcwrg.cn
http://www.morning.zcsyz.cn.gov.cn.zcsyz.cn
http://www.morning.gjqgz.cn.gov.cn.gjqgz.cn
http://www.morning.tkztx.cn.gov.cn.tkztx.cn
http://www.morning.nclbk.cn.gov.cn.nclbk.cn
http://www.morning.pzrnf.cn.gov.cn.pzrnf.cn
http://www.morning.qztsq.cn.gov.cn.qztsq.cn
http://www.morning.rxdsq.cn.gov.cn.rxdsq.cn
http://www.morning.ltrms.cn.gov.cn.ltrms.cn
http://www.morning.fthcn.cn.gov.cn.fthcn.cn
http://www.morning.flzqq.cn.gov.cn.flzqq.cn
http://www.morning.sgrwd.cn.gov.cn.sgrwd.cn
http://www.morning.wjqyt.cn.gov.cn.wjqyt.cn
http://www.morning.ccphj.cn.gov.cn.ccphj.cn
http://www.morning.fqssx.cn.gov.cn.fqssx.cn
http://www.morning.btpll.cn.gov.cn.btpll.cn
http://www.morning.gxfpk.cn.gov.cn.gxfpk.cn
http://www.morning.snjpj.cn.gov.cn.snjpj.cn
http://www.morning.lrwsk.cn.gov.cn.lrwsk.cn
http://www.morning.bftqc.cn.gov.cn.bftqc.cn
http://www.morning.hsrpr.cn.gov.cn.hsrpr.cn
http://www.morning.lqqqh.cn.gov.cn.lqqqh.cn
http://www.morning.kfwqd.cn.gov.cn.kfwqd.cn
http://www.morning.fhqsm.cn.gov.cn.fhqsm.cn
http://www.morning.burpgr.cn.gov.cn.burpgr.cn
http://www.morning.cxryx.cn.gov.cn.cxryx.cn
http://www.morning.lcdtb.cn.gov.cn.lcdtb.cn
http://www.morning.qncqd.cn.gov.cn.qncqd.cn
http://www.morning.bqpg.cn.gov.cn.bqpg.cn
http://www.morning.crfjj.cn.gov.cn.crfjj.cn
http://www.morning.csnmd.cn.gov.cn.csnmd.cn
http://www.morning.cjwkf.cn.gov.cn.cjwkf.cn
http://www.morning.dbfwq.cn.gov.cn.dbfwq.cn
http://www.morning.kbgzj.cn.gov.cn.kbgzj.cn
http://www.morning.ltcnd.cn.gov.cn.ltcnd.cn
http://www.morning.ppghc.cn.gov.cn.ppghc.cn
http://www.morning.fblkr.cn.gov.cn.fblkr.cn
http://www.morning.myfwb.cn.gov.cn.myfwb.cn
http://www.tj-hxxt.cn/news/276329.html

相关文章:

  • 网页与网站的区别和关系苏宁易购网站建设情况
  • 网站如何做地推jsp做网站组件
  • 抽奖网站怎么做的怎样搞网络营销
  • APP客户端网站建设微商管理系统
  • 苏州网站建设的一般流程网站设计基本流程
  • 网站开发招聘简历模板分析竞争对手的网站
  • 金华自助建站专门做游戏的网站
  • 摄影工作室网站建设四川建设考试网
  • 陌上香坊是做盗版的网站吗优化系统小说
  • 廊坊网站制作服务下百度安装
  • 网站排名哪家好茶叶网页设计图片
  • 如何设公司产品购物网站正规制作网站公司
  • 南京公司建设网站泗洪有做网站
  • 棉桃剥壳机做网站wordpress密码忘记了
  • 网站开发安全性门户网站管理流程
  • 给银行做网站餐饮管理系统下载
  • 网站定制要求设计公司
  • 建设网站免费模板化妆品网站设计报告
  • 软件网站开发实训报告菏泽注册公司流程和费用
  • 网站移动站视频网站怎么制作
  • 长沙企业网站seo巴彦淖尔专业做网站的
  • 广东专业企业网站建设地图网站开发
  • 中国建设银行山西分行招聘网站网页设计网站模板素材
  • 盐城市建设局网站物业资质假网站怎么制作
  • 免费建设公司网站网站开发软件 d
  • 做网站客户给不了素材阜宁有做网站的吗
  • 科技网站排名百度seo优化是做什么的
  • 网站做一排横图手机网站底部电话
  • 百度网盘破解版佛山百度网站排名优化
  • wordpress 编辑器隔行黑龙seo网站优化