mysql基础学习之认识基础数据类型(一)

2024-08-12 18:03:28 浏览数 (2)

1. 数据类型

1.1整数以及浮点数

age 年龄不会超过127 所以考虑使用`TINYINT 这个类型的范围为-128-127;

又因为年龄无符号 就是不会出现`负数 我们可以使用 无符号的TINYINT;

综上所以 在MySql 里面定义年龄我们就可以

代码语言:javascript复制
 age TINYINT UNSIGNED  (范围为 0-127)

score 成绩 假设成绩的取值范围为0-100,但是考虑到也有 60.0 , 75.5, 85.0这样的数值存在;

我们就可以考虑使用double类型来存储这个变量;

在SQL语句中 double 有两个参数 ,

  • 第一个: 数值的最长长度 score一般是4位 100.0
  • 第二个: 允许整数后几个数值存在 score 一般是1位小数
代码语言:javascript复制
 score DOUBLE(4,1)

1.2字符串类型

varchar : 变长字符串 变量存储一个字符 就占一个字符 ; 最多存储10个字符 性能较差

代码语言:javascript复制
 varchar(10)

char: 定长字符串 变量存储一个字符 也占10 个字符大小; 性能好'

代码语言:javascript复制
 chat(10)

1.3日期类型

31DATE 3 范围1000-01-01 至 9999-12-31 格式 YYYY-MM-DD 描述 日期值

代码语言:javascript复制
 birthday date;

2. Demo 习题展示

根据需求创建表(设计的数据类型、长度)

设计一张员工信息表,要求如下:

  1. 编号(纯数字)
  2. 员工工号(字符串类型,长度不超过10位)
  3. 员工姓名(字符串类型,长度不超过10位)
  4. 性别 (男/女,存储一个汉字)
  5. 年龄(正常人年龄,不可能存储负数)
  6. 身份证号(工代身份证号均为18位,身份证中有X这样的字符)
  7. 入职时间(取值年月日即可)
代码语言:javascript复制
 create table emp (
     id INT,  /*编号 */
     gonghao varchar(10) ,/*员工工号*/
     name varchart(10), /*姓名*/
     gender char(1) , /* 性别 */
     age TINYINT UNSIGNED, /* 年龄 */
     peoID char(18), /*身份证号码*/
     joinTime DATE , /* 入职时间 */
 ) comment  '员工表';
 

0 人点赞