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

旅行社做境外购物网站网站开发三个月能学会吗

旅行社做境外购物网站,网站开发三个月能学会吗,东莞专业网站推广策划,贵阳市住房建设局网站文章目录 一、数据类型的分类二、tinyint类型2.1 创建有符号数值2.2 创建无符号数值 三、bit类型三、浮点类型3.1 float3.2 decimal类型 四、字符串类型4.1 char类型4.2 varchar类型 五、日期和时间类型六、枚举和集合类型6.1 enum的枚举值和set的位图结构6.2 查询集合find_in_… 文章目录 一、数据类型的分类二、tinyint类型2.1 创建有符号数值2.2 创建无符号数值 三、bit类型三、浮点类型3.1 float3.2 decimal类型 四、字符串类型4.1 char类型4.2 varchar类型 五、日期和时间类型六、枚举和集合类型6.1 enum的枚举值和set的位图结构6.2 查询集合find_in_set 一、数据类型的分类 数值类型 二、tinyint类型 2.1 创建有符号数值 默认是有符号的。取值范围[-128,127] mysql create table if not exists t1(- num tinyint- );插入tinyint类型数值范围内的数据是可以的 mysql insert into t1 values (-128); Query OK, 1 row affected (0.01 sec)mysql insert into t1 values (127); Query OK, 1 row affected (0.01 sec)超出范围的数据会插入失败 mysql insert into t1 values (128); ERROR 1264 (22003): Out of range value for column num at row 1 mysql insert into t1 values (-129); ERROR 1264 (22003): Out of range value for column num at row 12.2 创建无符号数值 用tinyint unsigned数据类型创建表t2: mysql create table if not exists t2( num tinyint unsigned ); Query OK, 0 rows affected (0.02 sec)我们知道tinyint unsigned类型的范围是【0 ~ 255】 mysql insert into t2 values (0); Query OK, 1 row affected (0.01 sec)mysql insert into t2 values (255); Query OK, 1 row affected (0.00 sec)mysql insert into t2 values (-1); ERROR 1264 (22003): Out of range value for column num at row 1 mysql insert into t2 values (256); ERROR 1264 (22003): Out of range value for column num at row 1如果我们向MySQL特定的类型中插入不合法的数据MySQL一般都是直接拦截不让我们做对应的操作 反过来我们如果已经有数据被插入到MySql中了那么一定是合法的。 所以数据类型本身就是一种约束。 MySql表中建立属性列列名称 类型在后 num tinyint unsigned;三、bit类型 bit[(M)] :位字段类型。M表示有几位范围从1到64位。如果M被忽略默认为1。 mysql create table if not exists t3( - num1 bit(1),- num2 bit(64)- ); Query OK, 0 rows affected (0.03 sec)对于num1只能插入0或1。 mysql insert into t3 (num1, num2) values (1, 256); Query OK, 1 row affected (0.01 sec)mysql insert into t3 (num1, num2) values (0, 1024); Query OK, 1 row affected (0.01 sec)位类型显示的是ASCII码如果想看到可以使用十六进制打印。 select hex(num1),hex(num2) from t3;验证一下 如果插入’a’或者97: mysql insert into t3 (num1, num2) values(1, 97); Query OK, 1 row affected (0.01 sec)mysql insert into t3 (num1, num2) values(1, a); Query OK, 1 row affected (0.00 sec)所以bit字段在显示时是按照ASCII码对应的值显示。 三、浮点类型 3.1 float float[(m, d)] [unsigned] : M指定显示长度d指定小数位数占用空间4个字节 例如 float(5,2) 表示的范围是 -999.99 ~ 999.99 float(5,2) unsigned 表示的范围 0 ~ 999.99 创建表 mysql create table if not exists t5(- num float(4, 3)- ); Query OK, 0 rows affected (0.04 sec)插入数据 mysql insert into t5 (num) values (9.999); Query OK, 1 row affected (0.00 sec)mysql insert into t5 values (-9.999); Query OK, 1 row affected (0.00 sec)插入的如果是 1.2345会变成1.234超过5进1 mysql insert into t5 values (1.2345); Query OK, 1 row affected (0.01 sec)mysql insert into t5 values (1.2346); Query OK, 1 row affected (0.01 sec)但是如果进位以后超过范围了就也无法插入成功。 mysql insert into t5 values (9.9996); ERROR 1264 (22003): Out of range value for column num at row 1如果是无符号浮点数就不能插入负数了上限不变。 3.2 decimal类型 decimal(m, d) [unsigned] : M指定显示的总长度整数小数d指定小数位数。 decimal和float很像表示的数据范围一样但是精度不一样。 创建表 mysql create table t7(- num1 float(10, 8),- num2 decimal(10, 8)- ); Query OK, 0 rows affected (0.03 sec)插入数据 mysql insert into t7 (num1, num2) values (10.0, 99.99); Query OK, 1 row affected (0.01 sec)mysql insert into t7 (num1, num2) values (23.12345612, 23.12345612); Query OK, 1 row affected (0.00 sec)可以看到float类型存在精度丢失decimal存什么就是什么。精度高 float在精度过大会做一些动作而decimal不会。 float表示的精度大约是7位。decimal整数最大位数m为65。支持小数最大位数d是30。如果d被省略默认为0.如果m被省略默认是10。 建议如果希望小数的精度高推荐使用decimal或double而不是float。 四、字符串类型 4.1 char类型 char(L): 固定长度字符串L是可以存储的长度单位为字符注意是字符不是字节最大长度值可以为255 创建表 mysql create table t6(- num char(2)- ); Query OK, 0 rows affected (0.06 sec)插入数据 mysql insert into t6 values (a); Query OK, 1 row affected (0.00 sec)mysql insert into t6 values (ab); Query OK, 1 row affected (0.00 sec)mysql insert into t6 values (abc); ERROR 1406 (22001): Data too long for column num at row 1如果插入汉字对于gbk编码一个占用2个字节,utf8编码一个汉字占用3个字节 mysql insert into t6 values (哈); Query OK, 1 row affected (0.00 sec)mysql insert into t6 values (哈哈); Query OK, 1 row affected (0.00 sec)mysql insert into t6 values (哈哈哈); ERROR 1406 (22001): Data too long for column num at row 1mysql的字符代表的是符号所以能够插入成功。 4.2 varchar类型 varchar(L): 可变长度字符串L表示字符长度最大长度65535个字节 关于varchar(L),L到底是多大这个len值和表的编码密切相关 varchar长度可以指定为0到65535之间的值但是有1 - 3 个字节用于记录数据大小所以说有效字节数是65532。(如果表中仅有一个varchar字段有效字节数是65532如果还有其他的字段那么varchar的实际有效字节将会比65532低一点) 当我们的表的编码是utf8时varchar(n)的参数n最大值是65532/321844[因为utf中一个字符占用3个字节]如果编码是gbkvarchar(n)的参数n最大是65532/232766因为gbk中一个字符占用2字节。 创建表 mysql create table t4(- id int,- name varchar(6)- ); Query OK, 0 rows affected (0.03 sec)插入数据跟char类型是一样的。 char和varchar的区别 char是固定长度字符串类似C/C中的数组的概念例如char(6)表示开辟6个字符的大小的空间没用完就是浪费。 varchar是可变长度的字符串例如varchar(6)表示最大长度为6个字符如果用户仅使用了一个字符那么varchar只会分配出一个字符的空间额外1个字节记录数据大小用于存储。 五、日期和时间类型 常用的日期有如下三个 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 t8(- t1 date,- t2 datetime,- t3 timestamp- ); Query OK, 0 rows affected (0.04 sec)对于时间戳timestamp:创建表结构插入数据是tinmestamp会自动更新。所以不需要更改 mysql insert into t8 (t1, t2) values (2002-07-31, 2023-07-31 08:00:00); Query OK, 1 row affected (0.00 sec)此时更新t1: mysql update t8 set t12003-07-31; Query OK, 1 row affected (0.01 sec) Rows matched: 1 Changed: 1 Warnings: 0mysql select * from t8; ------------------------------------------------------ | t1 | t2 | t3 | ------------------------------------------------------ | 2003-07-31 | 2023-07-31 08:00:00 | 2023-08-03 17:17:45 | ------------------------------------------------------ 1 row in set (0.00 sec)t1和t3都会被更新这也说明了时间戳timestamp会自动更新,意义在于记住时间的更新。 六、枚举和集合类型 6.1 enum的枚举值和set的位图结构 创建带有enum和set类型的表votes mysql create table if not exists votes(- username varchar(10),- gander enum(男, 女),- hobby set(篮球, 足球, 跑步)- );插入数据 mysql insert into votes values (张三, 男, 跑步); Query OK, 1 row affected (0.01 sec)mysql insert into votes values (李四, 女, 篮球); Query OK, 1 row affected (0.01 sec)mysql insert into votes values (赵五, a, 篮球); ERROR 1265 (01000): Data truncated for column gander at row 1可以看到对于gander我们只能插入男或者女不能插入其他字符。 但是可以插入1和2也就是说枚举类型可以写常量也可以写常量的下标。 对于set也可输入数字插入数字代表位图 mysql insert into votes values (赵五, 男, 羽毛球); ERROR 1265 (01000): Data truncated for column hobby at row 1mysql insert into votes values (赵五, 男, 跑步,篮球) Query OK, 1 row affected (0.01 sec)mysql insert into votes values (赵五, 男, 跑步,篮球,足球); Query OK, 1 row affected (0.01 sec)mysql insert into votes (username) values (小明); Query OK, 1 row affected (0.02 sec)mysql insert into votes values (小明, 1, 0); Query OK, 1 row affected (0.00 sec)mysql insert into votes values (小明, 1, 1); Query OK, 1 row affected (0.00 sec)NULL表示什么都没有而 表示有东西但是是一个空串。 当然set是一个位图结构如果是3那么就是1 | 2篮球足球。 enum在所有枚举中选择一种进行插入。也可以直接使用枚举值枚举值从1开始。 set在集合中选择一种或多种存在的选项进行数据的插入。也可使用位图的形式进行数据插入。 6.2 查询集合find_in_set 如果我们想要查询爱好是篮球的 mysql select * from votes where hobby篮球; -------------------------- | username | gander | hobby | -------------------------- | 李四 | 女 | 篮球 | | 小明 | 男 | 篮球 | -------------------------- 2 rows in set (0.00 sec)可以看到是精确筛选 下面介绍一个函数find_in_set mysql select find_in_set(a, a,b,c); --------------------------- | find_in_set(a, a,b,c) | --------------------------- | 1 | --------------------------- 1 row in set (0.00 sec)这里的1表示true说明’a’在集合’a,b,c’中。 这里只能查找一个元素是否在对应的集合中。 mysql select find_in_set(d, a,b,c); --------------------------- | find_in_set(d, a,b,c) | --------------------------- | 0 | --------------------------- 1 row in set (0.00 sec)mysql select find_in_set(a,b, a,b,c); ----------------------------- | find_in_set(a,b, a,b,c) | ----------------------------- | 0 | ----------------------------- 1 row in set (0.00 sec)当一个要查找的字段位于集合中时find_in_set函数会返回其下标非0反之返回0。所以我们就可以在集合中筛选出爱好带有“篮球”的人。 mysql select * from votes where find_in_set (篮球, hobby); ---------------------------------------- | username | gander | hobby | ---------------------------------------- | 李四 | 女 | 篮球 | | 赵五 | 男 | 篮球,跑步 | | 赵五 | 男 | 篮球,足球,跑步 | | 小明 | 男 | 篮球 | | 小明 | 男 | 篮球,足球 | ---------------------------------------- 5 rows in set (0.00 sec)也可以在集合中筛选出爱好既有“篮球”又有“足球”人。使用and逻辑与进行筛选 mysql select * from votes where find_in_set (篮球, hobby) and find_in_set(足球, hobby); ---------------------------------------- | username | gander | hobby | ---------------------------------------- | 赵五 | 男 | 篮球,足球,跑步 | | 小明 | 男 | 篮球,足球 | ---------------------------------------- 2 rows in set (0.00 sec)
http://www.huolong8.cn/news/12631/

