数据库-列的类型-字符串char类型
char 和 varchar 类型
char 类型懂得都懂就是固定的字符串类型 char (maxLen)
例如 char(5) 这个长度为5 但插入数据‘a’时 是5 插入abc 也是5 即使插满固定
就像C/C++语言里 char 字符数组一样
char str[64];
maxLen==255 哈哈最多有255个字符多了我认为你是错误
varchar 类型顾名思义可变字符串类型 varchar (maxLen)但 长度可以达到 1-65535
实际指定的的varchar(4)
| 插入的字符串 | 长度 | 插入后字段内容 |
|---|---|---|
| '' | 1 | ''(空字符) |
| '1' | 2 | '1' |
| '12' | 3 | '12' |
| '123' | 4 | '123' |
| '1234' | 5 | '1234'(不保留空字符,只存储实际字符) |
| '12345' | 6 | '1234'(截断超出部分,不保留空字符) |
mysql> use StringCharStudy;
Database changed
mysql> create table StringCharTypes (Ch char(5),Vch varchar(5));
Query OK, 0 rows affected (0.07 sec)mysql> #插入正常数据
mysql> insert into Stringchartypes values ('12345','12345');
Query OK, 1 row affected (0.01 sec)mysql> select *from stringchartypes;
+-------+-------+
| Ch | Vch |
+-------+-------+
| 12345 | 12345 |
+-------+-------+
1 row in set (0.00 sec)mysql>
mysql> #插入包含空格数据 char 会截断后面的空格, varchar 不会截断后面的空格
mysql> insert into stringchartypes values('1 2 ','1 2 ');
Query OK, 1 row affected, 1 warning (0.01 sec)mysql> #由于存储方式不同 char 保留空格是从'1 2'2之后的空格当做结束符 相当于c/c++ 的字符串结束符
mysql> # varchar 保留完整 不以空格为结束符 只以输入的字符串 为准 输入多少字符接受 多少字符,当然只要超出范围那么我只能报错 因为 我指定长度能接受范围不能超过 n
mysql> # 我实际存储的是 [len=2]('1') [len=1]('') 我没有0 只有1 [len=3]('1 ') [len=4]('1 2') [len=5]('1 2 ') [len=6]('1 2 ') 实际varchar(5) +1或者+2 才是存储+维护长度的稳定
mysql> select *from stringchartypes;
+-------+-------+
| Ch | Vch |
+-------+-------+
| 12345 | 12345 |
| 1 2 | 1 2 |
+-------+-------+
2 rows in set (0.00 sec)mysql> # 在数据输出加入格式 格式为:(12345)
mysql> select concat('(',ch,')'),concat('(',vch,')') from stringchartypes;
+--------------------+---------------------+
| concat('(',ch,')') | concat('(',vch,')') |
+--------------------+---------------------+
| (12345) | (12345) |
| (1 2) | (1 2 ) |
+--------------------+---------------------+
2 rows in set (0.00 sec)mysql> # 插入数据大于实际指定的长度插入失败
mysql> insert into stringchartypes values('123456','123456');
ERROR 1406 (22001): Data too long for column 'Ch' at row 1
mysql> insert into stringchartypes values('12345','123456');
ERROR 1406 (22001): Data too long for column 'Vch' at row 1
mysql> insert into stringchartypes values('1 2 ','1 2 '); # 现在有七个字符 统统截断 并且只针对于varchar
Query OK, 1 row affected, 1 warning (0.01 sec)mysql> show warnings;
+-------+------+------------------------------------------+
| Level | Code | Message |
+-------+------+------------------------------------------+
| Note | 1265 | Data truncated for column 'Vch' at row 1 |
+-------+------+------------------------------------------+
1 row in set (0.00 sec)mysql> select concat('(',ch,')'),concat('(',vch,')') from stringchartypes;
+--------------------+---------------------+
| concat('(',ch,')') | concat('(',vch,')') |
+--------------------+---------------------+
| (12345) | (12345) |
| (1 2) | (1 2 ) |
| (1 2) | (1 2 ) |
+--------------------+---------------------+
#char 字符串类型
create database StringCharStudy;use StringCharStudy;create table StringCharTypes (Ch char(5),Vch varchar(5));
#插入正常数据
insert into Stringchartypes values ('12345','12345');
select *from stringchartypes;#插入包含空格数据 char 会截断后面的空格, varchar 不会截断后面的空格
insert into stringchartypes values('1 2 ','1 2 ');
#由于存储方式不同 char 保留空格是从'1 2'2之后的空格当做结束符 相当于c/c++ 的字符串结束符
# varchar 保留完整 不以空格为结束符 只以输入的字符串 为准 输入多少字符接受 多少字符,当然只要超出范围那么我只能报错 因为 我指定长度能接受范围不能超过 n
# 我实际存储的是 [len=2]('1') [len=1]('') 我没有0 只有1 [len=3]('1 ') [len=4]('1 2') [len=5]('1 2 ') [len=6]('1 2 ') 实际varchar(5) +1或者+2 才是存储+维护长度的稳定
select *from stringchartypes;# 在数据输出加入格式 格式为:(12345)
select concat('(',ch,')'),concat('(',vch,')') from stringchartypes;# 插入数据大于实际指定的长度插入失败insert into stringchartypes values('123456','123456');insert into stringchartypes values('12345','123456');# 插入数据大于实际指定的长度 若是 使用空格填充剩余的 那么会截掉
insert into stringchartypes values('1 2 ','1 2 '); # 现在有七个字符 统统截断 并且只针对于varchar select concat('(',ch,')'),concat('(',vch,')') from stringchartypes;
相关文章:
数据库-列的类型-字符串char类型
char 和 varchar 类型 char 类型懂得都懂就是固定的字符串类型 char (maxLen) 例如 char(5) 这个长度为5 但插入数据‘a’时 是5 插入abc 也是5 即使插满固定 就像C/C语言里 char 字符数组一样 char str[64]; maxLen255 哈哈最多有255个字符多了我认为你是错误 varchar…...
大话 JavaScript(Speaking JavaScript):第二十一章到第二十五章
第二十一章:数学 原文:21. Math 译者:飞龙 协议:CC BY-NC-SA 4.0 Math对象用作多个数学函数的命名空间。本章提供了一个概述。 数学属性 Math的属性如下: Math.E 欧拉常数(e) Math.LN2 2 …...
ICMP协议
ICMP协议是网络层协议, 利用ICMP协议可以实现网络中监听服务和拒绝服务,如 ICMP重定向的攻击。 一、ICMP基本概念 1、ICMP协议 ICMP是Internet控制报文协议,用于在IP主机、路由器之间传递控制消息,控制消息指网络通不通、主机是…...
环信服务端下载消息文件---菜鸟教程
前言 在服务端,下载消息文件是一个重要的功能。它允许您从服务器端获取并保存聊天消息、文件等数据,以便在本地进行进一步的处理和分析。本指南将指导您完成环信服务端下载消息文件的步骤。 环信服务端下载消息文件是指在环信服务端上,通过调…...
创建型模式 | 建造者模式
一、建造者模式 1、原理 建造者模式又叫生成器模式,是一种对象的构建模式。它可以将复杂对象的建造过程抽象出来,使这个抽象过程的不同实现方法可以构造出不同表现(属性)的对象。创建者模式是一步一步创建一个复杂的对象…...
MVC设计模式
在当今的软件开发领域,MVC(Model-View-Controller)设计模式已经成为了一种广泛使用的架构模式。它为应用程序提供了一种结构化的方法,将数据、用户界面和业务逻辑分开,从而使得应用程序更易于维护、扩展和重用。 一、…...
WSL (2103) ERROR: CreateProcessEntryCommon:493: chdir 错误解决
[TOC](WSL (2103) ERROR: CreateProcessEntryCommon:493: chdir 错误解决) 1. 错误信息 <3>WSL (2103) ERROR: CreateProcessEntryCommon:493: chdir(/mnt/d/Program Files/PowerShell/7) failed 52. 解决方法 wsl --shutdownwslrefer: https://github.com/microsoft/…...
【二、自动化测试】为什么要做自动化测试?哪种项目适合做自动化?
自动化测试是一种软件测试方法,通过编写和使用自动化脚本和工具,以自动执行测试用例并生成结果。 自动化旨在替代手动测试过程,提高测试效率和准确性。 自动化测试可以覆盖多种测试类型,包括功能测试、性能测试、安全测试等&…...
用ChatGPT来造一个ChatGPT:计算机领域智能问答系统实践(2)
在PHP语言中,你可以使用MySQL数据库来存储知识库,并使用PHP来实现系统的逻辑。以下是一个简单的示例: 创建数据库表: 首先,创建一个名为 computer_knowledge 的表来存储计算机知识。可以使用以下SQL语句:…...
Ubuntu开机自动挂载硬盘
前言: 因为我的电脑是WIN10 Ubuntu18.04双系统,且两个系统都装在C盘上,而D盘作为数据和代码存储盘,经常会开机就被访问,例如上一次关机前用VS Code访问D盘代码,然后下一次开机的时候打开VSCode发现打不开…...
vue3基础:单文件组件介绍
介绍 Vue 的单文件组件 (即 *.vue 文件,简称 SFC,全称是single file component) 是一种特殊的文件格式,使我们能够将一个 Vue 组件的模板、逻辑与样式封装在单个文件中。下面是一个单文件组件的示例: <script> export def…...
OCR字符识别:开始批量识别身份证信息
身份证信息批量识别OCR是一项解决方案,它能够将身份证照片打包成zip格式或通过URL地址进行提交,并能够识别照片中的文本信息。最终,用户可以将识别结果生成为excel文件进行下载。 API接口功能: 1. 批量识别:支持将多…...
php多小区智慧物业管理系统源码带文字安装教程
多小区智慧物业管理系统源码带文字安装教程 运行环境 服务器宝塔面板 PHP 7.0 Mysql 5.5及以上版本 Linux Centos7以上 统计分析以小区为单位,统计如下数据:小区总栋数、小区总户数、小区总人数、 小区租户数量、小区每月收费金额统计、小区车位统计、小…...
解决虚拟机的网络图标不见之问题
在WIN11中,启动虚拟机后,发现网络图标不见了,见下图: 1、打开虚拟机终端 输入“sudo server network-manager stop”,停止网络管理器 输入“cd /回车” , 切换到根目录 输入“cd var回车” ,…...
【Spring类路径Bean定义信息扫描】
Spring类路径Bean定义信息扫描 1. ClassPathBeanDefinitionScanner作用2. 类声明3. 属性4. 构造器5. 扫描方法6. 真正扫描方法7. postProcessBeanDefinition8. 注册bean定义 1. ClassPathBeanDefinitionScanner作用 扫描类路径下的类注册为bean定义。2. 类声明 public class …...
Ubuntu上安装VMware+win11系统手册
Ubuntu安装vmware 下载: Linux 版下载地址:https://www.vmware.com/go/getworkstation-linux 安装: sudo chmod x VMware-Workstation-Full-17.5.0-22583795.x86_64.bundle 执行安装命令: sudo ./VMware-Workstation-Full-17.5.0…...
2024年1月12日:清爽无糖rio留下唇齿之间的香甜
友利奈绪的时间管理 2024年1月12日08:02:28进行java程序设计的上课准备 2024年1月12日08:02:44知道java的题目有18道 2024年1月12日08:43:07随机数去重比较 2024年1月12日08:54:03C语言题目最小公倍数 2024年1月12日08:58:37C语言题目二维数组变一维数组 2024年1月12日10…...
群晖Synology Drive同步文件时过滤指定文件夹“dist“, “node_modules“
群晖Synology Drive同步文件时过滤指定文件夹"dist", “node_modules” mac用户 安装Synology Drive创建同步任务修改Synology Drive配置 打开/Users/[用户名]/Library/Application Support/SynologyDrive/data/session/[同步任务序号,第一个同步任务就…...
小程序中滚动字幕
需求:在录像时需要在屏幕上提示字幕,整体匀速向上滚动 html部分: <view class"subtitles_main"><view style"font-size:34rpx;color: #fff;line-height: 60rpx;" animation"{{animation}}">人生的…...
MySQL中约束是什么?
🎉欢迎您来到我的MySQL基础复习专栏 ☆* o(≧▽≦)o *☆哈喽~我是小小恶斯法克🍹 ✨博客主页:小小恶斯法克的博客 🎈该系列文章专栏:重拾MySQL 🍹文章作者技术和水平很有限,如果文中出现错误&am…...
魔百和CM211-1机顶盒s905l3b芯片刷机实战:从安卓到Armbian全流程解析
1. 魔百和CM211-1机顶盒硬件拆解 先来看看这台设备的硬件底子。拆开CM211-1的黑色外壳,最显眼的就是那块s905l3b芯片——这是整个刷机过程的灵魂所在。这个四核Cortex-A53架构的处理器,主频能跑到1.8GHz,配上Mali-G31 MP2 GPU,性能…...
Screencast-Keys故障速查:按键显示功能的3大场景化一站式实战解决方案
Screencast-Keys故障速查:按键显示功能的3大场景化一站式实战解决方案 【免费下载链接】Screencast-Keys Blender Add-on: Screencast Keys 项目地址: https://gitcode.com/gh_mirrors/sc/Screencast-Keys Screencast-Keys是Blender的一款实用插件࿰…...
iStoreOS软路由结合Cpolar内网穿透:打造稳定高效的居家远程办公网络
1. 为什么你需要iStoreOS软路由Cpolar组合? 最近两年远程办公越来越普遍,但很多朋友都遇到过这样的困扰:公司电脑里的文件急着要用,跑回办公室又太麻烦;出差在外需要调取内网资料,VPN连接却卡成幻灯片。我自…...
窗口调整工具:突破限制的窗口大小修改与窗口管理解决方案
窗口调整工具:突破限制的窗口大小修改与窗口管理解决方案 【免费下载链接】WindowResizer 一个可以强制调整应用程序窗口大小的工具 项目地址: https://gitcode.com/gh_mirrors/wi/WindowResizer 在日常电脑使用中,窗口调整工具是提升工作效率的重…...
免费解锁百度网盘SVIP特权:Mac用户终极提速方案
免费解锁百度网盘SVIP特权:Mac用户终极提速方案 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘Mac版的龟速下载而烦恼吗&am…...
springboot-vue+nodejs 的酒店客房预定管理系统的设计与实现
目录技术栈选择系统模块划分后端实现前端实现中间层实现数据库设计支付集成测试与部署项目技术支持源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作技术栈选择 Spring Boot 作为后端框架,提供 RESTful API 接口;Vue.…...
ETS5保姆级教程:从零配置KNX智能开关,实现灯光、窗帘、场景联动
ETS5保姆级教程:从零配置KNX智能开关,实现灯光、窗帘、场景联动 KNX作为智能家居领域的国际标准协议,以其稳定性和灵活性备受推崇。而ETS5则是配置KNX系统的核心工具,掌握它意味着你能够自由定制属于自己的智能家居方案。本教程将…...
告别单调按钮:用ImageButton和StateListDrawable打造高交互感的Android应用图标按钮
从静态到动态:用StateListDrawable构建专业级交互按钮系统 在移动应用界面设计中,按钮是最基础却最关键的交互元素之一。一个优秀的按钮设计不仅需要视觉上的吸引力,更需要通过细腻的状态反馈来建立用户与应用的对话机制。传统静态按钮早已无…...
开箱即用!mPLUG-Owl3-2B镜像快速部署,纯本地保护隐私的AI对话工具
开箱即用!mPLUG-Owl3-2B镜像快速部署,纯本地保护隐私的AI对话工具 1. 为什么选择这个工具:隐私与效率的完美平衡 在当今AI应用遍地开花的时代,找到一个既保护隐私又易于使用的多模态工具并不容易。mPLUG-Owl3-2B镜像正是为解决这…...
使用Dify快速搭建CasRel模型应用:无需编码的AI工作流
使用Dify快速搭建CasRel模型应用:无需编码的AI工作流 你是不是也遇到过这样的场景?手里有一堆非结构化的文本数据,比如产品说明书、新闻稿或者客服对话记录,想从中自动找出“谁对谁做了什么”这类关系信息。传统方法要么需要写复…...
