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

打印 上一主题 下一主题

主题 857|帖子 857|积分 2571

MySQL 创建学生成绩数据库

1.创建数据库

  1. create database studentscore;
复制代码
创建完成之后,如果需要使用该数据,使用use下令
  1. use studentscore;
复制代码
创建表前检察当前数据库中包含的表
  1. show tables;               
复制代码

2.创建bclass表

  1. create table  bclass(
  2. class_id char(8) primary key,
  3. class_name varchar(20) not null unique,
  4. class_num int(6) default(0),
  5. major_id char(2),
  6. length char(1),
  7. depart_char char(2));
复制代码

3.创建bstudent表

  1. create table bstudent(
  2. stud_id char(10) primary key,
  3. stud_name varchar(50) not null,
  4. stud_sex Enum('男','女'),
  5. birth Date default '1900-01-01',
  6. members varchar(40),
  7. family_place varchar(50),
  8. class_id char(8),
  9. constraint Fk_classid
  10. foreign key(class_id) references bclass(class_id)
  11. );
复制代码

   注:上面代码中,通过外键束缚,在bstudent表的班级代号列class_id上建立了与班级信息表bclass班级代号class_id的关联关系。
  4.创建bcourse表

  1. create table bcourse(
  2. course_id char(8) primary key,
  3. course_name varchar(40) not null,
  4. course_type Enum ('必修','选修'),
  5. hours int(6),
  6. credit int(4)
  7. );
复制代码

5.创建bscore表

  1. create table bscore(
  2. stud_cod int primary key auto_increment,
  3. stud_id char(10) not null,
  4. course_id char(8) not null,
  5. term tinyint,
  6. score decimal(5,1),
  7. makeup decimal(5,1),
  8. constraint Fk_bscore_bcourse
  9. foreign key (course_id) references bcourse (course_id)
  10. );
复制代码

   在创建表时,Fk_bscore_bcourse为在course_id列上定义的外键束缚名,Fk_bscore_bstudent为在列上定义的外键束缚名。
  6.创建major表

  1. create table major(
  2. major_id char(2) primary key,
  3. major_name varchar(40) not null unique,
  4. depart_id char(2),
  5. depart_name varchar(40)
  6. );
复制代码

7.创建user表

  1. create table user
  2. (
  3. user_dh char(10) primary key,
  4. user_name varchar(40) not null,
  5. user_bz tinyint,
  6. password varchar(40) not null
  7. );
复制代码

对数据表举行修改操纵

1.建立查抄束缚

  1. alter  table 表名
  2. ADD [CONSTRAINT [约束名]] CHECK (条件表达式)
复制代码
【使命实现】
  1. alter table bscore
  2. add constraint Ck_score check (score>=0 and score<=100);
复制代码
【使命拓展】
用同样的方法在bcourse表的课时数hours列上创建查抄束缚,规定其值必须大于等于0
  1. alter table bcourse
  2. add constraint Ck_hours check (hours>=0);
复制代码
2.建立默认束缚

  1. ALTER TABLE 表名 ALTER 列名 SET DEFAULT 默认值;
  2. ALTER TABLE 表名 ALTER 列名 DROP DEFAULT;
复制代码
【使命实现】
  1. alter table bstudent alter birth set default '1900-01-01';
复制代码
【使命拓展】
用同样的方法在bcourse表的学分credit列上建立默认束缚,默认值为0.
  1. alter table bcourse alter credit set default 0;
复制代码
3.直接插入赋值

  1. INSERT [INTO] 表名 [(列名1)[,列名2][,...n])]
  2. VALUES (常量1[,常量2][,...n]) (常量1[,常量2][,...m][,...n])
复制代码
【使命实现】
在新行的所有列中添加数据
  1. insert into major values('31','计算机应用','30','信息学院');
复制代码
在新行的所有列中添加数据且一次插入多条记录
  1. insert into bclass
  2. values ('30311231','计应123','45','31','3','30'),('30311232','计应321',null,'31','3','30');
复制代码
  执行乐成后,通过select语句检察插入结果
  1. select *from bclass;
复制代码
在新行的部分列中添加数据且一次插入多条记录
  1. insert into bstudent (stud_id, stud_name,stud_sex,birth,class_id)
  2. values ('1234569','张三三','男','1999-06-23','987654'),('2345691','李思思','女','2000-01-31','234567');
复制代码
未完待续…
有想了解更多大概遇到无法解决的标题的时间,欢迎各位进企鹅

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

农妇山泉一亩田

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表