数据库的导入导出

作用:使用数据库和导入导出功能 可以对数据库进行备份 迁移等操作
1 导出的数据库 导出数据库使用mysqldump 命令完成 语法:mysqldump-uroot -p (注意不要输入密码)要导出的数据库名 要导出的数据表-- > 目标文件 sql
2 导出整个数据库

mysqldump -uroot -p School > school_bak.sql

数据库的导入导出3 导出库当中的表

mysqldump -uroot -p School tpk > tpk.sql

mysqldump -uroot -p School tpk tfk > tpktfk.sql

数据库的导入导出
4 导入数据库
导入数据库前 需要创建一个空的数据库
语法: mysql -uroot -p 数据库名 < 要导入的文件sql

mysql -uroot -p sch < school_bak.sql

数据库的导入导出

数据表设计思想

  • 需求分析: 根据用户的需求 分析出需要记录的表
  • 需求设计: 根据分析出的数据,设计E-R 模型图
  • 详细设计:将E-R 模型图转换成数据表
  • 三大范式:使用数据库三大范式的设计思想对数据表进行审核
E-R模型图

概念: Entity-Relationship 实体关系图 组成元素
数据库的导入导出
ER图应用案例: 将下面的项目需求 以ER图形式表示出来

数据库的导入导出
表示关系:
数据库的导入导出
三大范式(了解)

  • 第一范式 : 每一列都具有原子性,也就是不能再分割

数据库的导入导出
第二范式 : 每个表只描述一件事情
数据库的导入导出
第三范式 : 表中不能存在冗余字段
数据库的导入导出

数据表练习

  • 创建数据库School
create database School ;
  • 创建学生表 tStudent
    tStudent 学生表结构
sid 学生编号
sName 姓名
sAge 年龄
sGender 性别
sAddress 地址
sClassId 班级Id
sPhone 电话
sBirthday 生日
sCardId 身份证号

答案:

create table tStudent(sId int ,sName char(20),sAge tinyint, sGender enum('boy','girl'),sAddress varchar(50),sPhone char(11),sBirthday year,sCardId char(10),sClassId int);

创建成绩表tScore TblScore 成绩表结构

sid 成绩id 主键 自动编号
sStuId 学生编号
sEnglish 英语成绩
sMath( 数学成绩

答案:

create table tScore(sid int unsigned auto_increment primary key,sStuId int ,sEnglish float(5,2),smath float(5,2));

创建班结表 tClass tClass 班级表结构:

cid 班级ID
cName 班级名称
cDescription 班级描述

答案:

create table tClass(cId int,cName char(10),cDescription varchar(100));

创建老师表 tClass tTeacher 老师表:

ttid
tTname
tTname
tGender
tAge
tTSalary
tTBirthday

答案:

create table tTeacher(tId int ,tName, char(20),tAge tinyint,tGender enum('boy','girl'),tSalary float(10,2),tBirthday year);