mysql多字段主键_sql改变列数据类型

mysql多字段主键_sql改变列数据类型MySQL数据类型(1)数值类型1、整数型2、浮点型3、定点型(2)日期时间类型(3)字符串类型MySQL字段属性1、空\不为空值:NULL、NOTNULL2、主键:primarykey3、唯一键:uniquekey4、自增长:auto_increment5、默认值:default6、字段描述:comment数值类型整数类型:tinyint、smallint、mediumint、intege…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

MySQL数据类型

(1)数值类型

1、整数型

2、浮点型

3、定点型

(2)日期时间类型

(3)字符串类型

MySQL字段属性

1、空\不为空值:NULL、NOT NULL

2、主键:primary key

3、唯一键:unique key

4、自增长:auto_increment

5、默认值:default

6、字段描述:comment

数值类型

整数类型:tinyint、smallint、mediumint、integer、bigint

类型

简写

字节大小

singed范围

unsinged范围

备注

整数型

tinyint

1

0~255

-128~127

smallint

2

0~65535

-32768~32767

mediunint

3

0~16777215

-8388608~8388607

integer

int

4

0~4294967295

-2147483648~2147483647

bigint

8

0~264-1

-263~263-1

小数类型:float、double、decimal

float数值类型用于表示单精度浮点数值,而double数值类型用于表示双精度浮点数值,float和double都是浮点型,而decimal是定点型。

浮点型和定点型可以用类型名称后加(M,D)来表示,M表示该值的总共长度,D表示小数点后面的长度,M和D又称为精度和标度。

float和double在不指定精度时,默认会按照实际的精度来显示,而DECIMAL在不指定精度时,默认整数为10,小数为0。

时间日期类型

时间日期类型包括date、time、datetime、timestamp、year

类型

字节大小

范围

格式

用途

date

3

1000-01-01/9999-12-31

YYYY-MM-DD

日期值

time

3

-838:59:59~838:59:59

HH:MM:SS

时间值或持续时间

year

1

1901-2156

YYYY

年份值

datetime

8

1000-01-01 00:00:00/9999-12-31 23:59:59

YYYY-MM-DD HH:MM:SS

混合日期和时间值

timestamp

4

1970-01-01 00:00:00到2038-01-19 03:14:07

YYYY-MM-DD HH:MM:SS

一旦该行记录被修改,那么timestamp会修改成当前时间。

字符串类型

字符串类型包括char、varchar、tinyblob、blob、mediumblob、longblob、tinytext、text、mediumtext、longtext

类型

范围

存储所需字节

说明

char(m)

[0,28-1]

m

最大长度为255,不使用L时默认为1

varchar(m)

[0,216-1]

m

单位为字符,最大长度为65536

timyblob

L+1

blob

L+2

存储二进制数据(少用)

mediumblob

L+3

longblob

L+4

tinytext

L+1

短文本数据

text

L+2

存储文字,当字符大于255时,一般使用text;

mediuntext

L+3

中等长度文本数据

longtext

L+4

极大文本数据

不要轻易的使用最大限度来存储字符串,因为涉及记录长度问题  :

MySQL中规定任何一条数据最长不能超过65535个字节

如果有任何一个字段允许为空,那么系统会自动从整个记录中保存一个字节来存储NULL;

text文本不占用记录长度,额外存储。

UTF8中varchar的最大限度:65535-2(需要两个字节来存储长度)  /3=21844,所以最大字符数为21844

GBK中varchar的最大限度:65535-2(需要两个字节来存储长度) /2=32766

字段属性:

字段属性是字段除数据类型外的属性,一般有空\不为空值、主键、唯一键、自增长、默认值、描述等属性。

空\不为空值:NULL、NOT NULL

字段的数据默认情况下是允许为空的,比如说一条人的信息记录中可以没有邮箱(或许有些人考虑用“空字符串”来代表),我们允许可以不填入数据的字段可以设置为null;但比如说某些必填数据,我们不想填入的时候留空,可以设置这个字段为not null

bcb85bcbf3d752cca14e32c9f7170cc9.png

主键:primary key

主键用于唯一标识每一条记录(每个人都有自己唯一的身份证)

每一张表只能有一个主键。

因为唯一标识,所以主键字段的数据不能为空,并且主键字段的数据值不能重复

主键也是一种索引,可以提高查找速率。

主键的用途:主键的主要用途是用来唯一标识每一条记录,比如我们想将两个表(学生表跟老师表)的多对多关系封装到一个表中,这个抽取的映射字段一般都是各自的主键。c2f278d7bd08a2d7da0847107cc5428f.png;并且由于主键的数据的不可重复性,也用来约束数据的唯一性。

