数据库字段属性及如何建表

Posted xd-study

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库字段属性及如何建表相关的知识,希望对你有一定的参考价值。

2.3、数据库的字段属性(重点)

Unsigned:

  • 无符号的整数
  • 声明了该列不能为负数

zerofill:

  • 0填充的
  • 不足的位数,使用0来填充,int(3) ,5 ---005

自增:

  • 通常理解为自增,自动在上一条记录的基础上+1(默认)
  • 通常用来设计唯一的主键~ index,必须是整数类型
  • 可以自定义设计主键自增的起始值和步长

非空 : NULL not null

  • 假设设置为not null ,如果不给它赋值,就会报错!
  • NULL,如果不填写值,默认就是null!

默认:

  • 设置默认值!
  • sex,默认值为男,如果不指定该列的值,则为默认值

拓展

/*  每一个表都必须存在以下5个字段
   id   主键
   version	乐观锁
   is_delete	伪删除
   gmt_create	创建时间
   gmt_update   修改时间
*/

2.4、创建数据库表

-- AUTO INCREMENT 自增
-- 字符串使用单引号括起来!
-- 所有的语句后面加,(英文的),最后一个不用加
-- PRIMARY KEY主键,一般一个表只有一个唯一.的主键! 
DROP TABLE student
CREATE TABLE IF NOT EXISTS `student`(
`id` INT(4) NOT NULL AUTO_INCREMENT COMMENT  ‘学号‘,
`name` VARCHAR(30) NOT NULL DEFAULT  ‘无名氏‘ COMMENT  ‘姓名‘,
`pwd` VARCHAR(20) NOT NULL DEFAULT ‘123456‘ COMMENT ‘密码‘,
`sex` VARCHAR(3) NOT NULL DEFAULT ‘男‘ COMMENT  ‘性别‘,
`birthday` DATETIME DEFAULT NULL COMMENT  ‘出生日期‘,
`adress` VARCHAR(20) DEFAULT NULL COMMENT  ‘家庭住址‘,
`email` VARCHAR(20) DEFAULT NULL COMMENT ‘邮箱‘,
PRIMARY KEY (`id`) 	
)ENGINE INNODB DEFAULT CHARSET utf8;
COMMIT;

? 格式:

CREATE TABLE [IF NOT EXISTS] `表名`(
	`字段名` 类型 [属性] [索引] [注释],
    `字段名` 类型 [属性] [索引] [注释],
    .....
    `字段名` 类型 [属性] [索引] [注释],
    `字段名` 类型 [属性] [索引] [注释]
)[表类型][字符集设置][注释];

以上是关于数据库字段属性及如何建表的主要内容,如果未能解决你的问题,请参考以下文章

MybatisPlus 多数据源自动建表、级联查询、自动填充.......

sql server建表时怎么设置ID字段自增

[转]SQLite支持字段类型及建表

hive_建表及导入数据

MySQL的字段属性+SQLyog查看建表语句

数据库建表规约,索引创建及失效分析