农妇山泉一亩田 发表于 2024-7-18 14:45:33

【数据库管理操纵】Mysql 创建学生数据库及对数据表举行修改

MySQL 创建学生成绩数据库

1.创建数据库

create database studentscore;
创建完成之后,如果需要使用该数据,使用use下令
use studentscore;
创建表前检察当前数据库中包含的表
show tables;               
https://img-blog.csdnimg.cn/direct/f9688797d55342998a410916a162b6b6.png#pic_center
2.创建bclass表

create tablebclass(
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));
https://img-blog.csdnimg.cn/direct/4b14cd1db14d480f96a9b1b4f8457221.png#pic_center
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)
);
https://img-blog.csdnimg.cn/direct/07006818c69f48888fb8f773ac331787.png#pic_center
   注:上面代码中,通过外键束缚,在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)
);
https://img-blog.csdnimg.cn/direct/652789fc8367449c99c5503430059285.png#pic_center
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)
);
https://img-blog.csdnimg.cn/direct/aa13fa88fd9744fbb14cbeb6cda8e7a6.png#pic_center
   在创建表时,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)
);
https://img-blog.csdnimg.cn/direct/bed8c0705efb460b9bef00e88115de55.png#pic_center
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
);
https://img-blog.csdnimg.cn/direct/e310090480764118b418ef4d351e3f7e.png#pic_center
对数据表举行修改操纵

1.建立查抄束缚

altertable 表名
ADD ] 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 表名 [(列名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语句检察插入结果
select *from bclass;
在新行的部分列中添加数据且一次插入多条记录
insert into bstudent (stud_id, stud_name,stud_sex,birth,class_id)
values ('1234569','张三三','男','1999-06-23','987654'),('2345691','李思思','女','2000-01-31','234567');
未完待续…
有想了解更多大概遇到无法解决的标题的时间,欢迎各位进企鹅
页: [1]
查看完整版本: 【数据库管理操纵】Mysql 创建学生数据库及对数据表举行修改