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

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

类型大小范围(有符号)范围(无符号)用途
tinyint1字节-128~1270~255微小整数
smallint2字节-32768~327670~65535小整数
mediumint3字节-2^23~2^23-10~2^24-1中整数
int4字节-2^31~2^31-10~2^32-1大整数
bigint8字节-2^63~263-10~2^64-1极大整数
float4字节  单精度浮点
double8字节  双精度
decimaldecimal(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")
    -> );

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

datatimetimestampdateyeartime
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.311901~2155hh: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)

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值