y2学年做的租房网站,猎头网招聘,南昌公路建设有限公司网站,ui网页设计成都培训#x1f345; 作者主页#xff1a;不吃西红柿
#x1f345; 简介#xff1a;CSDN博客专家#x1f3c6;、信息技术智库公号作者✌简历模板、PPT模板、技术资料尽管【关注】私聊我。
#x1f345; 欢迎点赞 #x1f44d; 收藏 ⭐留言 #x1f4dd; 历史文章目录#… 作者主页不吃西红柿 简介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。-128127 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 定义列为自增属性一般用于主键数值会自动加1unique 唯一索引(数据不能重复:用户名)可以增加查询速度,但是会降低插入和更新速度
三、MySQL的运算符
算术运算符: 、 -、 *、 /、 %比较运算符: 、 、 、 、 、!数据库特有的比较: in、not in、is null、is not null、like、between、and逻辑运算符: and、or、notlike: 支持特殊符号%和_ ;
其中%表示任意数量的任意字符_表示任意一位字符
四、主键
1、表中每一行都应该有可以唯一标识自己的一列用于记录两条记录不能重复任意两行都不具有相同的主键值
2、应该总是定义主键 虽然并不总是都需要主键但大多数数据库设计人员都应保证他们创建的每个表具有一个主 键以便于以后的数据操纵和管理。
要求
记录一旦插入到表中主键最好不要再修改不允许NULL不在主键列中使用可能会更改的值。
(例如如果使用一个名字作为主键以标识某个供应商当该供应商合并和更改其名字时必须更改这个主键。)
自增整数类型:数据库会在插入数据时自动为每一条记录分配一个自增整数这样我们就完全不用担心主键重复也不用自己预先生成主键可以使用多个列作为联合主键但联合主键并不常用。使用多列作为主键时所有列值的组合必须是唯一的