新建数据库:
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