提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- 一、关系模型
- 二、数据库的操作
- 创建数据库
- 查看数据库
- 选择数据库
- 删除数据库
- 三、MySQL 数据库命名规范
- 总结
一、关系模型
关系数据库是建立在关系模型上的。而关系模型本质上就是若干个存储数据的二维表,可以把它们看作很多Excel表。
- 表的每一行称为记录(Record),记录是一个逻辑意义上的数据。
- 表的每一列称为字段(Column),同一个表的每一行记录都拥有相同的若干字段。
- 字段定义了数据类型(整型、浮点型、字符串、日期等),以及是否允许为NULL。注意NULL表示字段数据不存在。一个整型字段如果为NULL不表示它的值为0,同样的,一个字符串型字段为NULL也不表示它的值为空串''。
通常情况下,字段应该避免允许为NULL。不允许为NULL可以简化查询条件,加快查询速度,也利于应用程序读取数据后无需判断是否为NULL。和Excel表有所不同的是,关系数据库的表和表之间需要建立“一对多”,“多对一”和“一对一”的关系,这样才能够按照应用程序的逻辑来组织和存储数据。
ID | 名称 | 班主任 |
101 | 六年级一班 | 李老师 |
102 | 六年级二班 | 王老师 |
<1对1关系>
每一行对应着一个班级,而一个班级对应着多个学生,所以班级表和学生表的关系就是“一对多”:
ID | 姓名 | 班级ID | 性别 | 年龄 |
1 | 小花 | 101 | M | 9 |
2 | 小红 | 102 | F | 8 |
3 | 小军 | 102 | M | 8 |
4 | 小白 | 101 | F | 9 |
<1对多关系>
反过来,如果我们先在学生表中定位了一行记录,例如ID=1的小花,要确定他的班级,只需要根据他的“班级ID”对应的值101找到班级表中ID=101的记录,即六年级一班。所以,学生表和班级表是“多对一”的关系。
如果我们把班级表分拆得细一点,例如,单独创建一个教师表:
ID | 名称 | 年龄 |
1 | 马老师 | 26 |
2 | 张老师 | 39 |
3 | 潘老师 | 32 |
4 | 赵老师 | 27 |
班级表只存储教师ID:
ID | 名称 | 班主任ID |
101 | 六年级一班 | 1 |
102 | 六年级二班 | 3 |
这样,一个班级总是对应一个教师,班级表和教师表就是“一对一”关系。
二、数据库的操作
像文件一样,我们可以随时对数据库执行如下操作:
- 创建数据库
- 查看数据库
- 选择数据库
- 删除数据库
创建数据库
创建数据库是指在数据库系统中划分一块空间,用来存储相应的数据,这是进行表操作的基础,也是进行数据库管理的基础。代码如下(示例):
(1)在MySQL中,创建数据库之前,可以使用SHOW语句来显示当前已经存在的数据库,具体SQL语句如下:
SHOW DATABASES;
(2)创建数据库的SQL语句如下:
CREATE DATABASE database_name;
(其中参数database_name表示所要创建的数据库的名称)
查看数据库
查看数据库在上面已提及,SQL语句如下:
SHOW DATABASES;
选择数据库
在数据库管理系统中一般会存在许多数据库。在操作数据库对象之前,需要先选择一个数据库。
在MySQL中选择数据库可以通过SQL语句USE来实现,其语法形式如下:
USE database_name;
注:在上述语句中,database_name参数表示所要选择的数据库名字。
在选择具体的数据库之前,首先要查看数据库管理系统中已经存在的数据库,然后才能从这些已经存在的数据库中进行选择。如果选择一个不存在的数据库,就会出现错误。
删除数据库
在删除数据库之前,首先需要确定所操作的数据库对象已经存在。在MySQL中删除数据库可以通过SQL语句DROP DATABASE来实现,其语法形式如下:
DROP DATABASE database_name
注:在上述语句中,database_name参数表示所要删除的数据库名字。
切记: 删除数据库时mysql 不会确认,千万要小心!!!
三、MySQL 数据库命名规范
可以采用26个英文字母 (不区分大小写) 和0-9的自然数 (一般不需要) 加上下划线 ‘_’ 组成,命名简介明确 (School),多个单词用下划线 ‘_’ 分隔,一个项目一个数据库,多个项目慎用同一个数据库!!!
总结
查看创建好的数据库命令:
SHOW DATABASES;
创建数据库命令:
CREATE DATABASE database_name;
选择数据库命令:
USE database_name;
删除数据库命令:
DROP DATABASE database_name;