※MySQL入门必看(简略)※

目录

 为什么要学习数据库?

关系型数据库及非关系型数据库是什么?

使用结构化查询语言的数据库 (SQL,RDBMS)

使用非结构化的查询语言的数据库(NoSQL)

数据库,数据库管理系统?

数据库 (database)----DB

 数据库管理系统(database  manager system)---DBMS

Oracle

SQL  Server

MySQL

 为什么要学习MySQL?

 MySQL书写规范

大小写

标点符号

sqlyog中的SQL注释

1,单行注释

2,多行注释

 数据表间关系

自我引用       

一对一

一对多

多对多


我们为什么要学习数据库,又为什么要使用MySQL这个软件呢?相信大家在接触MySQL时都会有着这样的疑问。接下来我们一起去认识和了解数据库与MySQL。

 为什么要学习数据库?

在信息时代到来之前,数据存储的方式向两个方向发展:文件和数据库。

1、文件相当于将数据放入 Excel中,形成读写文件存储,然后通过 python等工具对文件数据进行筛选、处理、提取;

2、数据库则是将数据按其结构存储在计算机中,形成一个大容量的数据集,相当于存储文件的文件柜。

如下为网上找来的数据库形象

使用数据库存储数据是当今最流行的方法,数据库具有持久存储能力,读写速度快,更关键的是数据库能极大地保证数据的有效性,这与 Excel之类的文件相比, Excel这样容易产生修改错误。

现在的我们可能很难体会到以前办公室工作人员的烦恼--电脑突然断电关机,而所做的文件却没来得及保存,于是一天的工作白做了。现在的我们有了数据库后就可以把数据保存到可掉电式存储的设备中以供后期使用(即将内存中的数据保存到硬盘上加以固化)。我们将内存中的数据保存到关系型数据库中也可以是类似×××.xml的文件。

关系型数据库及非关系型数据库是什么?

使用结构化查询语言的数据库(SQL,RDBMS)

SQL:structured  query  language(结构化查询语言),专门用于数据库通信的语言

 关系型数据库存储的就是二维表,即可以使用行和列来存储数据(存储的这种数据一般也叫结构化数据)。关系型数据库把复杂的数据结构归结为简单的二元关系(二维表格形式)。

便于用户理解,这一系列的行和列被称为表(table),一组数据表(tables)组成了一个数据库(database)。通俗来讲就是区分该数据库是否需要是先建库,再建表。如果要建库,则表示该数据库为关系型数据库。反之则不是。

 使用非结构化查询语言的数据库(NOSQL)

非关系型数据库要相对多些,之所以要有非关系型数据库是为了方便我们处理非二维表格形式的数据,如文本,音视频等。费关系型数据库是传统数据库(关系型数据库)的功能阉割版本。不需要经过SQL层的解析,性能比较高。目前许多的非关系型数据库都是免费的。

相比于SQL(关系型数据库)有许多类型的数据库,如:键值型数据库(redis),文档型数据库(mogodb),搜索引擎型数据库(es),列式数据库(hbase),图形数据库(infogrid)。redis键值型数据库见名知意,就是用于存储键值对的。而hbase列式数据库在大数据处理中使用,其他的就不做赘述了,以后用到了再做了解。

数据库,数据库管理系统?

学习数据库我们需要知道什么是数据库,数据库管理系统又是什么。

数据库 (database)----DB

数据库就是实打实的物理磁盘上的文件(或文件系统),是保存一系列有组织的数据。

拿我们现在下载好的MySQL举栗子:

以下就是MySQL的数据库,用于存放我们的数据的,如数据表等。

 数据库管理系统(database  manager system)---DBMS

 而我们的数据库管理系统则类似于一个软件,一个用于操作和管理数据库的大型软件。也用于

建立,使用和维护数据库。可以对数据库进行统一管理和控制,用户通过数据库管理系统访问数据库中表内的数据。 

依旧是拿官网上下载的MySQL举栗子,以下有着bin等目录的文件夹就是我们的数据库管理系统。

 常规的且用得最多的有以下三个关系型数据库管理系统:

Oracle

1979年诞生,收费,一般用于大型(国际)企业。

SQL  Server

1989年诞生

MySQL

开放源代码的关系型数据库管理系统,由瑞典mysql  ab (创始人 Michael  widenius)公司与1995年开发,迅速成为开源数据的No.1(虽然Oracle排名在MySQL之前,但是Oracle要收费,非开源的软件)。MySQL数据库的使用仅次于Oracle,因此Oracle多次想要收购MySQL,但是MySQL的创造者拒绝了,因为他的本意就是开发一个开源的数据库大家都可以免费使用。但是在2008年MySQL被sun(java开发的源公司)公司收购了,之后次年sun公司又被Oracle公司收购了,可以说兜兜转转Oracle还是收购了MySQL。

MySQL的创造者担心MySQL有闭源的风险,因此创建了一个分支项目-----Maria  db(这个数据库的排名也是很靠前的)有兴趣的可以去登录下面的网址来查看数据库的最新排名:

 DB-Engines Ranking - popularity ranking of database management systems

 为什么要学习MySQL?

从上面的排名我们可以看到MySQL的使用者还是非常多的,名次仅次于Oracle。

现在许多的厂商也选用MySQL,究其原因有以下几点:

  • 因为是开源代码,所以使用成本低
  • 性能卓越,服务稳定
  • 软件体积小,使用简单,并且易于维护
  • 历史悠久,社区用户非常活跃,遇到问题可以寻求帮助
  • 许多互联网公司都在用,经过了时间的验证

。一般公司处理的数据量不是像跨国公司那样大的话,使用MySQL是绰绰有余的,像现在的美团以及一些其他公司使用的就是MySQL来作为数据管理库管理系统。

(如果有兴趣的话学习Oracle也是一个不错的选择,因为很多时候数据工程师相关的职业首选就是会Oracle并且考到red  hat(红帽)证书的人)

 MySQL书写规范

大小写

在不同的操作系统下MySQL的书写规范也有一定的区别:

1,在Windows操作系统下,MySQL大小写不敏感。如abc.txt和ABC.txt是同一个文件

2,在linux操作系统下,数据库名,变量名,表名,表别名是严格区分大小写的。

 如果记不住的话,我们可以记一个统一的大小写规范:

数据库,表,字段名,表别名,字段别名等都小写。

SQL关键字,函数名,绑定变量等都大写。

标点符号

1,必须保证所有的小括号,单引号,双引号是成双成对结束的。

2,必须使用英文状态下的半角输入格式

3,字符串和日期时间类型的数据可以使用单引号表示

4,列的别名尽量使用双引号并且不要省略as

5,字段名,表名,保留字,数据库系统或常用方法有冲突时,如果坚持使用的话可以使用``着重号引起来。

sqlyog中的SQL注释

1,单行注释

使用#或者是--加空格。

2,多行注释

使用 /* */ 

 数据表间关系

自我引用       

数据表的自我引用就是一张表里面已经有着它所需要的信息,而无需与其他数据表形成关系

如下,我们有一张西游主要人物表,里面有员工编号,员工姓名,上司编号等信息:

 从上图我们可以看到在唐僧师徒tb表中,唐僧的上司是如来佛祖,而孙悟空,沙和尚,猪八戒都是唐僧的徒弟。

一对一

表格间的一对一关系一般是两种有着相同id数的表且一张存储常用信息,另外一张存储的是不常用信息。

一对多

一对多的使用案例,多为常见于员工表和部门表之间以及客户表和订单表中。

一张客户表能够对应多张订单表。一个部门表对应多张员工表。

多对多

多对多的关系需要创建第三张表作为联接表---这张联接表可以使得两张没有关系的表连接上。

如学生表和课程表是两张单独且没有联系的表,但是如果我们再加上一张选课表,就可以将学生表和课程表联接起来。

一个学生可以选多门课,一门课也可以被多个学生选择。 

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值