数据库字段属性

UnSigned

  • 无符号的

  • 声明该数据列不允许负数 .

ZEROFILL

  • 0 填充的

  • 不足位数的用 0 来填充 , 如 int(3),5 则为 005

Auto_InCrement

  • 自动增长的 , 每添加一条数据 , 自动在上一个记录数上加 1(默认)

  • 通常用于设置主键 , 且为整数类型

  • 可定义起始值和步长

    • 当前表设置步长 (AUTO_INCREMENT=100) : 只影响当前表
    • SET @@auto_increment_increment=5 ; 影响所有使用自增的表 (全局)

NULL 和 NOT NULL

  • 默认为 NULL , 即没有插入该列的数值

  • 如果设置为 NOT NULL , 则该列必须有值

DEFAULT

  • 默认的

  • 用于设置默认值

  • 例如, 性别字段, 默认为 "男" , 否则为 “女” ; 若无指定该列的值 , 则默认值为 "男" 的值


数据库表类型

  • 适用 MyISAM : 节约空间及相应速度

  • 适用 InnoDB : 安全性 , 事务处理及多用户操作数据表


修改数据库

修改字段 :

  • ALTER TABLE 表名 MODIFY 字段名 列类型 [属性]

  • ALTER TABLE 表名 CHANGE 旧字段名 新字段名 列属性 [属性]

删除字段 : ALTER TABLE 表名 DROP 字段名

删除数据表

语法:DROP TABLE [IF EXISTS] 表名

  • IF EXISTS 为可选 , 判断是否存在该数据表

  • 如删除不存在的数据表会抛出错误

1. 可用反引号(`)为标识符(库名、表名、字段名、索引、别名)包裹,以避免与关键字重名!中文也可以作为标识符! 2. 每个库目录存在一个保存当前数据库的选项文件db.opt。 3. 注释: 单行注释 # 注释内容 多行注释 /* 注释内容 */ 单行注释 -- 注释内容 (标准SQL注释风格,要求双破折号后加一空格符(空格、TAB、换行等)) 4. 模式通配符: _ 任意单个字符 % 任意多个字符,甚至包括零字符 单引号需要进行转义 \‘ 5. CMD命令行内的语句结束符可以为 ";", "\G", "\g",仅影响显示结果。其他地方还是用分号结束。delimiter 可修改当前对话的语句结束符。 6. SQL对大小写不敏感 (关键字) 7. 清除已有语句:\c

外键

外键概念 FOREIGN KEY

如果公共关键字在一个关系中是主关键字,那么这个公共关键字被称为另一个关系的外键。由此可见,外键表示了两个关系之间的相关联系。以另一个关系的外键作主关键字的表被称为主表,具有此外键的表被称为主表的从表

在实际操作中,将一个表的值放入第二个表来表示关联,所使用的值是第一个表的主键值 (在必要时可包括复合主键值)。此时,第二个表中保存这些值的属性称为外键 (foreign key)。

外键作用

保持数据一致性完整性,主要目的是控制存储在外键表中的数据, 约束。使两张表形成关联,外键只能引用外表中的列的值或使用空值。

注意 : 删除具有主外键关系的表时 , 要先删子表 , 后删主表

数据库字段属性

上一篇:打包时TestNg报错 SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".


下一篇:动态规划DP