数据库表(字段类型、约束、截断表、修改表字段、重命名表)

13 篇文章 0 订阅

字段类型:

在这里只列举一些常用的字段类型

  • 整数类型:int(Integer):普通大小的整数

  • 小数类型:

    • float(m,d):单精度浮点数,m表示数字长度,d表示小数位数,例如float(5,2)最大值999.99
    • double(m,d):双精度浮点数
  • 日期类型:

    • date:YYYY-MM-DD 1000-01-01 ~ 9999-12-3
    • datetime:YYYY-MM-DD HH:MM:SS 1000-01-01 00:00:00 ~ 9999-12-31 23:59:59
    • timestamp:YYMM-MM-DD HH:MM:SS 1970-01-01 00:00:01 UTC ~ 2038-01-19 03:14:07 UTC
  • 文本、二进制类型

    • CHAR(M):M为0~255之间的整数,长度不可变,保存数据长度不变的数值,比如比如身份证号(18位)、手机号(11位)、UUID(36位)、MD5(32位);
    • VARCHAR(M):M为0~65535之间的整数,长度可变,保存数据长度不一的数值,比如用户名、密码、地址;
    • BLOB(通常用于存储视频、音频等):允许长度0~65535字节
    • TEXT(用于评论等):允许长度0~65535字节
    • LONGTEXT:允许长度0~4294967295字节

约束:

  • MySQL数据库通过约束(constraints)防止无效的数据进入到表中,以保护数据的实体完整性。
  • 约束分为字段级别约束和表级别约束:
    1. 字段级约束:只为单个字段添加约束;
    2. 表级约束:为一个或多个字段添加约束。
  • 常见的约束有:
    1. unique : 数据(不为Null时)不可以重复,但当数据为Null时,可以重复
                      (可以为字段级别和表级别约束);
    2. not null : 指定字段不能为空,(只能定义为字段级约束);
    3. primary key :指定主键,数据不允许重复,也不允许为null;
                      (可以为字段级别,也可以为表级别约束)
    4. foreign key : 指定一个字段或字段组合为一个外键(即外来的主键或唯一键),该键和另一个表的主键或唯一键(MySQL不支持、Oracle支持)建立起一个关系,只能定义为表级约束。
    5. check : 指定列值必须满足check中条件,否则无法进行添加或修改;一个字段可以定义多个check约束。
                      注意:MySQL数据库不支持该约束!
    6. default : 设置默认值
    7. comment : 设置注释
    8. auto-incremenrt:设置表字段自增长,默认从1开始

例子:

create table user_info(
	id char(36) primary key comment '主键',
	user_name varchar(12) unique comment '用户名’,
	password char(32) not null comment '密码',
	sex int(1) default 0 comment '性别'
)

截断表:

#截断表 (效果和delete一样)
truncate table user_info;
commit; #(除了MySQL数据库,在其他数据库里需要提交)

# 而delete无需提交(即自动提交) 
delete from user_info

截断表和drop的区别:
截断表truncate table 表名后,只删除表中的数据,但却不删除表;而drop table 表名后,直接删除表,表中数据也跟着消失。


修改表字段:

#修改表字段:

#删除字段:
alter table user_info drop user_name
#添加字段
alter table user_info add user_name varchar(19)
#修改字段
alter table user_info modify user_name varchar(18)

其中添加字段后面可以加after 字段名,意味添加到某个字段名后面。


重命名表:

rename table Old_name to New_name
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不动声色的小蜗牛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值