MySQL设计数据表
一个数据表主要包含信息有 : 表名 、 主键 、 字段 、 数据类型 、 索引 ,本节主要介绍表的 命名规范 、 字段命名 、 字段的数据类型选择 。
本节内容新建的表都是新建在 "item_name" 数据库中的,新建 "item_name" 数据库命令如下 : CREATE DATABASE item_name;
新建数据库之后选择数据库: USE item_name;
你也可以自行新建一个数据库,自己命名就好。 1. 数据表命名规范
数据表命名是小写字母和下划线 _ 组成,用来分割不同单词之间的含义,例如 "student_course" 表示学生选课关联表,实际命名需要根据具体功能而定,好的 命名规范 在实际工作中也是很重要的。 2. 新建学生信息表 student2.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(10) UNSIGNED NOT NULL AUTO_INCREMENT, `name` varchar(50) NOT NULL DEFAULT "无名", `age` int(10) UNSIGNED NOT NULL DEFAULT 0, `id_number` varchar(18) 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.新建教师信息表 teacher3.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(10) UNSIGNED NOT NULL AUTO_INCREMENT, `name` varchar(50) NOT NULL DEFAULT "教师名", `age` int(10) UNSIGNED NOT NULL DEFAULT 0, `id_number` varchar(18) 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.新建课程表 course4.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(10) UNSIGNED NOT NULL AUTO_INCREMENT, `course_name` varchar(50) NOT NULL DEFAULT "", `teacher_id` int(10) UNSIGNED NOT NULL DEFAULT 0, PRIMARY KEY (`id`) );
执行结果如下图:
5.新建学生选课关联表 student_course5.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(10) UNSIGNED NOT NULL AUTO_INCREMENT, `student_id` int(10) UNSIGNED NOT NULL DEFAULT 0, `course_id` int(10) UNSIGNED NOT NULL DEFAULT 0, PRIMARY KEY (`id`) );
执行结果如下图:
iOS15更新发现,更智能iOS15更新发现,更智能关注公众号果粉机帮助果粉们快速成长Apple今天向果粉开发者发布了一款全新的开发工具,完全需要运行在iOS15的设备上,果粉在不安全的WiFi网络上或Wi
摩托罗拉MotoG60S发布搭载HelioG95,支持50W快充IT之家8月12日消息今天,摩托罗拉新机MotoG60S在该公司的巴西网站上线,这也是该机全球首次亮相。摩托G60S配备了6。8英寸FHD120Hz屏幕,搭载联发科HelioG95
为什么说摩托罗拉edge双新机是不妥协的诚意之作8月5日,摩托罗拉在上海举行了新品发布会,宣布推出Edge双新机edgespro和edge轻奢版。一强悍配置不妥协,摩托罗拉edge双新机惊艳亮相本场发布会的主题为亿起惊艳,而其推
vivoS10在这个夏季惊喜上市啦藏不住的自然美陕西篇vivoS10在这个夏季惊喜上市啦!不但质感很轻薄,颜值也是绝绝子!集美们一定要闭眼入呀这款作为蔡徐坤同款手机,还引入了最新的光致变色技术,一晒阳光还可以变色哦
性价比较高的安卓二手机我就给大家介绍一些性价比较高的安卓二手机,因为毕竟人人都不是手机发烧友,买的洋垃圾不一定会捣鼓。50以下小米2s,几顿早餐钱就能带走一部能听歌看小说的手机。这部手机搭载高通骁龙60
三星GalaxyZFlip35G亮相设计配置全方位升级,体验无死角2020年,三星推出了旗下全新的折叠屏产品GalaxyZFlip系列,纵向折叠的全新形态,搭配上UTG超薄玻璃的内屏材质,给折叠屏的发展提出了一个新的思路。如今,三星旗下第三代折叠
三星新品折叠手机支持防水?8月11日,三星举行新品发布会,推出了两款折叠屏智能手机GalaxyZFold35G和GalaxyZFlip35G。三星对折叠屏手机市场非常看好,其公布一组数据,折叠屏市场正以年增
鸿蒙2。0系统更新后,你不知道的5个手机技巧,真的可惜我们都知道,这两年华为的热度只增不减,自鸿蒙系统的出现,再一次让华为的热度大大提高,前段时间的鸿蒙2。0系统更新,更是传的沸沸扬扬,我相信照这个趋势,鸿蒙之后的系统更新一定会受到华
七夕男友礼物选什么?懂行的人今年都选这几款手机1,小米MIX4这是小米刚刚发布的今年的旗舰手机,4999的价格对于这顶配旗舰来说划算合理,全球首发的骁龙888plus处理器加上CUP全面屏,在手机性能和使用感受上体验拉满了!同
七夕节,送女朋友这几款手机,她肯定会喜欢对手机这一类数码产品比较感兴趣的一般男生居多,而女生则对手机这类数码产品了解比较少,她们最常使用的功能是拍照片(包括自拍),看电视剧,玩游戏,聊天社交,同时颜值在线,手感要好,要够
麦芒系列正式回归,脱离华为后,麦芒10SE终于支持5G哈喽大家好,我是你们的老朋友小馨,每天都会给大家更新我的原创内容,近日,曾作为华为旗下的麦芒系列品牌,如今却带来了一款5G千元机麦芒10SE,这款起售价为1699元的新品,搭载了一