. 什么叫数据库、字段名、字段类型、字段宽度、记录、主关键字、次关键字

. 什么叫数据库、字段名、字段类型、字段宽度、记录、主关键字、次关键字,第1张

数据库:是按照数据结构来组织、存储和管理数据的仓库 。

数据库由数据表组成,举个例子,存储学生年龄的数据表,有三个属性:(学号,姓名,年龄)

“学号”,“姓名”,“年龄” 都是字段

如果我定义"学号"为char(20),就说明这个字段的类型为 char 型,字符串,字段宽度为20

纪录是指,数据表中的数据,比如(0001,元芳,30) 这样一条数据就是纪录

主关键字 是指 所有纪录中唯一不同的字段,这个里面 是 “学号”,因为只有每个人的学号是不同的,名字和年龄都有可能相同。

可以

数值型数据类型主要用来存储数字,不同的数据类型提供不同的取值范围,可以存储的值的范围越大,其所需要的存储空间也会越大。整数类型的字段可以添加AUTO_INCREMENT自增约束条件。

需要注意的是,在设计数据库的时候,在实体类中long型的变量对应BIGINT,INT对应int类型的成员变量。

例:

CREATE TABLE tb_emp1

(id INT(11),

name VARCHAR(25),

deptId INT(11),

salary FLOAT);

id字段的数据类型为INT(11),“11”表示该数据类型指定的显示宽度,指定能显示的数值中数字的个数。

注意:显示宽度和数据类型的取值范围是无关的。显示宽度只是指明MySQL最大可能显示的数字个数,数值的位数小于指定宽度时会有空格填充。但是,如果插入了大于显示宽度的值,只要该值不超过取值范围,数值依然可以插入,而且在查询该列值的时候,将会显示完整的插入值,而不会进行显示宽度处理。例如下列语句创建表user:

常用的字段类型大致可以分为数值类型、字符串类型、日期时间类型三大类,下面我们按照分类依次来介绍下。

1数值类型

数值类型大类又可以分为整型、浮点型、定点型三小类。

整型主要用于存储整数值,主要有以下几个字段类型:

整型经常被用到,比如 tinyint、int、bigint 。默认是有符号的,若只需存储无符号值,可增加 unsigned 属性。

int(M)中的 M 代表最大显示宽度,并不是说 int(1) 就不能存储数值10了,不管设定了显示宽度是多少个字符,int 都是占用4个字节,即int(5)和int(10)可存储的范围一样。

存储字节越小,占用空间越小。所以本着最小化存储的原则,我们要尽量选择合适的整型,例如:存储一些状态值或人的年龄可以用 tinyint ;主键列,无负数,建议使用 int unsigned 或者 bigint unsigned,预估字段数字取值会超过 42 亿,使用 bigint 类型。

浮点型主要有 float,double 两个,浮点型在数据库中存放的是近似值,例如float(6,3),如果插入一个数12345678,实际数据库里存的是123457,但总个数还以实际为准,即6位,整数部分最大是3位。float 和 double 平时用的不太多。

类型

大小

用途

FLOAT 4 字节 单精度浮点数值

DOUBLE 8 字节 双精度浮点数值

定点型字段类型有 DECIMAL 一个,主要用于存储有精度要求的小数。

类型

大小

用途

DECIMAL

对DECIMAL(M,D) ,如果M>D,为M+2字节 否则为D+2

精确小数值

DECIMAL 从 MySQL 51 引入,列的声明语法是 DECIMAL(M,D) 。NUMERIC 与 DECIMAL 同义,如果字段类型定义为 NUMERIC ,则将自动转成 DECIMAL 。

对于声明语法 DECIMAL(M,D) ,自变量的值范围如下:

M是最大位数(精度),范围是1到65。可不指定,默认值是10。

D是小数点右边的位数(小数位)。范围是0到30,并且不能大于M,可不指定,默认值是0。

例如字段 salary DECIMAL(5,2),能够存储具有五位数字和两位小数的任何值,因此可以存储在salary列中的值的范围是从-99999到99999。

2字符串类型

字符串类型也经常用到,常用的几个类型如下表:

