5.一文搞懂MySQL的数据类型

🍅 作者主页:不吃西红柿

🍅 简介:CSDN博客专家🏆、信息技术智库公号作者✌简历模板、PPT模板、技术资料尽管【关注】私聊我。

🍅 欢迎点赞 👍 收藏 ⭐留言 📝  历史文章目录:https://t.1yb.co/zHJo

一.MySQL的数据类型

数据类型是定义列中可以存储什么类型的数据以及该数据实际怎样存储的基本规则数据类型限制存储在数据列列中的数据。例如,数值数据类型列只能接受数值类型的的数据在设计表时,应该特别重视所用的数据类型。使用错误的数据类型可能会严重地影响应用程序的功能和性能。

更改包含数据的列不是一件小事(而且这样做可能会导致数据丢失)。

数据类型: 整型、浮点型、字符串、日期等

1、字符串数据类型

最常用的数据类型是串数据类型。它们存储串,如名字、地址、电 话号码、邮政编码等。 不管使用何种形式的串数据类型,串值都必须括在引号内 有两种基本的串类型,分别为定长串和变长串

定长串:char

1. 接受长度固定的字符串,其长度是在创建表时指定的。 定长列不允许存储多于指定长度字符的数据。

2. 指定长度后,就会分配固定的存储空间用于存放数据 char(7) 不管实际插入多少字符,它都会占用7个字符位置

变长串 varchar

存储可变长度的字符串 varchar(7) 如果实际插入4个字符, 那么它只占4个字符位置,当然插入的数据长度不能超过7个字符。

注意

既然变长数据类型这样灵活,为什么还要使用定长数据类型? 回答:因为性能,MySQL处理定长列远比处理变长列快得多。

Text 变长文本类型存储

2、数值类型

数值数据类型存储数值。MySQL支持多种数值数据类型,每种存储的数值具有不同的取值范围。支持的取值范围越大,所需存储空间越多

与字符串不一样,数值不应该括在引号内

 decimal(5, 2) 表示数值总共5位, 小数占2位 tinyint 1字节(8位) 0-255。-128,127 int 4字节。 -21亿,21亿。0-42亿 float.

MySQL中没有专门存储货币的数据类型,一般情况下使用DECIMAL(8, 2)

有符号或无符号

所有数值数据类型(除BIT和BOOLEAN外)都可以有符号或无符号

  • 有符号数值列可以存储正或负的数值
  • 无符号数值列只能存储正数。
  • 默认情况为有符号,但如果你知道自己不需要存储负值,可以使用UNSIGNED关键字

注意

如果将邮政编码类似于01234存储为数值类型,则保存的将是数值1234,此时需要使用字符串类型 手机号应该用什么进行存储呢?

3、日期和时间类型

MySQL使用专门的数据类型来存储日期和时间值

   

 datetime 8字节1000-01-01 00:00:00 ~ 9999-12-31 23:59:59

4、二进制数据类型

二进制数据类型可存储任何数据(甚至包括二进制信息),如图像、多媒体、字处理文档等

二、表的字段约束

  • unsigned 无符号(给数值类型使用,表示为正数,不写可以表示正负数都可以) 字段类型后面加括号限制宽度
  • char(5). varchar(7) 在字符类型后面加限制 表示 字符串的长度
  • int(4) 没有意义,默认无符号的int为int(11),有符号的int(10)
  • int(4) unsigned zerofill只有当给int类型设置有前导零时,设置int的宽度才有意义。
  • not null 不能为空,在操作数据库时如果输入该字段的数据为NULL ,就会报错 default 设置默认值
  • primary key 主键不能为空,且唯一.一般和自动递增一起配合使用。 auto_increment 定义列为自增属性,一般用于主键,数值会自动加1
  • unique 唯一索引(数据不能重复:用户名)可以增加查询速度,但是会降低插入和更新速度

三、MySQL的运算符

  • 算术运算符: +、 -、 *、 /、 %
  • 比较运算符: =、 >、 <、 >=、 <=、!=
  • 数据库特有的比较: in、not in、is null、is not null、like、between、and
  • 逻辑运算符: and、or、not
  • like: 支持特殊符号%和_ ;

其中%表示任意数量的任意字符,_表示任意一位字符

四、主键

1、表中每一行都应该有可以唯一标识自己的一列,用于记录两条记录不能重复,任意两行都不具有相同的主键值