相关文章:

  • 重庆大足网站建设东莞做网页建站公司
  • 做教育导航的网站软件下载网站怎么赚钱
  • 什么求职网站可以做几份简历linux网站开发工具
  • 广州做网站网站安全建设步骤
  • 建站过程海报素材网站推荐
  • 如何做公司网站简述企业网站建设实施的步骤
  • 企业网站托管趋势网站推广怎么做比较好
  • 化妆品网站开发可行性网站域名.xin
  • 作品集制作网站自己买台服务器做网站
  • 网站怎么做双机房切换网站开发软硬件配置
  • 江苏省住房和城乡建设厅官方网站新网免费空间
  • 马尔康网站建设上海网站开发制作公司
  • 下陆区建设局网站西安未央区今天出啥事了
  • 响应式环保网站模板中国香烟网上商城
  • 百度网站管理网站建设建站网易互客
  • 旅游网站开发方案pptWordPress抓取豆瓣
  • 门户网站建设多久建立企业网站的目的和意义
  • 网站域名如何从代理商那里转出来西安哪家公司做网站
  • 梵讯企业网站建设中国进口贸易网官网
  • 常州专业网站建设公司哪家好开发app成本
  • 网站怎么做流量统计肥城网站建设推广
  • 外贸免费开发网站模板乌苏市电力建设工程公司网站
  • 为朋友做的网站舆情处置的五个步骤
  • 网站与网页的关系wordpress非凡主题里导航下拉菜单
  • 做网站免费送域名网站cn域名注册
  • 网站建设必备的功能模块寮步镇仿做网站
  • 丽水市莲都区建设局网站ae模板
  • 路由下做网站映射Wordpress 相同tag
  • iis .net 网站架设做网站反链
  • 做自媒体需要用的网站济宁教育平台网站建设