赞
踩
目录
本篇记录数据库、表的创建与维护相关操作,有客户端界面操作方法也有命令操作方法
7.用语句修改把STC表中的score改为smallint型;
9.为STC表中的cno添加参照完整性约束,参照Courses表中的Cno属性。
1.掌握数据库的创建与维护
2.熟练掌握数据表的创建和维护
3.熟悉数据的更新操作。
1.创建关系数据库S_T###,
要求数据库字符集为utf8,字符集校对规则默认。
说明:数据库名称中的###代表本人学号的后三位。如张华的学号为20160714121,其数据库名为“S_T121”
右键MySQL,选择新建-架构
2. 在S_T数据库中,创建学生表students
该表的存储引擎为InnoDB,采用数据库默认字符集。该表主要包括学号(sno)、姓名(sname)、出生日期(sbirth)和年级(grade)四个属性,每个属性的数据类型、长度及其约束要求如下:
Sno:char(10),主码;
Sname:char(4),不允许为空
sbirth:date,
Grade:smallint。
右键数据库,选择新建-表
第一步,自定义表名
第二步,添加新列
第三步,自定义列
最终显示
红框语法是该表的存储引擎为InnoDB,采用数据库默认字符集。不写也行,因为默认就是InnoDB储存引擎
注意:主键不能为空
- CREATE TABLE `students` (
- `Sno` char(10) NOT NULL,
- `Sname` char(4) NOT NULL,
- `sbirth` date DEFAULT NULL,
- `Grade` smallint(6) DEFAULT NULL,
- PRIMARY KEY (`Sno`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8
3.在S_T数据库中,创建教师表Teachers
主要包括教师号(Tno)、教师姓名(Tname)、性别(sex)和工资(salary)四个属性,每个属性的数据类型、长度及其约束要求如下:
Tno:CHAR(8) ,主码;
Tname:char(4) 非空约束,
sex:复合型,取值为‘男’或‘女’,
Salary:float。
同创建students表一样
注意,sex复合型的定义
- CREATE TABLE `teachers` (
- `Tno` char(8) NOT NULL,
- `Tname` char(4) NOT NULL,
- `sex` enum('男','女') DEFAULT NULL,
- `Salary` float DEFAULT NULL,
- PRIMARY KEY (`Tno`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
4. 在S_T数据库中,创建课程表Courses
主要包括课号(Cno)、课名(Cname)和学时(Chour)三个属性,每个属性的数据类型、长度及其约束要求如下:
Cno:char(8) 非空约束 ,
cname:varchar(10) 非空约束,
Chour:tinyint。
- create table Courses
- (
- Cno char(8) not null,
- cname varchar(10) not null,
- Chour tinyint null
- );
类型 | 大小 | 范围(有符号) | 范围(无符号) | 用途 |
---|---|---|---|---|
TINYINT | 1 Bytes | (-128,127) | (0,255) | 小整数值 |
类型 | 大小 | 用途 |
---|---|---|
CHAR | 0-255 bytes | 定长字符串 |
VARCHAR | 0-65535 bytes | 变长字符串 |
5. 在S_T数据库中,创建选课表STC
包括学号(Sno)、教师号(Tno)、课号(Cno)和成绩(score)四个属性,每个属性的数据类型、长度及其约束要求如下:
Sno:char(10),
Cno:CHAR(8),
Tno:CHAR(8),
Score:int。
设置(Sno,cno)为主码,STC表中的Sno属性为外码,参照students表中的学号sno。
在设置两个属性组合成主键时,要进入键的操作里添加属性
设置外键时:进入外键操作
1.选择目标表
2.添加外键列
6.用语句修改Students表,
增加性别Ssex属性置于sname属性之后,该属性为enum类型,只能取“男”或“女”;
右键students表,进入查询控制台
- ALTER TABLE students
- ADD Ssex enum('男','女') AFTER Sname;
执行完成后成功显示
7.用语句修改把STC表中的score改为smallint型;
- ALTER TABLE stc
- MODIFY Score smallint;
修改已有属性时,要用MODIFY关键字
8.将Course表中的Cno属性设置为主码。
- ALTER TABLE courses
- ADD PRIMARY KEY (Cno);
给已有属性添加主键,使用ADD关键字
9.为STC表中的cno添加参照完整性约束,参照Courses表中的Cno属性。
- alter table stc
- add foreign key (Cno)references courses(Cno);
语法解释:修改表stc,添加一个主键Cno,参照courses表中的Cno
10.将下表中的数据依次输入到已经创建的四个表中。
Students表:
sno | sname | Ssex | sbirth | grade |
201615121 | 李丽 | 女 | 1999-1-1 | 2016 |
201615122 | 汪洋 | 男 | 1998-12-21 | 2016 |
201615123 | 刘晨 | 女 | 1998-6-5 | 2016 |
201715121 | 王小晨 | 男 | 1999-4-16 | 2017 |
201715122 | 张放 | 男 | 1997-6-1 | 2017 |
201715123 | 乔云萍 | 女 | 1999-8-12 | 2017 |
Teachers表:
Tno | Tname | Sex | salary |
101 | 李大伟 | 男 | 6200 |
102 | 刘云 | 女 | 4500 |
103 | 王军 | 男 | 3600 |
104 | 张红霞 | 女 | 4100 |
课程表Courses
Cno | Cname | Chour |
B001 | 高等数学 | 80 |
B002 | 计算机导论 | 48 |
B003 | C程序设计 | 64 |
B004 | 数据结构 | 72 |
B005 | 数据库系统 | 56 |
B006 | 模糊数学 | 56 |
课程表STC
Sno | Cno | Tno | score |
201615121 | B001 | 101 | 78 |
201615121 | B002 | 102 | 85 |
201615121 | B003 | 103 | 69 |
201615121 | B004 | 104 | |
201615122 | B002 | 102 | 98 |
201615122 | B003 | 103 | 89 |
201615123 | B001 | 101 | 65 |
201615123 | B003 | 103 | 56 |
201615123 | B004 | 104 | |
201715121 | B002 | 102 | 68 |
201715121 | B004 | 104 | 78 |
201715123 | B001 | 101 | 81 |
201715123 | B002 | 102 | 60 |
我选择的方法是,把数据复制到Excel表格
加号,添加行,选择第一个格
然后在复制Excel表格中的数据,粘贴到第一个格
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。