其中 char 和 varchar 是最常用到的。char 类型是定长的,MySQL 总是根据定义的字符串长度分配足够的空间。当保存 char 值时,在它们的右边填充空格以达到指定的长度,当检索到 char 值时,尾部的空格被删除掉。varchar 类型用于存储可变长字符串,存储时,如果字符没有达到定义的位数,也不会在后面补空格。

char(M) 与 varchar(M) 中的的 M 表示保存的最大字符数,单个字母、数字、中文等都是占用一个字符。char 适合存储很短的字符串,或者所有值都接近同一个长度。例如,char 非常适合存储密码的 MD5 值,因为这是一个定长的值。对于字符串很长或者所要存储的字符串长短不一的情况,varchar 更加合适。

我们在定义字段最大长度时应该按需分配,提前做好预估,能使用 varchar 类型就尽量不使用 text 类型。除非有存储长文本数据需求时,再考虑使用 text 类型。

BLOB 类型主要用于存储二进制大对象,例如可以存储,音视频等文件。日常很少用到,有存储二进制字符串时可以考虑使用。

3日期时间类型

MySQL支持的日期和时间类型有 YEAR 、TIME 、DATE 、DATETIME 、TIMESTAMP,几种类型比较如下:

涉及到日期和时间字段类型选择时,根据存储需求选择合适的类型即可。

关于 DATETIME 与 TIMESTAMP 两种类型如何选用,可以按照存储需求来,比如要求存储范围更广,则推荐使用 DATETIME ,如果只是存储当前时间戳,则可以使用 TIMESTAMP 类型。不过值得注意的是,TIMESTAMP 字段数据会随着系统时区而改变但 DATETIME 字段数据不会。总体来说 DATETIME 使用范围更广。

类型:类型用来约束某一个字段的取值,有日期时间、文本、整数、小数等,每一种数据库管理系统里边的数据类型都不相同,比如你有一个字段叫分数,那么就给它设置成数值类型,如果输入的不是数值,与数据库类型不符,就不能进入数据库。

宽度:这个字段一般是对文本而言,20就是图书馆名称最长为20个汉字,超过20可能会被截断,只存储前20个字,后边的就自动去掉了,这个自己根据情况设置,21、22、23等等都可以,像数值型、日期型不需要宽度,因为数据库系统已经规定了它说能接受的数值和日期的范围。

是否为主键:对于一个表,肯定有一个字段或字段的组合是主键。比如学生表(学号,姓名),主键可以区别行与行,比如学生表中有这样的数据:1001 张三 ,1002 张三,学生的学号一般不会重复,就像身份z号一样是唯一的,可以区别不同的人,这样的字段叫主键,但是姓名可能有重名啊,所以姓名不作为主键。又比如选课表(学号,课程号,……),选课表存放学生选课信息,一个学生可以选多门科,每门科可以被不同的学生选,这样的话,单独一个学号不能锁定数据库中的唯一一条记录,单独一个课程号也不能锁定数据库中的唯一一条记录,但是如果学号、课程号都确定了,那么可能就可以确定数据库中的唯一一条记录,这样学号和课程号就构成了一个联合的主键。根据主键可以锁定数据表中唯一的一行记录,既然要锁定数据表中唯一的一行记录,那么肯定不能为空或者重复,所以主键取值唯一而且不能取空值。你的这个表图书馆名称是主键,那么图书馆名称必须填,不能为空,而且图书馆名称不能重复,只要确定了图书馆的名称,因为名称不重复,所以地点也就可以确定了

我想说的是,表格的宽度如果设为 1024的话,肯定会出现滚动条。

你就是设为 1014,可能也会出现滚动条。

虽然显示器的分辨率是 1024 768 ,但并不代表表格的最大宽就可以设为 1024。因为浏览器本身左右两边的边框还要占用几个像素。

你把表格的宽设为 996试一下看,可者直接设为 100%

以上就是关于. 什么叫数据库、字段名、字段类型、字段宽度、记录、主关键字、次关键字全部的内容,包括:. 什么叫数据库、字段名、字段类型、字段宽度、记录、主关键字、次关键字、mysql中select…as前后数据类型可以不一样么、长整型对应数据库什么类型等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9478568.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存