mysql基础数据类型118-124#常见的数据类型
/*
数值型:
整形
小数:
定点数
浮点数
字符型:
较短的文本:char、varchar
较长的文本:text、blob(较长的二进制数据)
日期型:
*/
#一、整形
/*
分类:
tinyint、smallint、mediumint、int/integer、bigint
12348
特点:
-如果不设置无符号还是有符号,默认是有符号,如果想设置无符号,需要添加unsigned关键字
-如果插入的数值超出了整形的范围 , 会报out of range异常 , 并且插入临界值
-如果不设置长度,会有默认的长度
-长度代表了显示的最大宽度 , 如果不够会用0在左边填充,但是必须搭配zerofill使用
*/
#1.如何设置无符号和有符号
CREATE TABLE tab_int(
t1 INT
t2 INT ZEROFILL【无符号】
);
#二、小数
/*
浮点型
float(M, D)
double(M, D)
定点型
dec(M, D)
decimal(M, D)
特点:
-M:整数部位+小数部位
-D:小数部位
-M和D都可以省略
如果是decimal , 则M默认为10,D默认为0
如果是float和double , 则会根据插入的数值的精度来决定精度
定点型的精确度较高,如果要求插入数值的精度较高如货币运算等则考虑使用
*/
CREATE TABLE tab_float (
f1 FLOAT(5, 2)
f2 DOUBLE (5, 2)
f3 DECIMAL(5, 2)
)
#原则:
/*
所选择的类型越简单越好 , 能保存数值的类型越小越好
*/
#三、字符型
/*
较短的文本:
char
varchar
较长的文本:
text
blob(较大的二进制)
特点:
写法M的意思特点空间的耗费效率
charchar(M)最大的字符数,可以省略固定长度的字符比较耗费高
varcharcarchar(M)最大的字符数,不可以省略可变长度的字符比较节省低
*/
CREATE TABLE tab_char(
c1 ENUM('a','b','c')
)
【mysql座位号怎么填写 mysql位数】CREATE TABLE tab_set(
s1SET ('a','b','c','d')
)
#四、日期型
特点:
字节范围时区等的影响
datetime810000-9999不受
timestamp41970-2038受
CREATE TABLE tab_date(
t1DATETIME,
t2TIMESTAMP
)
#常见约束
/*
含义:一种限制 , 用于限制表中的数据,为了保证表中的数据的准确和可靠性
分类:六大约束
NOT NULL:非空,用于保证该字段的值不能为空,比如姓名、学号等
default:默认,用于保证该字段有默认值,比如性别
primary key:主键,用于保证该字段的值具有唯一性,并且非空 , 比如学号等
unique:唯一,用于保证该字段的值具有唯一性,可以为空,比如座位号
check:检查约束【mysql中不支持】,比如年龄、性别
foreign key:外键,用于限制两个表的关系,用于保证该字段的值必须来自于主表的关联列的值,在从表添加外键约束,用于引用主表中某列的值,比如员工表的部门编号,员工表的工种编号
添加约束的时机:
1.创建表时
2.修改表时
约束的添加分类:
列级约束:
六大约束语法上都支持,但外键约束没有效果
表级约束:
除了非空、默认,其他的都支持
*/
CREATE TABLE 表名(
字段名字段类型列级约束,
表级约束
)
#一、创建表时添加约束
/*
语法:
直接在字段名和类型后面追加 约束类型即可
推荐阅读
- cpu占用满了是因为什么,cpu占满了
- postgresql创建联合索引吗,oracle联合索引创建
- 怎么查固态硬盘的功率,怎么查固态硬盘的功率多大
- vb.net冒号= vb中冒号的用法
- 电脑怎么管理手机应用权限,电脑的手机管理软件
- 老河口购票小程序怎么退票,老河口火车站买票电话
- go语言打印函数 go语言printf
- 直播为什么赚钱吗,为什么开直播就能赚钱呢
- mysql中切割某个字段,mysql切片