唯一键:unique key

唯一键的功能与主键有点类型,但不同的是主键只能有一个,唯一键可以有多个,而且唯一键的字段的数据允许为空。

唯一键可以约束字段,使得字段的数据不能重复

如果唯一键同时也有not null,并且表中没有主键的话,在desc查看表结构中会显示成主键

如果唯一键也不允许为空,那么功能与主键相同

唯一键的定义方法可以参考主键的。

唯一键的删除:

alter table 表名 drop index 唯一键名; — 唯一键默认使用字段名来定义名字

自增长:auto_increment

自增长的功能是可以使某个字段的数据随着记录的插入而进行增长(不给这个字段插入数据的情况下)

自增长的前提是这个字段必须是一个“索引”,比如主键、唯一键

自增长的前提这个字段的数据类型是一个数值型的,(如果给了float,也不会增长成小数,而仅仅是整数)

一个表只能有一个自增长。

只有不给值,或者给null的情况下,才能正确自增长;如果某一次自增长失败了,那么下一次会从当前字段的最大值开始继续自增长。

自增长的修改:

修改增长速度:set auto_increment = 值;

修改下次增长的值:alter table 表名 auto_increment = 值; 【修改的值只能变大,不能变小,因为可能导致数据重复问题】

自增长的查看:show vairable like “auto_increment%”;

自增长的删除:利用alter来删除,alter修改字段属性的时候如果不带上原来的属性就会被删掉:

默认值:default

默认值的功能是当我们不给一个字段赋值的时候,使用默认值作为数据,比如不选择性别的时候,默认使用“保密”;

字段描述:comment

字段描述是用来描述字段的,能在查看数据表创建语句的时候显示出来(不会再select结果中显示出来),可以帮助我们了解某一个字段的意义。

dca5c9a1ec8fe9e0f118ac44a4c70e49.png

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/193088.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 详解马氏距离中的协方差矩阵计算(超详细)

    详解马氏距离中的协方差矩阵计算(超详细)一、概率统计基本知识1.样本均值样本均值(Mean)是在总体中的样本数据的平均值。2.样本方差方差(Variance)是度量一组数据的离散(波动)程度。方差是各个样本与样本均值的差的平方和的均值,分母除以n-1是为了满足无偏估计:3.样本标准差4.协方差协方差(Covariance)是度量两个变量的变动的同步程度,也就是度量两个变量线性相关性程度。若协方差大于0,表示一个变量增大时另一个变量也会增大,即两个变量呈正相关;若协方差小于0,表示一个变量增大时另一个变量会减小,即两个变量呈负相关

  • 删除链表倒数第n个节点_单向链表删除倒数第n节点

    删除链表倒数第n个节点_单向链表删除倒数第n节点原题链接给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。进阶:你能尝试使用一趟扫描实现吗?示例 1:输入:head = [1,2,3,4,5], n = 2输出:[1,2,3,5]示例 2:输入:head = [1], n = 1输出:[]示例 3:输入:head = [1,2], n = 1输出:[1]提示:链表中结点的数目为 sz1 <= sz <= 300 <= Node.val <= 1001 <= n <= s

  • SqlServer定时备份数据库和定时杀死数据库死锁解决

    SqlServer定时备份数据库和定时杀死数据库死锁解决

  • python标识符在命名时有哪些规则_php标识符的命名规则

    python标识符在命名时有哪些规则_php标识符的命名规则在Python中,一切都是对象,包括常量数据类型,如整数数据类型(1,2,3…),字符串数据类型(“ABC”)。想要使用这些对象,就要使用它的对象引用。赋值操作符,实际上是使得对象引用对内存中存放数据的对象进行引用。那什么是标识符?标识符是对对象引用起的一个名字。有效的Python标识符规则:1.长度任意长;2.标识符不能与关键字同名;3.在2.x版本的Python中,标识符以ASCII的字母…

  • 零基础学Java(6)控制流程「建议收藏」

    零基础学Java(6)控制流程「建议收藏」控制流程与任何程序设计语言一样,Java使用条件语句和循环结构确定控制流程。块作用域我们首先要了解块(block)的概念。块是指由若干条Java语句组成的语句,并用一对大括号括起来。块确定了变

  • 【笔记】嵩天.Python语言程序设计.完成两个简单实例(温度转换和绘图)

    【笔记】嵩天.Python语言程序设计.完成两个简单实例(温度转换和绘图)PyCharm下编写、运行两个实例:温度转换,蟒蛇绘制

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号