#常见的数据类型
/*
数值型;
整形
浮点型
字符型;
较短的文本char varchar
较长的文本text blob(较长的二进制)
日期型
*/
#一 整形
/*
分类;
tinyint smallint mediumint int bigint
1 2 3 4 8
特点;
① 如果不设置无符号和有符号 默认是有符号 如果设置无符号 要设置关键字 unsignued
② 如果超出了设置范围,会报 out of range异常 ,并插入临界值
③ 如果不设置长度 会有默认的长度
④ 长度代表的意思为显示的最大宽度 如果不够会用0在左面填充 但必须用zerofill使用;
*/
#1.如何设置无符号和有符号
DROP TABLE IF EXISTS tab_int;
CREATE TABLE tab_int(
t1 INT,
t2 INT UNSIGNED
);
INSERT INTO tab_int VALUES(123456);
#二 小数
/*
分类
浮点型
doublc(m,d)
float(m,d)
定点型
dec(m,d)
decimal(m,d)
特点
① M和D M代表整数部位 + 小数部位 D代表小数部位
② m和d 都可以省略 如果是decimal M默认为10 D默认为0
原则 我们选的类型越简单越好
*/
#三 字符型
/*
较短的文本;
char
varchar
较长的文本
text
blob()
*/
#四 日期型
/*
分类
date 只保存日期
time 只保存时间
year 只保存年
datetime 保存日期加时间
timestamp 保存日期加时间
*/
CREATE TABLE tab_date (
t1 DATETIME,
t2 TIMESTAMP
);
INSERT INTO tab_date VALUES(NOW(),NOW());
SELECT * FROM tab_date;
#常见约束
/*
含义 一种限制 限制表中的数据 为了保证表中的数据的准确和可靠性
分类 六大约束
not null 非空约束,用于保证该字段的值不能为空 比如姓名/学号 等
default 默认 用于保证该字段有默认值 比如性别
primary key 主键 用于保证该字段具有唯一性切非空 比如学号 编号等
unique 唯一约束 保证该字段具有唯一性 可以为空 比如座位号
check 检查约束 【mysql不支持】
foreign key 外键 用于限制两个表的关系 用于保证该字段的值必须来自主表的关联列的值
在从表添加约束 用于引用主表中某列的值 比如专业编号 部门编号 工种编号