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

怎么注册一个网站做色流/如何宣传网站

怎么注册一个网站做色流,如何宣传网站,网站自适应布局 html5,怎么强制下载网页视频文章目录 一、数据类型的分类二、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 float
    • 3.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 1

2.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 1

mysql的字符代表的是符号,所以能够插入成功。

在这里插入图片描述

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/3=21844[因为utf中,一个字符占用3个字节],如果编码是gbk,varchar(n)的参数n最大是65532/2=32766(因为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 t1='2003-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)

相关文章:

【MySQL】MySQL数据类型

文章目录 一、数据类型的分类二、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_…...

【数据结构与算法】十大经典排序算法-希尔排序

🌟个人博客:www.hellocode.top 🏰Java知识导航:Java-Navigate 🔥CSDN:HelloCode. 🌞知乎:HelloCode 🌴掘金:HelloCode ⚡如有问题,欢迎指正&#…...

docker 常用命令

1. 搜索并下载镜像 docker search bundlefusion # 搜索docker pull jhljx/bundlefusion # 将远程仓库文件下载到本地2. 用镜像创建容器 docker run -it --namebundlefusion colec777/bundlefusion-cu11.4-cudagl:v8 /bin/bash # 创建并运行 exit # 退出终端 sudo docker cont…...

uniapp微信小程序中打开腾讯地图获取用户位置信息

实现的效果 第一步:首先登录微信公众平台 , 需要用到AppID 第二步: 注册登录腾讯位置服务 注册需要手机号和邮箱确认,然后创建应用 创建后点击添加key 添加后会生成key,后面会用到这个key 第三步: 登录微信公众平台&a…...

嵌入式领域:人才供需失衡,发展潜力巨大

嵌入式技术正快速发展,ARM处理器、嵌入式操作系统、LINUX等技术助力嵌入式领域崛起。然而,行业新颖且门槛高,缺乏专业指导。因此,嵌入式人才稀缺,身价水涨船高。 未来几年,嵌入式系统将在信息化、智能化、…...

python 书籍

python高手进阶之路 10册 QQ:417398600...

Debian纯净系统安装php常用扩展和程序

适用于 php-fpm debian容器 mysql扩展 docker-php-ext-install pdo_mysql docker-php-ext-install mysqliredis扩展 pecl install redis docker-php-ext-enable redis# pecl无法装就: docker-php-source extract # 创建并初始化 /usr/src/php目录(扩展…...

vue+element中如何设置单个el-date-picker开始时间和结束时间关联

功能&#xff1a;选了开始时间&#xff0c;则结束时间只能选择开始时间之后的&#xff1b;选了结束时间&#xff0c;则开始时间只能选择结束时间之前的 重点是picker-options属性 图示&#xff1a; 代码展示: // body 内部<el-form-item><el-date-pickerv-model&qu…...

二次封装ajax和axios

ajax app.config.globalProperties.$http function(url, method, data, async, fun) {$.ajax({url: baseUrl url, //请求地址type: method, //请求方式dataType: json, //数据类型contentType: "application/json",xhrFields: { //跨域设置withCredentials: t…...

Android进阶之SeekBar动态显示进度

SeekBar 在开发中并不陌生,默认的SeekBar是不显示进度的,当然用吐司或者文案在旁边实时显示也是可以的,那能不能移动的时候才显示&#xff0c;默认不显示呢,当然网上花哨的三方工具类太多了&#xff0c;但是我只是单纯的想在SeekBar的基础上去添加一个可以跟随移动显示的气泡而…...

企业计算机服务器中了locked勒索病毒怎么办,如何预防勒索病毒攻击

计算机服务器是企业的关键信息基础设备&#xff0c;随着计算机技术的不断发展&#xff0c;企业的计算机服务器也成为了众多勒索者的攻击目标&#xff0c;勒索病毒成为当下计算机服务器的主要攻击目标。近期&#xff0c;我们收到很多企业的求助&#xff0c;企业的服务器被locked…...

大麦订单截图 一键生成订单截图

新版付款图样式展示 这个样式图就是在大麦刚付款完的一个订单截图&#xff0c;它的状态是等待卖家发货 下滑下载源码 下载源码&#xff1a;https://pan.baidu.com/s/16lN3gvRIZm7pqhvVMYYecQ?pwd6zw3...

LLaMA长度外推高性价比trick:线性插值法及相关改进源码阅读及相关记录

前言 最近&#xff0c;开源了可商用的llama2&#xff0c;支持长度相比llama1的1024&#xff0c;拓展到了4096长度&#xff0c;然而&#xff0c;相比GPT-4、Claude-2等支持的长度&#xff0c;llama的长度外推显得尤为重要&#xff0c;本文记录了三种网络开源的RoPE改进方式及相…...

中国信息安全测评中心CISP家族认证一览

随着国家对网络安全的重视&#xff0c;中国信息安全测评中心根据国家政策、未来趋势、重点内容陆续增添了很多CISP细分认证。 今日份详细介绍&#xff0c;部分CISP及其子品牌相关认证内容&#xff0c;一定要收藏哟&#xff01; 校园版CISP NISP国家信息安全水平考试&#xff…...

牛客网【面试必刷TOP101】~ 06 递归/回溯

牛客网【面试必刷TOP101】~ 06 递归/回溯 文章目录 牛客网【面试必刷TOP101】~ 06 递归/回溯[toc]BM55 没有重复项数字的全排列(★★)BM56 有重复项数字的全排列(★★)BM57 岛屿数量(★★)BM58 字符串的排列(★★)BM59 N皇后问题(★★★)BM60 括号生成(★★)BM61 矩阵最长递增路…...

ArcGIS Pro基础:【划分】工具实现等比例、等面积、等宽度划分图形操作

本次介绍【划分】工具的使用&#xff0c;如下所示&#xff0c;为该工具所处位置。使用该工具可以实现对某个图斑的等比例面积划分、相等面积划分和相等宽度划分。 【等比例面积】&#xff1a;其操作如下所示&#xff0c;其中&#xff1a; 1表示先选中待处理的图斑&#xff0c;2…...

括号匹配问题:栈的巧妙应用与代码优化【栈、优化、哈希表】

当解决算法问题时&#xff0c;灵活使用数据结构是至关重要的。在这个问题中&#xff0c;我们需要判断一个只包含括号的字符串是否有效&#xff0c;即括号是否能够正确匹配和闭合。使用栈这一数据结构可以很好地解决这个问题。 题目链接&#xff1a;有效的括号 解题思路&#xf…...

vue项目正确使用样式deep穿透

经常开发前端的程序员应该都知道前端一般都是组件化开发&#xff0c;为了避免样式污染通常会使用scoped添加属性选择器&#xff0c;此时如果我们想在父组件中修改子组件的样式便成了难题。其实&#xff0c;我们可以通过以下几种方式修改子组件样式&#xff0c; 组件样式穿透 …...

Jenkins持续集成-快速上手

Jenkins持续集成-快速上手 注&#xff1a;Jenkins一般不单独使用&#xff0c;而是需要依赖代码仓库&#xff0c;构建工具等。 搭配组合&#xff1a;GitGitee&#xff08;GitHub、GitLab&#xff09;MavenJenkins 前置准备 常见安装方式&#xff1a; war包Docker容器实例&…...

查看linux 所有运行的应用和端口命令

要查看 Linux 中所有运行的应用程序及其对应的端口&#xff0c;可以使用以下命令&#xff1a; 1. 使用 netstat 命令&#xff08;已被弃用&#xff0c;建议使用 ss 命令&#xff09;&#xff1a; netstat -tuln 这会显示当前系统上所有打开的网络连接和监听的端口。其中&#…...

Maven安装与配置,Eclipse配置Maven【图文并茂的保姆级教程】

&#x1f973;&#x1f973;Welcome Huihuis Code World ! !&#x1f973;&#x1f973; 接下来看看由辉辉所写的关于Maven的相关操作吧 目录 &#x1f973;&#x1f973;Welcome Huihuis Code World ! !&#x1f973;&#x1f973; 一.Maven是什么&#xff1f; 二.Maven的下…...

利用XLL文件投递Qbot银行木马的钓鱼活动分析

1概述 近期&#xff0c;安天CERT发现了一起利用恶意Microsoft Excel加载项&#xff08;XLL&#xff09;文件投递Qbot银行木马的恶意活动。攻击者通过发送垃圾邮件来诱导用户打开附件中的XLL文件&#xff0c;一旦用户安装并激活Microsoft Excel加载项&#xff0c;恶意代码将被执…...

2023CNSS——WEB题解(持续更新)

[Baby] SignIn 进来看到 按钮点击不了&#xff0c;想到去修改代码&#xff0c;要“检查“&#xff0c;但这里的右键和F12都不可用 还好还有其他方法 检查的各种方法 选用一种后进入检查页面 删掉这里的disabled即可 点击后得到flag [Baby] Backdoor 进入&#xff0c…...

Unity之ShaderGraph 节点介绍 数学节点

数学 高级Absolute&#xff08;绝对值&#xff09;Exponential&#xff08;幂&#xff09;Length&#xff08;长度&#xff09;Log&#xff08;对数&#xff09;Modulo&#xff08;余数&#xff09;Negate&#xff08;相反数&#xff09;Normalize&#xff08;标准化矢量&…...

springboot mongo 使用

nosql对我来说&#xff0c;就是用它的变动列&#xff0c;如果列是固定的&#xff0c;我为什么不用mysql这种关系型数据库呢&#xff1f; 所以&#xff0c;现在网上搜出来的大部分&#xff0c;用实体类去接的做法&#xff0c;并不适合我的需求。 所以&#xff0c;整理记录一下…...

如何使用appuploader制作apple证书​

转载&#xff1a;如何使用appuploader制作apple证书​ 如何使用appuploader制作apple证书​ 一.证书管理​ 点击首页的证书管理 二.新建证书​ 点击“添加”&#xff0c;新建一个证书文件 免费账号制作证书只有7天有效期&#xff0c;没有推送消息功能&#xff0c;推送证书…...

Promise详细版

promise基础原理到难点分析 常见的Promise的方法解读 扩展async和await深入分析 逐步分析Promise底层逻辑代码 一、Promise基础 1.什么是promise 为了解决回调地狱&#xff1a; //2.设置点击事件btn.onclick function() {//3.创建ajax实例化对象let xhr new XMLHttpRe…...

v-for循环生成的盒子只改变当前选中的盒子的样式

1.给盒子添加动态属性:class"[index isActive?active-box:choose-box]" <div v-for"(item,index) in zyList" :key"item.sid" :class"[index isActive?active-box:choose-box]" click"getKmList(item,index)"…...

Spring Data JPA源码

导读: 什么是Spring Data JPA? 要解释这个问题,我们先将Spring Data JPA拆成两个部分&#xff0c;即Sping Data和JPA。 从这两个部分来解释。 Spring Data是什么? 摘自: https://spring.io/projects/spring-data Spring Data’s mission is to provide a familiar and cons…...

如何防止CSRF攻击

背景 随着互联网的高速发展&#xff0c;信息安全问题已经成为企业最为关注的焦点之一&#xff0c;而前端又是引发企业安全问题的高危据点。在移动互联网时代&#xff0c;前端人员除了传统的 XSS、CSRF 等安全问题之外&#xff0c;又时常遭遇网络劫持、非法调用 Hybrid API 等新…...