2、应该总是定义主键 虽然并不总是都需要主键,但大多数数据库设计人员都应保证他们创建的每个表具有一个主 键,以便于以后的数据操纵和管理。

要求

  • 记录一旦插入到表中,主键最好不要再修改
  • 不允许NULL
  • 不在主键列中使用可能会更改的值。

(例如,如果使用一个名字作为主键以标识某个供应商,当该供应商合并和更改其名字时,必须更改这个主键。)

  • 自增整数类型:数据库会在插入数据时自动为每一条记录分配一个自增整数,这样我们就完全不用担心主键重复,也不用自己预先生成主键
  • 可以使用多个列作为联合主键,但联合主键并不常用。使用多列作为主键时,所有列值的组合必须是唯一的

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/494621.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

用busybox制作并配置根文件系统

http://blog.chinaunix.net/uid-26758020-id-3208951.html一、根文件系统和busybox1&#xff09; 在&#xff5e;目录下&#xff0c;创建一个rootfs目录&#xff0c;将其制作为nfs&#xff0c;目录结构如下&#xff08;写一个脚本script.sh&#xff09;&#xff1a;mkdir bin d…

中国机器人产业发展报告(2018)正式发布!

来源&#xff1a;机器人创新生态摘要&#xff1a;2018年8月16日&#xff0c;《中国机器人产业发展报告&#xff08;2018&#xff09;》于2018世界机器人大会主论坛上正式发布&#xff0c;该报告为工信部2016-2018年专项《建立我国机器人团体标准体系与产业信息资源库》的阶段性…

❤️ 给你的Linux把把脉(内存、磁盘、CPU、网络)❤️

&#x1f345; 作者主页&#xff1a;不吃西红柿 &#x1f345; 简介&#xff1a;CSDN博客专家&#x1f3c6;、信息技术智库公号作者✌。简历模板、职场PPT模板、技术难题交流、面试套路尽管【关注】私聊我。 今日重点&#xff1a; ① 学会查看linux各种状态&#xff0c;包括&a…

团结就是力量,TeamCola浅谈创业团队腾云驾雾的归国征程

记得网上曾流传过这样一句话&#xff1a;“不怕神一样的对手&#xff0c;就怕猪一样的队友”&#xff0c;相信看过的人都会心一笑&#xff0c;明白与优秀的搭档默契地合作有多重要。“你需要信任你伙伴的能力和责任心&#xff0c;而信任的基础则是开放和透明——在一个扁平而高…

6.MySQL数据库与数据表操作

数据库的操作&#xff1a;数据库创建 &#xff1b;数据库删除 数据表的操作&#xff1a;数据表的创建&#xff1b;数据表的修改 (表结构) &#xff1b;数据表的删除 数据库的操作 1.数据库的创建 # 链接mysql数据库后&#xff0c;进入mysql后可以操作数据 # 1. 创建库 cre…

知识图谱的前世今生:为什么我们需要知识图谱?

来源&#xff1a;SimmerChan&#xff08;知乎&#xff09;编辑&#xff1a;Debra摘要&#xff1a;本文主要分为三个部分。第一个部分介绍我们为什么需要知识图谱&#xff0c;第二个部分介绍知识图谱的相关概念及其形式化表示。最后&#xff0c;作一个简单的总结&#xff0c;并介…

7.Mysql数据库表引擎与字符集

7.Mysql数据库表引擎与字符集 1.服务器处理客户端请求 其实不论客户端进程和服务器进程是采用哪种方式进行通信&#xff0c;最后实现的效果都是&#xff1a;客户端进程向服务器进程发送 一段文本&#xff08;MySQL语句&#xff09;&#xff0c;服务器进程处理后再向客户端进…

EL表达式学习记录

1&#xff0c;学习例子 < %request.getParameter(“username”)% > 等价于 ${ param.username }&#xff1a;前边是&#xff2a;&#xff33;&#xff30;表达式。&#xff25;&#xff2c;表达式中的&#xff02;&#xff0e;&#xff02;后面的只是字符串&#xff0c;并…

大数据+人工智能正以八种方式撼动商界

来源&#xff1a; 数据观摘要&#xff1a;如果你想帮助你的企业实现更多&#xff0c;那么拥抱大数据和人工智能就很有必要了。事实上&#xff0c;那些没能接受这些新兴技术的企业&#xff0c;用不了多久就会逐渐消失在时代发展的长河中。大数据、人工智能正成为技术界的热点&am…

