当前位置:网站首页 > 技术博客 > 正文

mysql 数据表设计应注意的事项



数据库实际上就是多个表组成的,表中存储着数据。
数据表也是数据库最重要的组成部分之一,我们绝大多数情况下都是在跟表打交道。
例如从表里查找一些数据,删除表中的某些数据,更新表中的某些数据等等。

数据表由行(row)列(column)组成,是一个二维的网格结构,每个列都是一个字段。
字段由字段名称和字段的
数据类型
以及一些约束条件组成
表中至少要有一列,可以有多行或0行,表名要唯一


本章我们先对数据类型有个简单的认识,大概知道有哪几种数据类型即可,详细的数据类型在下一篇博客再来讲解。

跟编程语言一样,数据库也有不同的数据类型,用于存储不同类型的数据。

  • M 表示整数类型的最大显示宽度。对于浮点和定点类型, M是可以存储的总位数(精度)。对于字符串类型, M是最大长度。允许的最大值M取决于数据类型。
  • D 适用于浮点和定点类型,并指示小数点后面的位数。最大可能值为30,但不应大于 M-2。
  • [ ] 表示类型定义的可选部分。

在MySQL中常用数据类型主要分为以下几类

  1. 数值类型
  2. 字符串类型
  3. 日期时间类型

数值类型分为整数型浮点型定点型

整数型(精确值)

  • TINYINT 非常小的整数
  • SMALLINT 小整数
  • MEDIUMINT 中等大小的整数
  • INT 正常大小的整数
  • BIGINT 大整数

浮点型(近似值)

  • FLOAT 一个小的(单精度)浮点数
  • DOUBLE 正常大小(双精度)浮点数

定点型(精确值)

  • DECIMAL 定点数

  • CHAR
  • VARCHAR
  • BINARY
  • VARBINARY
  • BLOB
  • TEXT
  • ENUM
  • SET
  • TIME
  • DATE
  • DATETIME
  • TIMESTAMP
  • YEAR

约束条件就是在给字段加一些约束,使该字段存储的值更加符合我们的预期。

常用约束条件有以下这些

  • UNSIGNED :无符号,值从0开始,无负数
  • ZEROFILL:零填充,当数据的显示长度不够的时候可以使用前补0的效果填充至指定长度,字段会自动添加UNSIGNED
  • NOT NULL:非空约束,表示该字段的值不能为空
  • DEFAULT:表示如果插入数据时没有给该字段赋值,那么就使用默认值
  • PRIMARY KEY:主键约束,表示唯一标识,不能为空,且一个表只能有一个主键。一般都是用来约束id
  • AUTO_INCREMENT:自增长,只能用于数值列,而且配合索引使用,默认起始值从1开始,每次增长1
  • UNIQUE KEY:唯一值,表示该字段下的值不能重复,null除外。比如身份证号是一人一号的,一般都会用这个进行约束
  • FOREIGN KEY:外键约束,目的是为了保证数据的完成性和唯一性,以及实现一对一或一对多关系

DML(Data Manipulation Language):数据操作语言(用于插入(增Insert)、删除(删 Delete)、更新(改 Update)数据),操作对象是表里的数据

首先我们要先进入数据库,才能操作表

 
       

创建表

建表语句,默认的存储引擎是InnoDB,8.x版本的MySQL的默认编码方式是utf8

 
       

账号肯定是唯一值且不能为空,密码肯定也不能为空,姓名可以重复,年龄肯定是大于0的数,性别有男,女,或保密

下面我们来创建表

 
       

这样一个简单的user表就创建完毕了

查看当前数据库下的所有表

 
       

这里写图片描述

查看表结构
下面三种方法都可以

 
       

这里写图片描述

删除表

 
       

添加字段

 
        

示例

 
        

这里写图片描述

删除字段

 
        

示例:

 
        

这里写图片描述
给字段添加默认值

 
        

示例:

 
        

这里写图片描述

删除默认值

 
        

示例

 
        

这里写图片描述

修改字段类型和字段属性(MODIFY)

 
        

示例:

 
        

这里写图片描述

修改字段名称、字段类型、字段属性(CHANGE)

跟MODIFY相比CHANGE可以修改字段的名称

 
        

示例:

 
        

这里写图片描述

添加主键

 
        

示例:

 
        

这里写图片描述

删除主键

 
        

示例:

 
        

添加唯一

默认INDEX(索引)的名称跟字段名一致。

 
        

示例:

 
        

这里写图片描述

删除唯一约束

 
        

示例

 
        

这里写图片描述

修改表名称

 
        

示例:

 
        

这里写图片描述
以上就是表的常用操作

下一篇:

MySQL数据类型详解


如果你觉得本文对你有帮助,麻烦动动手指顶一下,可以帮助到更多的开发者,如果文中有什么错误的地方,还望指正,转载请注明转自喻志强的博客 ,谢谢!

  • 上一篇: jsp el表达式foreach
  • 下一篇: c语言以eof结束
  • 版权声明


    相关文章:

  • jsp el表达式foreach2025-10-11 09:01:03
  • 国内最快的DNS2025-10-11 09:01:03
  • win10自动检查并修复2025-10-11 09:01:03
  • nginx最全教程2025-10-11 09:01:03
  • oracle数据泵详解2025-10-11 09:01:03
  • c语言以eof结束2025-10-11 09:01:03
  • 指标体系包括什么2025-10-11 09:01:03
  • 线程安全的含义2025-10-11 09:01:03
  • gif制作软件app免费2025-10-11 09:01:03
  • elbow load2025-10-11 09:01:03