MySQL 设计数据表
发布时间:2023-02-28 13:06:13 所属栏目:MySql教程 来源:
导读:MysqL 设计数据表
前面小节介绍了如何新建数据库和选择数据库,还介绍了 MysqL 的存储数据类型,本小节学习如何设计学生课程相关数据表,其中包括学生信息 student,教师信息表 teacher,学科表 course,学生选课表
前面小节介绍了如何新建数据库和选择数据库,还介绍了 MysqL 的存储数据类型,本小节学习如何设计学生课程相关数据表,其中包括学生信息 student,教师信息表 teacher,学科表 course,学生选课表
MysqL 设计数据表 前面小节介绍了如何新建数据库和选择数据库,还介绍了 MysqL 的存储数据类型,本小节学习如何设计学生课程相关数据表,其中包括学生信息 student,教师信息表 teacher,学科表 course,学生选课表 student_course,这一小节的主要目的是为了学习如何新建数据表,合理选择字段类型。 一个数据表主要包含信息有 : 表名、主键、字段、数据类型、索引,本节主要介绍表的命名规范、字段命名、字段的数据类型选择。 本节内容新建的表都是新建在 “item_name” 数据库中的,新建 “item_name” 数据库命令如下 : CREATE DATABASE item_name; 新建数据库之后选择数据库: USE item_name; 你也可以自行新建一个数据库,自己命名就好。 1. 数据表命名规范 数据表命名是小写字母和下划线 _ 组成,用来分割不同单词之间的含义,例如 “student_course” 表示学生选课关联表,实际命名需要根据具体功能而定,好的命名规范在实际工作中也是很重要的。 2. 新建学生信息表 student 2.1 确定字段 字段名称 含义 id 自增主键 name 学生姓名 age 学生年龄 id_number 身份证号 学生信息表包含的字段可以有很多,本小节选择学生姓名、年龄、身份证号介绍字段的选择,字段的确定是根据实际业务需求来新增或减少的,例如想要存储学生籍贯信息可新增 “address” 字段。 2.2 选择字段的数据类型 字段名称 数据类型 id 无符号整型(UNSIGNED INT) name VARCHAR(50) age UNSIGNED INT id_number VARCHAR(18) Tips:实际业务中一般要将年龄字段设置为可变,通常会使用时间戳(距离1970-01-01 00:00:00的秒数)来表示年龄相关的信息,在这里为了方便演示直接使用了 UNSIGNED INT。 一般来说姓名字段的长度为 2-4 个字符,但是考虑到少数民族的学生姓名比较长,所以将姓名字段的长度设置为 50,适当的给的大一点。身份证号同样使用字符串类型来存储,因为有的身份证号中有字母。身份证的长度统一都是 18 位不变,直接在这里写死就好。 2.3 新建数据表 命令 : CREATE TABLE `student` ( `id` int() UNSIGNED NOT NULL AUTO_INCREMENT, `name` varchar() NOT NULL DEFAULT '无名', `age` int() UNSIGNED NOT NULL DEFAULT , `id_number` varchar() NOT NULL DEFAULT '', PRIMARY KEY (`id`)); Tips:其中 “student” 为表名称,“id”、“name”、“age”、“id_number” 为字段名称,跟在字段名称后面的是字段的数据类型,“UNSIGNED” 表示无符号,“AUTO_INCREMENT” 表示自增,PRIMARY KEY (`id`)表示设置 “id” 为业务主键,,NOT NULL DEFAULT ‘无名’ 表示默认不为空,且默认值为 “无名” 。 查看当前数据库中所有的数据表: 命令:show tables 可以看到 item_name 数据库中已经有了 student 这张数据表。 3.新建教师信息表 teacher 3.1 确定字段 字段名称 含义 id 自增主键 name 教师姓名 age 教师年龄 id_number 身份证号 同样教师信息的字段可选择也很多,这里选择教师姓名、教师年龄、教师身份证号,可自行选择感兴趣的字段,并参照新建学生表的步骤选择字段,如教师邮箱、教师博客地址。 3.2 选择字段的数据类型 字段名称 数据类型 id 无符号整型(UNSIGNED INT) name VARCHAR(50) age UNSIGNED INT id_number VARCHAR(18) 3.3 新建数据表 命令 : CREATE TABLE `teacher` ( `id` int() UNSIGNED NOT NULL AUTO_INCREMENT, `name` varchar() NOT NULL DEFAULT '教师名', `age` int() UNSIGNED NOT NULL DEFAULT , `id_number` varchar() NOT NULL DEFAULT '', PRIMARY KEY (`id`)); Tips: 其中 “teacher” 为表名称,“id”、“name”、“age”、“id_number” 为字段名称,跟在字段名称后面的是字段的数据类型,“UNSIGNED” 表示无符号,“AUTO_INCREMENT” 表示自增,“PRIMARY KEY (`id`)” 表示设置 “id” 为业务主键,NOT NULL DEFAULT 教师名’ 表示默认不为空,且默认值为 “教师名” 。 Tips: 这里展示了使用 Navicat 来执行 sql 语句,选择数据库只需点击相应的数据库名称,然后选择新建查询即可。 4.新建课程表 course 4.1 确定字段 字段名称 含义 id 自增主键 course_name 课程名称 teacher_id 教师id 4.2 选择字段的数据类型 字段名称 数据类型 id 无符号整型(UNSIGNED INT) course_name VARCHAR(50) teacher_id 无符号整型(UNSIGNED INT) 4.3 新建数据表 命令 : CREATE TABLE `course` ( `id` int() UNSIGNED NOT NULL AUTO_INCREMENT, `course_name` varchar() NOT NULL DEFAULT '', `teacher_id` int() UNSIGNED NOT NULL DEFAULT , PRIMARY KEY (`id`)); 5.新建学生选课关联表 student_course 5.1 确定字段 字段名称 含义 id 自增主键 student_id 学生id course_id 课程id 5.2 选择字段的数据类型 字段名称 数据类型 id 无符号整型(UNSIGNED INT) student_id 无符号整型(UNSIGNED INT) course_id 无符号整型(UNSIGNED INT) 5.3 新建数据表 命令 : CREATE TABLE `student_course` ( `id` int() UNSIGNED NOT NULL AUTO_INCREMENT, `student_id` int() UNSIGNED NOT NULL DEFAULT , `course_id` int() UNSIGNED NOT NULL DEFAULT , PRIMARY KEY (`id`)); (编辑:汽车网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |