数据库
首页 > 数据库> > 7、MySQL 设计数据表

7、MySQL 设计数据表

作者:互联网

新建数据库:

CREATE DATABASE item_name;
USE item_name;

新建学生信息表 student

确定字段

字段名称 含义
id 自增主键
name 学生姓名
age 学生年龄
id_number 身份证号

选择字段的数据类型

字段名称 数据类型
id 无符号整型(UNSIGNED INT)
name VARCHAR(50)
age UNSIGNED INT
id_number VARCHAR(18)
实际业务中一般要将年龄字段设置为可变,通常会使用时间戳(距离1970-01-01 00:00:00的秒数)来表示年龄相关的信息,在这里为了方便演示直接使用了 UNSIGNED INT。

一般来说姓名字段的长度为 2-4 个字符,但是考虑到少数民族的学生姓名比较长,所以将姓名字段的长度设置为 50,适当的给的大一点。身份证号同样使用字符串类型来存储,因为有的身份证号中有字母。身份证的长度统一都是 18 位不变,直接在这里写死就好。

新建数据表

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`)
);

其中 “student” 为表名称,“id”、“name”、“age”、“id_number” 为字段名称,跟在字段名称后面的是字段的数据类型,“UNSIGNED” 表示无符号,“AUTO_INCREMENT” 表示自增,"PRIMARY KEY (id)"表示设置 “id” 为业务主键,,"NOT NULL DEFAULT ‘无名’ " 表示默认不为空,且默认值为 “无名” 。

查看当前数据库中所有的数据表:

show tables;

新建教师信息表 teacher

确定字段

字段名称 含义
id 自增主键
name 教师姓名
age 教师年龄
id_number 身份证号

选择字段的数据类型

字段名称 数据类型
id 无符号整型(UNSIGNED INT)
name VARCHAR(50)
age UNSIGNED INT
id_number VARCHAR(18)

新建数据表

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`)
);

新建课程表 course

确定字段

字段名称 含义
id 自增主键
course_name 课程名称
teacher_id 教师id

选择字段的数据类型

字段名称 数据类型
id 无符号整型(UNSIGNED INT)
course_name VARCHAR(50)
teacher_id 无符号整型(UNSIGNED INT)

新建数据表

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`)
);

新建学生选课关联表 student_course

确定字段

字段名称 含义
id 自增主键
student_id 学生id
course_id 课程id

选择字段的数据类型

字段名称 数据类型
id 无符号整型(UNSIGNED INT)
student_id 无符号整型(UNSIGNED INT)
course_id 无符号整型(UNSIGNED INT)

新建数据表

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`)
);

参考资料

http://www.imooc.com/wiki/mysqllesson/datasheet.html

标签:name,course,DEFAULT,UNSIGNED,数据表,MySQL,设计,NULL,id
来源: https://www.cnblogs.com/tiansz/p/16438477.html