您的位置:首页 > 数据库 > MySQL

MySQL基础学习1

2020-03-06 17:26 776 查看

MySQL常用DOS命令

如何进入MySQL

mysql -u root -p

回车收到Enter password提示后,输入自己的密码后,命令行窗口会进入MySQL命令方式。

显示所有的数据库

进入MySQL命令方式成功后,在命令行窗口输入:

show databases;

该命令可以显示MySQL已创建的所有数据库。

新增数据库

在命令行窗口输入:

create database <创建的数据库的名称>;

创建完之后,可以使用
show databases;
检查是否成功创建。

删除数据库

在命令行窗口输入:

drop database <删除的数据库名称>;

删除完之后,可以使用
show databases;
检查是否成功删除。

进入数据库

在命令行窗口输入:

use <数据库名称>;

当命令行窗口输出:Database changed,说明打开成功。

显示当前数据库包含的数据表

在使用

use <数据库名称>;
进入数据库之后。
在命令行窗口输入:
show tables;

当命令行窗口显示Tables_in_<数据库名称>,说明显示完毕。

显示其他数据库包含数据表

在命令行窗口输入:

show tables from <数据库名称>;

当命令行窗口显示Tables_in_<数据库名称>,说明显示完毕。

显示当前使用数据库名称

在命令行窗口输入:

select database();

当命令行窗口显示database(),则他下一行的就是当前使用数据库的名称。

查看MySQL的状态

在命令行窗口输入:

status;


注:MySQL默认端口号:3306。

MySQL目录结构

目录 功能
bin 存放可执行文件
docs 存放文档和日志
include 存放头文件
lib 存放一系列库文件
share 存放字符集,语言信息
COPYING 版本许可协议
mydefault.ini 数据库使用的配置文件
Data 存放数据库里存的信息,数据库迁移时,拷贝这里面的文件夹

数据表结构

数据表

数据表是数据库最重要的组成部分之一,包括行和列。一个关系型数据库包括多个数据表。
如下图:

学号 姓名 性别 班级
196******1 王明 2
196******7 李红 2
196******6 李明 1
196******4 王红 1

一列(数据元素)包含了相同意义和相同类型的一组数据。又称为属性或者字段。字段包括字段名和字段值两部分,字段名是在创建表格结构时定义的,字段值是在表格定义完成之后添加的。如上图,学号,姓名,性别,班级都是字段名,而下面对应的数据则是字段值。

冗余字段

某一字段属于一个数据表,但是同时出现在别的数据表。
坏处:影响数值一致性,会加大内存影响空间。
好处:使用空间换取时间,提高响应速度。

主键

主键是一个字段或者多个字段且不能为空,其值能唯一地标识表中的每一行,通过它可强制表的实体完整性。 RDBMS还规定一个数据表中只能包含一个主键。

外键

外键用于关联两个数据表,在同一数据库当中,有的表是有关联的,所以为了降低数据冗余,经常用一种数据单独存在一个表中,查询的时候向多个表获得数据。

表关系外键

1对1

比如员工的工资,一个雇员只有一个工资,而一个工资只能属于一个雇员。则雇员和工资之间具有一对一关系。

1对n

学生与班级,一个班级有多名学生,但是一名学生只有一个班级,则学生与班级是1对n关系。

学号 姓名 性别 班级
196******1 王明 2
196******7 李红 2
196******6 李明 1
196******4 王红 1
班级 班主任
1 王老师
2 李老师

n对m

学生与课程,一名学生可以选择多门课程,一门课程也有多名学生,而遇到这种情况需要把n对m关系转化成连个1对n关系

学生表

学号 姓名 性别
196******1 王明
196******7 李红
196******6 李明
196******4 王红

学生课程成绩表

学号 课程编号 成绩
196******1 101 80
196******7 102 87
196******6 101 83
196******4 102 85

课程表

课程编号 课程名称
101 计算机基础
102 程序设计

如增加学生课程成绩表,则学生表和学生课程成绩表之间是一对多关系,课程表和学生课程成绩表之间也是一对多的关系。

数据库表的设计 E-R图

什么是E-R图?

E-R图也称实体-联系图,提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。

为什么要使用E-R图?

利用E-R模型,更好的模拟现实。

实体

矩形表示,矩形框内写明实体名。
实体是现实世界中各种事物的抽象,是数据的载体。关键在于一个实体能与另一个实体相区别,具有相同属性的实体具有相同的特征和性质。

属性

椭圆形表示,并用无向边将其与相应的实体连接起来。
实体所具有的某一特性,一个实体可由若干个属性来刻画。属性不能脱离实体,属性是相对实体而言的。

关系

菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上关系的类型(1:1,1 : n 或 m : n)。
比如老师给学生授课存在授课关系,学生选课存在选课关系。

设计原则

  1. 一张表描述一个实体或实体之间的关系。
  2. 避免表之间存在重复字段。
  3. 表中的字段是最原始的基本数据元素。

实例

实体包括:

  1. 货仓表:货仓号,面积,电话号码。
  2. 职工表:职工号、姓名、年龄、职称。
  3. 学生表:学号,姓名,年龄。

三范式

1.原子性

数据库表每一列都是不可再分的数据单元,则满足第一范式(1NF)。

2.非主属性依赖

如果一个关系满足1NF,并且除了主键以外的其他列完全依赖主键,则他满足第二范式(2NF)(第二范式要求每个表只描述一种事情)

3.传递性依赖

必须先满足2NF,并且要求表中的每一列只与主键直接相关而不是间接相关,(表中的每一列只能依赖于主键),则它满足第三范式(3NF)。

  • 点赞 3
  • 收藏
  • 分享
  • 文章举报
我也曾想过放弃 发布了4 篇原创文章 · 获赞 12 · 访问量 2545 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: