欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

数据库学习之MySQL创建校园数据库

程序员文章站 2022-07-06 09:19:02
@概述 创建校园,建立老师、学生、班级、课程四张表,为后续章节讲表关系准备数据; 其中每班一个班主任,每班主任执鞭一个班级,因此班级和班主任是一对一的关系; 每个班级有多名学生,而每个学生只属于一个...

@概述

创建校园,建立老师、学生、班级、课程四张表,为后续章节讲表关系准备数据; 其中每班一个班主任,每班主任执鞭一个班级,因此班级和班主任是一对一的关系; 每个班级有多名学生,而每个学生只属于一个班级,因此班级和学生是一对多的关系; 每名学生可以选修多门课程,而每门课程可以有多名参与的学生,因此学生和课程是多对多的关系; 下一节将讲述以上表关系的管理策略;

@创建数据库和表

-- 创建校园数据库
create database campus charset=utf8;

-- 老师表字段:自增长主键id、姓名(非空)、性别(非空)、课程id(默认0)、是否班主任(默认0);
create table teacher(
  id integer primary key auto_increment,
  name varchar(10) not null,-- 非空约束
  gender integer not null,
  courseid integer default 0,--默认约束
  ismaster integer default 0
);

-- 学生表字段:自增长主键id、姓名(非空)、性别(非空)、班级id(默认0);
create table student(
  id integer primary key auto_increment,
  name varchar(10) not null,
  gender integer not null,
  classid integer default 0
);

-- 班级表字段:自增长主键id、名称(非空)、班主任id(默认0);
create table clazz(
  id integer primary key auto_increment,
  name varchar(20) not null,
  masterid integer default 0
);

-- 课程表字段:自增长主键id、名称(非空);
create table course(
  id integer primary key auto_increment,
  name varchar(10) not null
);

接下来向表中插入一些数据:

@插入学生数据

insert into student(name,gender) values ("张三丰",1);
insert into student(name,gender) values ("野间忠一郎",1);
insert into student(name,gender) values ("二郎神",1);
insert into student(name,gender) values ("郭小四",0);
insert into student(name,gender) values ("隔壁老王",1);
insert into student(name,gender) values ("练过的六爷",1);
insert into student(name,gender) values ("洪七公",1);
insert into student(name,gender) values ("香香八婆",0);
insert into student(name,gender) values ("马英九",1);
insert into student(name,gender) values ("十三姨",0);
insert into student(name,gender) values ("山本五十六",1);
insert into student(name,gender) values ("包租婆",0);

- 插入老师数据:

insert into teacher(name,gender) values ("bill",1);
insert into teacher(name,gender) values ("steve",1);
insert into teacher(name,gender) values ("jackma",1);
insert into teacher(name,gender) values ("robin",1);

@插入班级数据

insert into clazz(name) values ("丐帮");
insert into clazz(name) values ("小刀会");
insert into clazz(name) values ("斧头帮");
insert into clazz(name) values ("天地会");

@插入课程数据

insert into course(name) values ("python");
insert into course(name) values ("java");
insert into course(name) values ("html5");
insert into course(name) values ("php");