mysql 单选字段_mysql字段类型
学习自 https://www.cnblogs.com/jennyyin/p/7895010.html,感谢原博主的奉献
mysql支持多种类型,大致可以分为三类:数值、字符串、日期/时间。
数值类型
类型大小范围(有符号)范围(无符号)用途
tinyint1字节(-128, 127)(0,255)小整数值
smallint2字节(-32768,32768)(0,65535)大整数值
mediumin3字节(-8388608,8388607)(0,16777215)大整数值
int或integer4字节(-2147483648,2147483647)(0,4294967295)大整数值
bigint8字节(-9233372036854775808,9223372036854775807)(0,18446744073709551615)极大整数值
float4字节(-3.402823466E+38,-1.175494351E-38),0,(1.175494351E-38,3.402823466351E+38)0,(1.175494351E-38,3.402823466E+38)单精度浮点数值
double8字节(-1.7976931348623157E+308,-2.2250738585072014E-308),0,(2.2250738585072014E-308,1.7976931348623157E+308)0,(2.2250738585072014E-308,1.7976931348623157E+308)双精度浮点数值
注:使用int时,字段数值范围只与多少字节、有无符号有关。如tingint 数值范围(有符号-128~127、无符号0~255),与int(m)中的m无关。
m表示最大显示宽度,最大有效显示宽度是255.显示宽度与存储大小或类型包含的值的范围无关。
例如m=5我们可以简单的理解成为, 我们建立这个长度是为了告诉MYSQL数据库我们这个字段的存储的数据的宽度为5位数, 当然如果你不是5位数(只要在该类型的存储范围之内)MYSQL也能正常存储。
字符串
字符串类型指char、varchar、binary、varbinary、blob、text、enum和set。
char和varchar:
1.char(n)若存入字符数小于n,则以空格补于其后,查询时再将空格去掉。所以char类型存储的字符串末尾不能有空格,varchar不限于此。
2.char(n)固定长度,char(4)不管是存入几个字符,都将占用4个字节,varchar是存入的实际字符数+1个字节(n<=255)或2个字节(n>255),所以varchar(4),存入3个字符将占用4个字节。
3.char类型的字符串检索速度要比varchar快。
简单的总结来说,mysql中获取字符串长度的有两个函数:
length:返回字符串所占的字符数,是计算字段的长度一个汉字是算三个字符,一个数字或字母算一个字符
char_length:返回字符串所占的字符数,不管汉字还是数字或者是字母都算是一个字符
varchar和text:
1.varchar可指定n,text不能指定,内部存储varchar是存入的实际字符数+1个字节(n<=255)或2个字节(n>255),text是实际字符数+2个字节
2.text类型不能有默认值
3.varchar可直接创建索引,text创建索引要指定前多少个字符。varchar查询速度快于text,在都创建索引的情况下,text的索引似乎不起作用。
enum和set:
1.enum单选字符串类型,设定时需要给定几个选项,存储时只存储其中一个值。设定enum格式:enum('选项1','选项2','选项3',...)。实际上enum的选项都会对应一个数字,依次是1,2,3...,最多有65535个选项。
2.set多选字符串类型,设定时需要给定几个选项,存储时可以存储若干个值。设定set格式:set('选项1','选项2','选项3',...)。set的每个选项也对应一个数字,依次是1,2,4,8,16...,最多有64个选项,使用时可以是选项字符串本身(多个选项用逗号分隔),也可以使用多个选项数字之和(比如:1+2+4=7)
类型
char0-255字节定长字符串
varchar0-65535字节变长字符串
tinyblob0-255字节不超过255个字符的二进制字符串
tinytext0-255字节短文本字符串
blob0-65535字节二进制形式的长文本数据
text0-65535字节长文本数据
mediumblob0-16777215字节二进制形式的中等长度文本数据
mediumtext0-16777215字节中等长度文本数据
longblob0-4294967295字节二进制形式的极大文本数据
longtext0-4294967295字节极大文本数据
日期时间类型
表示时间值的日期和时间类型为datetime、date、timestamp、time和year。
date3字节1000-01-01/9999-12-31yyyy-mm-dd日期值
time3字节'-838:59:59'/'838:59:59'HH:MM:SS时间值或持续时间
year1字节1901/2155YYYY年份值
datetime8字节1000-01-01 00:00:00/9999-12-31 23:59:59YYYY-MM-DD HH:MM:SS混合日期和时间值
timestamp4字节1970-01-01 00:00:00/2038 结束时间2038年YYYYMMDD HHMMSS混合日期和时间值,时间戳
二进制
布尔:bit
bit表示1个二进制位
bit(8)表示8个二进制位
性别可以定义为0,1,而不使用male或female字符串
数据逻辑删除
车在车库的停放状态
所有基于两种状态的数据都可以用0,1来存储
这就是微学网-程序员之家为你提供的"mysql字段类型"希望对你有所帮助.本文来自网络,转载请注明出处:http://www.weixuecn.cn/article/10514.html
相关文章:
ios时间差,以时间格式显示
为什么80%的码农都做不了架构师?>>> NSDate *nowDate [[NSDate alloc]init]; double diffTime [nowDate timeIntervalSinceDate:preDate]; int diffHour diffTime / (60*60); int diffMin ( diffTime - diffHour*(60*60) ) / (60); int diffSec…
深入理解C++中public、protected及private用法
深入理解C中public、protected及private用法 这篇文章主要介绍了C中public、protected及private用法,对于C面向对象程序设计来说是非常重要的概念,需要的朋友可以参考下初学C的朋友经常在类中看到public,protected,private以及它们在继承中表示的一些访问…
v-vim 代码批量缩进,字符串精确查找及替换
vim中代码批量缩进 有如下两种办法,主要依靠>和<字符来进行 缩进的单位通过设置~/.vimrc,添加如下行 set tabstop4 "设定tab宽度为4个字符 set shiftwidth4 "设定自动缩进为4个字符 set expandtab "用space替代tab的输入 set noexpandtab &q…
Codeforces Round #228 (Div. 1)B
进制构造 这里用了十进制 有点像串并联 每一位代表的数分开表示出来再把每一位的数并起来 比如892 就是800902 800又可分为8*10*10。。。 1 #include <iostream>2 #include<cstdio>3 #include<cstring>4 #include<algorithm>5 #include<stdlib.h&g…
javaweb实现mysql备份功能_java web 实现mysql 数据库备份、恢复
如题,由于项目需要,研究并实现了java web的 mysql数据库的备份、下载、恢复功能,中间遇到一些问题,耗费了不少时间,下面让我一一道来:背景介绍:window 7系统mysql 5.7eclipsespring mvctomcat 7…
在windows8 上安装framework 3.5
在电脑上装了windows8 的双系统后,为了装上Windows Live Writer,需要安装framework3.5.在线安装等了很久都装不上,下载的安装包不能用,提示需要framework3.5的支持。死循环啊 。搜索找到离线更新的方法, 离线更新方法&…
C#第一章笔记
第一个C#程序 namespace 是C#中组织代码的方式,它的作用那个类似java中的包 using 在Java中作用如果导入其他包 应该是用import关键字而在C#中应使用using关键字来引用 class关键字 与java一样C#也是一门面向对象的得语言,使用class关键字来表示类 Main&…
linux进程间通信:system V 信号量和共享内存实现进程间同步
关于信号量和共享内存的相关描述已经在前几篇提到过; 信号量:即内核维护的一个正整数,可以使用内核提供的p/v接口进行该正整数的/-操作,它主要用来表示系统中可用资源的个数,协调各个进程有序访问资源,防止…
mysql三次握手_一文彻底搞懂 TCP三次握手、四次挥手过程及原理
原创文章首发于公众号:「码农富哥」,欢迎收藏和关注,如转载请注明出处!TCP 协议简述TCP 提供面向有连接的通信传输,面向有连接是指在传送数据之前必须先建立连接,数据传送完成后要释放连接。无论哪一方向另…
【转】常见系统中文字体的英文名
http://www.aoao.org.cn/blog/2008/03/fonts-chinese/ http://www.yale.edu/chinesemac/pages/fonts.html Mac OS的一些: 华文细黑:STHeiti Light [STXihei]华文黑体:STHeiti华文楷体:STKaiti华文宋体:STSong华文仿宋&…
手动新增swap分区
1、建立1G的交换分区(填充) #dd if /dev/zore of /opt/swapfile bs1M count1024 2、设置交换分区文件 #mkswap /opt/swapfile 3、立即启用交换分区文件 #swapon /opt/swapfile 4、系统开机时自动挂载新分区 #vim /etc/fstab 末尾添加:/opt…
js捕获和冒泡
面向对象: 1.单例模式 2.工厂模式 3.构造函数 (1,2,3的目的都是生成对象) js天生自带的类 object(基类) 子类:function(函数) array(数组&…
linux进程间通信:system V 信号量 生产者和消费者模型编程案例
生产者和消费者模型: 有若干个缓冲区,生产者不断向里填数据,消费者不断从中取数据两者不冲突的前提: 缓冲区有若干个,且是固定大小,生产者和消费者各有若干个生产者向缓冲区中填数据前需要判断缓冲区是否满…
mysql类exadata功能_几类关系型数据库的数据解决方案
今天聊下几类关系型数据库的数据解决方案,算是抛砖引玉,近期也要对技术方向上做一些扩展,也算是前期的小结吧。13Oracle目前市面上的主流版本应该还是11gR2,记得很多年前有个网站做过一次调查,10g,11g的版本比例差不多…
ZOJ 2723 Semi-Prime ||ZOJ 2060 Fibonacci Again 水水水!
两题水题: 1.如果一个数能被分解为两个素数的乘积,则称为Semi-Prime,给你一个数,让你判断是不是Semi-Prime数。 2.定义F(0) 7, F(1) 11, F(n) F(n-1) F(n-2) (n>2) 让你判断第n项是否能被3整除。 1.ZOJ 2723 Semi-Prime ht…
Lua中的基本函数库
基本函数库为Lua内置的函数库,不需要额外装载assert (v [, message])功能:相当于C的断言,参数:v:当表达式v为nil或false将触发错误,message:发生错误时返回的信息,默认为"assertion failed…
Oracle中的substr()函数 详解及应用
1)substr函数格式 (俗称:字符截取函数) 格式1: substr(string string, int a, int b); 格式2:substr(string string, int a) ; 解释: 格式1: 1、string 需要截取的字符串 2、a 截取字符串…
linux进程间通信:POSIX 消息队列
文章目录基本介绍相关编程接口编程实例消息队列通信实例消息队列属性设置实例基本介绍 关于消息队列的基本介绍,前面在学习system V的消息队列时已经有过了解,linux进程间通信:system V消息队列 支持不同进程之间以消息(message…
opencv 修改图像数值_opencv 修改图像数值_Python中使用OpenCV读取像素
如何在Python中遍历像素呢?请看代码:import numpy as npimport cv2import matplotlib.pyplot as pltsrc cv2.imread("src.png")gray cv2.cvtColor(src, cv2.COLOR_RGB2GRAY)rows, cols gray.shape[:2]row gray[200]plt.plot(row)# plt.sho…
SQL中返回一个字符串在另一个中存在的次数
ALTER FUNCTION [reg].[f_GetSameStringCntNoSort] ( str1 VARCHAR(100),--源字符串,取该串中的strLen长度的字符是否在目的字符串 str2 VARCHAR(100) --目的字符串 ) RETURNS INT AS BEGIN -- 返回的长度 DECLARE count INT DECLARE returnValue …
自由软件的自由
我相信我的订阅者中有很多是IT从业人员,我们在工作中会使用各种软件,除了微软、苹果等软件巨头的商业软件,还有更多的自由软件。我们使用这些软件构建自己的工作环境,为公司开发运营系统,为客户实现业务流程࿰…
c/c++ 拷贝控制 构造函数的问题
拷贝控制 构造函数的问题 问题1:下面①处的代码注释掉后,就编译不过,为什么??? 问题2:但是把②处的也注释掉后,编译就过了,为什么??? …
linux进程间通信:POSIX 消息队列 ----异步通信
在上一篇中linux进程间通信:POSIX 消息队列我们知道消息队列中在消息个数达到了队列所能承载的上限,就会发生消息的写阻塞。 阻塞式的通信影响系统效率,进程之间在通信收到阻塞时并不能去做其他事情,而是一直处于阻塞状态。 为了…
【转】Android设计中的.9.png
来源:http://isux.tencent.com/android-ui-9-png.html Android设计中的.9.png 注意:当使用9.png做TextView背景时,一定要设置内容区域(底部和右侧),否则,文字显示不出来。 偶米伽 2013.08.20在A…
python创建scrapy_Python爬虫教程-31-创建 Scrapy 爬虫框架项目
首先说一下,本篇是在 Anaconda 环境下,所以如果没有安装 Anaconda 请先到官网下载安装Scrapy 爬虫框架项目的创建0.打开【cmd】1.进入你要使用的 Anaconda 环境1.环境名可以在【Pycharm】的【Settings】下【Project:】下找到2.使用命令&#…
KOAProgressBar
2019独角兽企业重金招聘Python工程师标准>>> KOAProgressBar 是 iOS 上的一个进度条控件,要求 iOS 5 支持 转载:http://www.adobex.com/ios/source/details/00000866.htm 转载于:https://my.oschina.net/u/868244/blog/106310
linux进程间通信:POSIX信号量
文章目录概念描述编程接口注意事项编程案例信号量基本接口使用案例信号量父子进程间通信信号量实现 两进程之间通信概念描述 英文:semaphore 简称SEM,主要用来进行进程间同步本质:内核维护的一个正整数,可对其进行各种/-操作分类…
指针小白:修改*p与p会对相应的地址的变量产生什么影响?各个变量指针的长度为多少?...
这两天敲代码碰到了一个这样的问题 代码如下: 1 #include <stdio.h>2 #include <stdlib.h>3 int main()4 {5 int num1 10;6 7 int* p&num1;8 *p 20;9 10 printf("%p\n", &num1); 11 printf("%d\…
MVC自带表单效验
废话不说,直接上代码,一看就明白 源地址:http://www.cnblogs.com/sixiangqimeng/p/3561313.html [StringLength(5,ErrorMessage "*长度小于5")][Required(ErrorMessage "*必填啊!")][Required(ErrorMessage…
mysql求每个订单的平均价_MySQL – 选择所有客户和每个客户的总订单和总价值
SELECT a.ID,a.Name,COUNT(b.Customer) totalOrders,SUM(b.value) total_valueFROM Customers aLEFT JOIN Orders bON a.ID b.CustomerGROUP BY a.ID,a.Name要么SELECT a.ID,a.Name,COUNT(b.Customer) totalOrders,COALESCE(SUM(b.value), 0) total_valueFROM Customers aLEFT…