MySQL数据库常见信息种类及约束条件

数值型:体重,身高,成绩,工资等

类型 大小 范围(有符号) 范围(无符号) 用途
tinyint 1字节 -128~127 0~255 微小整数
smallint 2字节 -32768~32767 0~65535 小整数
mediumint 3字节 -2^23~2^23-1 0~2^24-1 中整数
int 4字节 -2^31~2^31-1 0~2^32-1 大整数
bigint 8字节 -2^63~263-1 0~2^64-1 极大整数
float 4字节     单精度浮点
double 8字节     双精度
decimal decimal(M,D),其中M为有效数位,D为小数位,M>D,占用M+2字节
unsigned 无符号存储范围
mysql>create table db1.t1(id int unsigned,pay float(7,2));
#创建表t1,字段为id 类型为int 无符号,字段pay 类型为浮点 数位为7,整数位5,小数位2

字符型:姓名,工作单位,通信住址

定长:char(字符数) 变长:varchar(字符数) 大文本类型:text/blob
最大长度255字符 根据实际分配存储空间 字符数大于65535时使用
不够时在右边空格补齐 字符超出,不能写入  
字符超出无法写入数据    
mysql>create table db1.t2(name char(50));

枚举型:兴趣爱好,性别

给定集合选择单个值,enum 给定值选择多个值,set
格式:enum(值1,值2,值N...) 格式:set(值1,值2,值N)
mysql>create table db3.t3(
    -> sex enum("male","female"),
    -> interest set("book","film","music","football","running")
    -> );

日期时间型:出生日期,注册时间

datatime timestamp date year time
8字节 4字节 4字节 1字节 3字节

1000-01-01 00:00:00.000000~

9999-12-31 00:00:00.000000

1970-01-01 00:00:00.000000~

2038-01-19 03:14:07.999999

0001.01.01~9999.12.31 1901~2155 hh:mm:ss
默认值为NULL 未赋值,以当前系统时间赋值  

默认4位数,如果两位,01~69 2001~2069,70~99 1970,1999

 
时间函数
类型 用途 类型 用途
now() 当前日期和时间 curdate() 获取当前日期
year() 指定时间中的年份 curtime() 获取当前的时刻
day() 指定时间中的日期 month() 获取指定时间的月份
sleep(N) 休眠N秒 date() 日期
    time() 时刻
mysql>select date(now()),curdate();

约束条件

null 允许为空,默认设置
not null 不允许为空
key 索引类型
default 设置默认值,缺省为null
mysql>create table db1.t5(id char(6) not null,name varchar(5) not null,index(id),index(name));
键值类型key
index 普通索引 可以有多个字段,字段值允许重复,把经常查询字段设置为索引,key标志是mul
unique唯一索引  
fulltext全文索引  
primary key主键 只能有一个字段/表,不允许重复和空值,复合主键需一起创建,标志是pri,与auto_increment连用,把唯一标识的字段设置为主键【记录编号字段】
foreign key外键 存储引擎必须为innodb,字段类型一致,被参照字段必须为索引类型的一种(pri)
扫描二维码关注公众号,回复: 4767827 查看本文章

猜你喜欢

转载自blog.csdn.net/weixin_43800781/article/details/85012088