android 自定义 radiobutton 文字颜色随选中状态而改变

from:http://blog.csdn.net/hpccn/article/details/7591662先看效果主要是写一个 color selector 在res/建一个文件夹取名color res/color/color_radiobutton.xml [html] view plaincopy <?xml version"1.0" encoding"utf-8"?> <selector xml…

8.MySQL 数据操作 DML

8.MySQL 数据操作 DML 数据的DML操作&#xff1a;添加数据&#xff0c;修改数据&#xff0c;删除数据 添加数据 格式&#xff1a; insert into 表名[(字段列表)] values(值列表...); --标准添加&#xff08;指定所有字段&#xff0c;给定所有的值&#xff09; mysql> in…

Gartner2018新技术成熟度曲线:五大技术趋势成为新热点

来源&#xff1a;网络大数据近日&#xff0c;Gartner发布了2018年新技术成熟度曲线&#xff0c;首次将Biohacking(生物黑客)列为热点技术趋势&#xff0c;再次引发市场关注。Gartner技术成熟度曲线又称技术循环曲线、光环曲线或者技术炒作周期。是方便企业和CIO们评估新技术成熟…

cntlm代理使用

下载CNTML http://cntlm.sourceforge.net/ 设置用户名密码 打开cntlm.ini文件&#xff0c;在Username,Domain, Password中写入相应的数据。 最后点击cntml.exe开始运行。 设置程序代理 在程序代理中写入127.0.0.1:3128(默认设置)。程序就可以连到外面了。 在公司内使用github只…

9.MySQL数据查询SQL

9.MySQL数据查询SQL 语法格式&#xff1a; select 字段列表|* from 表名 [where 搜索条件] [group by 分组字段 [having 分组条件]] [order by 排序字段 排序规则] [limit 分页参数] 基础查询 # 查询表中所有列 所有数据 select * from users; # 指定字段列表进行查询 …

一文了解物联网主控芯片架构之争

文/Boone来源&#xff1a;中关村在线&#xff0c;智慧产品圈等中兴事件引起了全球的轰动&#xff0c;大家的目光聚集在服务器、计算机、存储底层芯片技术缺乏之上。紫光等国产芯片供应商股票应声上涨。此次事件反应出了我国在芯片及其产业链上较为薄弱&#xff1b;毕竟PC时代&a…

10.Mysql数据库导入导出和授权

10.Mysql数据库导入导出和授权 数据导出 1.数据库数据导出 # 不要进入mysql&#xff0c;然后输入以下命令 导出某个库中的数据 mysqldump -u root -p tlxy > ~/Desktop/code/tlxy.sql 导出一个库中所有数据&#xff0c;会形成一个建表和添加语句组成的sql文件之后可以用这…

nagios 整合 ganglia 设置邮件、短信报警

要学的东西还有很多呢&#xff0c;慢慢来~&#xff01; 环境&#xff1a; 操作系统&#xff1a;ubuntu 10.10 软件&#xff1a;ganglia-monitor 3.1.7-1&#xff0c;gmetad 3.7.1-1&#xff0c;nagios 3.2.1-2 步骤&#xff1a; 1.下载安装nagios&#xff1a;sudo apt-get inst…

AI产业投融资情况回顾、中美科技巨头AI产业投资布局以及领先投资机构AI产业投资布局...

来源&#xff1a;投中研究院编辑&#xff1a;余瑞琦未来智能实验室是人工智能学家与科学院相关机构联合成立的人工智能&#xff0c;互联网和脑科学交叉研究机构。未来智能实验室的主要工作包括&#xff1a;建立AI智能系统智商评测体系&#xff0c;开展世界人工智能智商评测&…

❤️ 2021年9月,程序员薪资公布【前排围观】❤️

&#x1f345; 作者主页&#xff1a;不吃西红柿 &#x1f345; 简介&#xff1a;CSDN博客专家&#x1f3c6;、信息技术智库公号作者✌ 华为云享专家、HDZ核心组成员 &#x1f345; 欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; &#x1f345; 简历模板、PPT模板、…

课题研究的方法

教育课题研究的基本方法主要有以下几种&#xff1a;一、观察法1&#xff0e;观察法&#xff1a;为了了解事实真相&#xff0c;从而发现某种现象的本质和规律。2&#xff0e;观察法的步骤&#xff1a;观察法的实施分为以下三个步骤&#xff0c;步骤之一就是进行观察研究的设计&a…