ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

Mysql实验二 数据库和表的建立

2021-02-19 18:57:44  阅读:414  来源: 互联网

标签:varchar 数据库 和表 char course student Mysql table deptno


实验二 数据库和表的建立

1、在mysql中建立一个数据库testdb,所有的SQL操作均在此数据库上进行。

create database testdb;
use testdb;

2、用命令的方式在testdb数据库中建立5张基本表,其类型为innodb表,字符集为utf8。(注意创建表的顺序)
①创建学生表Student,由以下属性组成:学号 sno(int型,主码,其值自动填充,初值为2011001,每次增值为1),学生姓名 sname(char型,长度为8,非空),性别 sex(enum(男,女)),所在系别 deptno(tinyint型),邮箱email(varchar(30))。

 create table student(sno int primary key
     auto_increment comment '学号',
    sname char(8) not null,
   sex enum('男','女'),
 deptno tinyint not null,
 email varchar(30))auto_increment=2011001;

②创建系表dept,由以下属性组成:系号 deptno(tinyint型),系名 dname(char型,长度为20,非空),电话号码(phone char(8),唯一性)。

 create table dept(deptno tinyint,
    dname char(8) not null,
   phone char(8) unique);

③创建教师表teacher,由以下属性组成:教师编号 tno(char型,长度为10,主码),教师姓名 tname(varchar型,长度为5,非空),性别tsex((enum(男,女)),系 deptno(tinyint型),邮箱email(varchar(30))。

 create table teacher(tno char(10) primary key,
    tname varchar(5) not null,sex enum('男','女'),
   deptno tinyint(6),email varchar(30));

④创建课程表course,由以下属性组成:课程号 cno(int型,主码),课程名 cname(varchar型,长度为20,非空),授课教师编号 tno(char型,长度为10,外码),授课老师姓名 tname(varchar型,长度为8,非空),学分 credit(tinyint型)。

 create table course( cno int primary key,cname varchar(20)
 not null,tno char(10) comment '老师号',
    tname varchar(8) not null comment '老师名字',
  credit tinyint comment '学分',
 foreign key(tno) references teacher(tno));

⑤创建学生选课表student_course,由以下属性组成:学号 sno(int型,外码),课程号 cno(int型,外码),fenshu(decimal(5,2)型),(cno,sno)为主码。

create table student_course (sno int,
  cno int,
     fenshu decimal(5,2),primary key(cno,sno),foreign key(sno) references student(sno),
   foreign key(cno) references course(cno));

3、修改表结构
①显示所有的表
show tables;

②查看student表结构,并将student表的姓名字段改为varchar类型,长度为

4。desc student
alter student modify sname varchar(4);

在这里插入图片描述

③查看dept表结构,并将dept表的deptno设置为主码

desc dept;
alter table dept add primary key(deptno);

④将student表的deptno设置为外键,外键名为aaa

⑤为dept表的dname设置为唯一索引

alter table dept add unique(dname);

⑥为teacher表的deptno设置为外码,外键名为bbb

⑦在student表中加入属性出生日期 birth(datetime型),放在姓名字段的后面
alter table student add birth datetime after sname;
⑧删除course表中授课教师姓名列。

alter table course drop column tname;

⑨为course表中的credit增加一个默认值为4。

 alter table course modify credit tinyint default 4;

⑩将student_course表名改名为sc。

rename table student_course to sc;

将sc表中的fenshu字段改为grade。

alter table sc change fenshu grade decimal(5,2) ;

4、因为学校机房有还原系统,所以下课之前应将所有的数据进行备份,下次上机课还原即可。

5、思考与练习:

标签:varchar,数据库,和表,char,course,student,Mysql,table,deptno
来源: https://blog.csdn.net/houzhicongone/article/details/113866645

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有