MySQL:数据库基本认识

Wesley13
• 阅读 348

1、什么是数据库

通俗来讲,数据库就是用于存储数据的仓库。很多人可能会问,存储数据用文件不就行了吗?为什么还要弄数据库?

文件存储数据具有以下几个缺点:

    • 文件的安全性问题
    • 文件不利于查询和数据库管理
    • 文件不利于存放海量数据
    • 文件在程序中控制不方便

为了解决上面这些问题,专家们设计了更加有利于我们管理数据的工具——数据库。数据库的使用方便了我们对数据的操作、管理和控制,数据库的操作水平也是衡量一个程序员能力的重要指标。

2、MySQL数据库

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle旗下产品。

MySQL是最流行的RDBMS(关系型数据库管理系统)之一,关系型数据库将数据保存在不同的表中,而不是把所有数据放在一个大仓库内,这样就提高了数据库的速度和灵活性。

MySQL所使用的sql语言是用于访问数据库的最常用的标准化语言。MySQL软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,为多种编程语言提供了API,尤其是开放源码这一特点,一般的中小型网站的开发都使用MySQL作为网站数据库。

3、关系型数据库和非关系型数据库的比较

(1)关系型数据库

MySQL:数据库基本认识

关系型数据库最典型的数据结构是表,由二维表及其之间的联系所组成的一个数据组织。

优点:

  • 它的逻辑是常见的表结构,容易理解;
  • 数据一致性高,冗余低,数据完整性好,便于操作;
  • 技术成熟,功能强大,sql语言通用,支持很多复杂操作。

缺点:

  • 每次操作都要进行sql语句的解析,消耗较大;
  • 不能很好的满足并发需求,尤其是海量数据的高效率读写时,关系型数据库读写稍显不足;
  • 固定的表结构,灵活度稍欠。

(2)非关系型数据库

MySQL:数据库基本认识

   Nosql(Not only sql,非关系型数据库)严格上不是一种数据库,应该是一种数据结构化存储的集合,可以使文档或者键值对等

优点:

  • 弱化数据结构的一致性,使用更加灵活;
  • 高并发,读写能力强;
  • 拥有良好的可扩展性。

缺点:

  • 通用性差,没有sql语句那样通用的语句;
  • 不支持复杂操作;
  • 不支持事务。
点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Jacquelyn38 Jacquelyn38
2年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Stella981 Stella981
2年前
Python3:sqlalchemy对mysql数据库操作,非sql语句
Python3:sqlalchemy对mysql数据库操作,非sql语句python3authorlizmdatetime2018020110:00:00coding:utf8'''
Stella981 Stella981
2年前
Django之Django模板
1、问:html页面从数据库中读出DateTimeField字段时,显示的时间格式和数据库中存放的格式不一致,比如数据库字段内容为2012082616:00:00,但是页面显示的却是Aug.26,2012,4p.m.答:为了页面和数据库中显示一致,需要在页面格式化时间,需要添加<td{{dayrecord.p\_time|date:
Stella981 Stella981
2年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Easter79 Easter79
2年前
Twitter的分布式自增ID算法snowflake (Java版)
概述分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移
Wesley13 Wesley13
2年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
京东云开发者 京东云开发者
6个月前
Vitess全局唯一ID生成的实现方案 | 京东云技术团队
为了标识一段数据,通常我们会为其指定一个唯一id,比如利用MySQL数据库中的自增主键。但是当数据量非常大时,仅靠数据库的自增主键是远远不够的,并且对于分布式数据库只依赖MySQL的自增id无法满足全局唯一的需求。因此,产生了多种解决方案,如UUID,Sn
Python进阶者 Python进阶者
3个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这