MySQL 创建学生成绩数据库
1.创建数据库
- create database studentscore;
复制代码 创建完成之后,如果需要使用该数据,使用use下令
创建表前检察当前数据库中包含的表
2.创建bclass表
- create table bclass(
- class_id char(8) primary key,
- class_name varchar(20) not null unique,
- class_num int(6) default(0),
- major_id char(2),
- length char(1),
- depart_char char(2));
复制代码
3.创建bstudent表
- create table bstudent(
- stud_id char(10) primary key,
- stud_name varchar(50) not null,
- stud_sex Enum('男','女'),
- birth Date default '1900-01-01',
- members varchar(40),
- family_place varchar(50),
- class_id char(8),
- constraint Fk_classid
- foreign key(class_id) references bclass(class_id)
- );
复制代码
注:上面代码中,通过外键束缚,在bstudent表的班级代号列class_id上建立了与班级信息表bclass班级代号class_id的关联关系。
4.创建bcourse表
- create table bcourse(
- course_id char(8) primary key,
- course_name varchar(40) not null,
- course_type Enum ('必修','选修'),
- hours int(6),
- credit int(4)
- );
复制代码
5.创建bscore表
- create table bscore(
- stud_cod int primary key auto_increment,
- stud_id char(10) not null,
- course_id char(8) not null,
- term tinyint,
- score decimal(5,1),
- makeup decimal(5,1),
- constraint Fk_bscore_bcourse
- foreign key (course_id) references bcourse (course_id)
- );
复制代码
在创建表时,Fk_bscore_bcourse为在course_id列上定义的外键束缚名,Fk_bscore_bstudent为在列上定义的外键束缚名。
6.创建major表
- create table major(
- major_id char(2) primary key,
- major_name varchar(40) not null unique,
- depart_id char(2),
- depart_name varchar(40)
- );
复制代码
7.创建user表
- create table user
- (
- user_dh char(10) primary key,
- user_name varchar(40) not null,
- user_bz tinyint,
- password varchar(40) not null
- );
复制代码
对数据表举行修改操纵
1.建立查抄束缚
- alter table 表名
- ADD [CONSTRAINT [约束名]] CHECK (条件表达式)
复制代码 【使命实现】
- alter table bscore
- add constraint Ck_score check (score>=0 and score<=100);
复制代码 【使命拓展】
用同样的方法在bcourse表的课时数hours列上创建查抄束缚,规定其值必须大于等于0
- alter table bcourse
- add constraint Ck_hours check (hours>=0);
复制代码 2.建立默认束缚
- ALTER TABLE 表名 ALTER 列名 SET DEFAULT 默认值;
- ALTER TABLE 表名 ALTER 列名 DROP DEFAULT;
复制代码 【使命实现】
- alter table bstudent alter birth set default '1900-01-01';
复制代码 【使命拓展】
用同样的方法在bcourse表的学分credit列上建立默认束缚,默认值为0.
- alter table bcourse alter credit set default 0;
复制代码 3.直接插入赋值
- INSERT [INTO] 表名 [(列名1)[,列名2][,...n])]
- VALUES (常量1[,常量2][,...n]) (常量1[,常量2][,...m][,...n])
复制代码 【使命实现】
在新行的所有列中添加数据
- insert into major values('31','计算机应用','30','信息学院');
复制代码 在新行的所有列中添加数据且一次插入多条记录
- insert into bclass
- values ('30311231','计应123','45','31','3','30'),('30311232','计应321',null,'31','3','30');
复制代码 执行乐成后,通过select语句检察插入结果
在新行的部分列中添加数据且一次插入多条记录
- insert into bstudent (stud_id, stud_name,stud_sex,birth,class_id)
- values ('1234569','张三三','男','1999-06-23','987654'),('2345691','李思思','女','2000-01-31','234567');
复制代码 未完待续…
有想了解更多大概遇到无法解决的标题的时间,欢迎各位进企鹅 |