找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

只需一步,快速开始

MySQL好在哪?怎么用?终于有人讲明白了

查看: 3238| 评论: 1| 发布者: 娄烦门户网

??? ??С
简介:导读:MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle旗下产品。MySQL是最流行的关系型数据库管理系统之一,许多全球规模庞大、发展迅速的组织,Facebook、Google、Adobe、Alcatel Lucen ...

导读:MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle旗下产品。MySQL是最流行的关系型数据库管理系统之一,许多全球规模庞大、发展迅速的组织,Facebook、Google、Adobe、Alcatel Lucent和Zappos等都依靠MySQL来管理数据,为其高容量网站、关键业务系统和套装软件提供支持。

作者:王宏志 何震瀛 王鹏 李春静

来源:华章科技

MySQL好在哪?怎么用?终于有人讲明白了

01 关系数据库MySQL概述


MySQL有如下特点,这些特点使得其得到了广泛应用。

1. 简单易用

MySQL是一个高性能且相对简单的数据库系统,与一些大型系统的设置和管理相比,其复杂程度较低。

2. 价格低

MySQL对多数个人用户来说是免费的。

3. 小巧

MySQL数据库的4.1.1发行版只有21MB,安装完成也仅仅51MB。

4. 支持查询语言

MySQL支持SQL(结构化查询语言)。SQL是一种所有现代数据库系统都选用的语言。SQL支持ODBC(开放式数据库连接)的应用程序,ODBC是Microsoft开发的一种数据库通信协议。

5. 性能

MySQL数据库没有用户数的限制,多个客户机可同时使用同一个数据库。可利用几个输入查询并查看结果的界面来交互式地访问MySQL。这些界面有命令行客户机程序、Web浏览器或X Window System客户机程序。此外,还有由各种语言(如C、C++、Eiffel、Java、Perl、PHP、Python、Ruby和Tcl)编写的界面。因此,可以选择使用已编好的客户机程序或编写自己的客户机应用程序。

6. 连接性和安全性

MySQL是完全网络化的,可在因特网上的任何地方访问其数据库,因此,可以和任何地方的任何人共享数据库。而且MySQL支持访问控制,可以控制哪些人不能看到数据。

7. 可移植性

MySQL可运行在各种版本的UNIX以及其他非UNIX的系统(例如Windows和OS/2)上。MySQL可运行在从家用PC到高级的服务器上。

8. 开放式的分发

MySQL容易获得:只要使用Web浏览器即可访问官网下载获得。如果不能理解其中某个算法是如何起作用的,或者对某个算法感到好奇,可以将其源代码取来,对源代码进行分析。如果不喜欢某些算法,还可以更改它。

9. 速度快

MySQL运行速度很快。曾经有开发者声称MySQL可能是目前能得到的最快的数据库。

02 SQL概述


SQL最早的版本是由IBM开发的,它最初被叫作Sequel,在20世纪70年代早期是System R项目的一部分。Sequel语言发展至今,其名称已变为SQL(Structured Query Language,结构化查询语言)。它是一种特定目的编程语言,用于管理关系数据库管理系统或在关系流数据管理系统中进行流处理。

MySQL好在哪?怎么用?终于有人讲明白了

SQL基于关系代数和元组关系演算,包括一个数据定义语言和数据操纵语言。SQL的范围包括数据的插入/查询/更新和删除、数据库模式的创建和修改,以及数据访问控制。尽管SQL经常被描述为一种声明式编程语言(4GL,即第四代语言),但也含有过程式编程的元素。

SQL是对埃德加·科德关系模型的第一个商业化语言实现,这一模型于1970年在一篇具有影响力的论文《一个对于大型共享型数据库的关系模型》中被描述。尽管SQL并非完全按照科德的关系模型设计,但其依然成为应用最为广泛的数据库语言。

SQL在1986年成为美国国家标准学会(ANSI)的一项标准,在1987年成为国际标准化组织(ISO)标准。此后,这一标准经过了一系列的增订,加入了大量新特性。虽然有这一标准的存在,但大部分SQL代码在不同的数据库系统中并不具有完全的跨平台性。

MySQL非常友好地支持SQL语言,本文只给出简单的举例,有关详细的SQL语法及举例,可参见官网:

https://dev.mysql.com/doc/refman/8.0/en/sql-syntax.html

官网按SQL语法功能分为8个部分,分别是:
  • 数据定义语句(Data Definition Statement)
  • 数据处理语句(Data Manipulation Statement)
  • 事务和锁定声明(Transactional and Locking Statement)
  • 复制语句(Replication Statement)
  • 预处理SQL语句语法(Prepared SQL Statement Syntax)
  • 复合语句语法(Compound-Statement Syntax)
  • 数据库管理声明(Database Administration Statement)
  • 效用声明(Utility Statement)

下文将对前2个部分举例讲解。

03 数据定义语句


数据库中的关系集合必须由数据定义语句指定给系统,主要提供表相关的定义关系模式、删除关系以及修改关系模式的命令。例如:数据库、表、表空间、触发器、事件、索引及函数的定义、更改操作等。

【例1】指定表空间创建库表,并在已有表的基础上增加列,查看表结构。

1. 建立名为ts_1的表空间
mysql>CREATETABLESPACEts_1ADDDATAFILE'ts_1.ibd'Engine=InnoDB;QueryOK,0rowsaffected(0.11sec)

2. 建立名为testq的数据库
mysql>CREATEDATABASEtestq;QueryOK,1rowaffected(0.00sec)

3. 切换至名为testq的数据库
mysql>usetestq;Databasechanged

4. 建立表,并指定表使用的表空间及引擎
mysql>CREATETABLEt1(->c1INTSTORAGEDISK,#数据存储于磁盘->c2INTSTORAGEMEMORY#数据基于内存->)TABLESPACEts_1ENGINEINNODB;#指定表空间ts_1及引擎INNODBQueryOK,0rowsaffected(0.34sec)

5. 向表t1中增加列c3,类型为VARCHAR,长度为10
mysql>ALTERTABLEt1ADDc3VARCHAR(10);QueryOK,0rowsaffected(0.52sec)Records:0Duplicates:0Warnings:0

6. 查看表t1的结构
mysql>DESCt1;+-------+-------------+------+-----+---------+-------+|Field|Type|Null|Key|Default|Extra|+-------+-------------+------+-----+---------+-------+|c1|int(11)|YES||NULL|||c2|int(11)|YES||NULL|||c3|varchar(10)|YES||NULL||+-------+-------------+------+-----+---------+-------+3rowsinset(0.00sec)
  • 注意

在my.ini文件中设置:

# The default storage engine that will be used when create new tables when

default-storage-engine=INNODB

否则会出现“1286 Unknown storage engine 'InnoDB'”错误。

成功启动后,通过SHOW ENGINES查看引擎是否在运行:

MySQL好在哪?怎么用?终于有人讲明白了

04 数据处理语句


数据处理语句主要提供数据库表中相关数据元组的插入、删除、修改和查询等操作。

【例2】向已有的表t1中插入、查询、更改和删除数据。

1. 向表t1中插入2条数据,其中第2列数据是第1列数据的2倍
mysql>INSERTINTOt1(c1,c2,c3)VALUES(1,c1*2,'a'),(2,c1*2,'b');QueryOK,2rowsaffected(0.10sec)Records:2Duplicates:0Warnings:0

2. 查询表t1中所有的数据
mysql>SELECT*FROMt1;+------+------+------+|c1|c2|c3|+------+------+------+|1|2|a||2|4|b|+------+------+------+2rowsinset(0.00sec)

3. 更新表t1中的数据,其中当c1等于2时,对应的c2列的数据乘以3,对应的c3列的值更改为updateb
mysql>UPDATEt1SETc2=c1*3,c3='updateb'->WHEREc1=2;QueryOK,1rowaffected(0.11sec)Rowsmatched:1Changed:1Warnings:0

4. 当c1等于2时,查询表t1中对应的元组的数据
mysql>SELECT*FROMt1WHEREc1=2;+------+------+---------+|c1|c2|c3|+------+------+---------+|2|6|updateb|+------+------+---------+1rowinset(0.05sec)

5. 当c1等于2时,删除表t1中对应的元组的数据
mysql>DELETEFROMt1WHEREc1=2;QueryOK,1rowaffected(0.10sec)

用SELECT语句查询表t1,发现c1=2对应的元组的数据都已经被删除。
mysql>SELECT*FROMt1;+------+------+------+|c1|c2|c3|+------+------+------+|1|2|a|+------+------+------+1rowinset(0.00sec)

关于作者:王宏志,哈尔滨工业大学计算机科学与技术学院教授、博士生导师,英才学院副院长。研究方向为大数据、数据科学、数据管理与分析。在VLDB、SIGMOD等国内外重要会议和期刊上发表学术论文200余篇,出版学术专著两本,其论文被SCI收录50余次,他引千余次。

何震瀛,博士,复旦大学计算机科学学院副教授,中国计算机学会数据库专业委员会委员、大数据专业委员会通信委员。主要研究兴趣是数据管理和数据分析等。

王鹏,毕业于哈尔滨工业大学软件工程专业,研究生学历。曾就职于中国普天信息技术研究院,并担任架构师、技术总监等职使。曾代表企业主导网络存储国家行业标准制定,拥有相关专利3项。

李春静,工学硕士,现任北京华育兴业科技有限公司大数据讲师,并承担高校大数据技术与应用资源建设工作。主要从事Hadoop、HBase、Hive、Spark、大数据库、机器学习等课程研发工作。

本文摘编自《大数据管理系统原理与技术》,经出版方授权发布。

MySQL好在哪?怎么用?终于有人讲明白了

延伸阅读《大数据管理系统原理与技术》


推荐语:本书介绍了多种数据库管理系统的基本概念以及代表性数据库管理系统的使用和优化方法,覆盖了传统的关系数据库、数据仓库,以及列族、键值、文档、图等NoSQL数据库系统。

【免责声明】本文仅代表作者或发布者个人观点,不代表SEO研究协会网(www.seoxiehui.cn)及其所属公司官方发声,对文章观点有疑义请先联系作者或发布者本人修改,若内容涉及侵权或违法信息,请先联系发布者或作者删除,若需我们协助请联系平台管理员,邮箱cxb5918@163.com(本平台不支持其他投诉反馈渠道,谢谢合作)。若需要学习以上相关知识请到巨推学院观看视频教程,网址www.jutuiedu.com。

鸡蛋

鲜花

握手

雷人

路过
已有 1 人参与

会员评论

推荐阅读

    2020-03-30 20:41
  • 作者:dfzk313

    钱存银行还是买理财产品,哪个好?

    钱存银行或买理财产品,哪个好?这个问题就好比我们去买一件商品,在不同人的眼里,对于喜欢这件商品的人来讲,就觉得好。而对于不喜欢这件商品的人来讲,他就会觉得并不怎么样。不管是选择把钱存银行,还是购买理财

  • 2020-03-30 20:26
  • 作者:朴者

    微信排行 Top 10,那些最让人不爽的聊天方式

    前几天,咆哥在网络上‘浪荡’的时候,一个十分有意思的词涌进了咆哥的眼眶——微德。什么叫做微德?肯定不是微小的品德这种低级的说法,而是指适用于‘微信聊天’的品德。关于微信聊天,相信大家一定有不少的聊天心

  • 2020-03-30 20:11
  • 作者:Rosalind

    北京27日新增3例新冠肺炎境外输入病例 均为美国输入病例

    央视财经(记者 姜美羊)3月27日12时至24时,北京新增报告境外输入新冠肺炎确诊病例 3例,均为美国输入病例。治愈出院1例。昨日共新增境外输入确诊病例3例。截至3月27日24时,累计报告境外输入确诊病例156例,治愈出

  • 2020-03-30 20:10
  • 作者:jamiesun

    网速提高就是5G?你out了,5G在这些领域将颠覆生活重塑世界

    来源:通信信息报本报讯(记者 吴晓芳)疫情仍然霸屏,但没有什么可以阻挡5G的光芒。自2月下旬以来,从中央政治局会议到工信部相关会议,“加快5G网络建设速度”频繁被提及。日前,工信部发布关于“加快5G网络建设,

  • 2020-03-30 19:50
  • 作者:LuLu_88

    世界历史上十大最有权势女性,中国的慈禧和武则天排名在几位?

    历史的页面上充斥着有权势的人物的名字。这其中,也时不时有一些女性表现出与男性同等的威力,这里要介绍的就是世界上十位古代最有权势的女性名单。10、阿基坦的埃莉诺出生:1122年?死亡:1204年在中世纪期间,埃莉

  • 2020-03-30 18:40
  • 作者:power

    这几首传遍2018年的抖音神曲,一定有你没听过的

    如果问2018年什么最火?短视频一定是最绕不开的那一个。毕竟连只爱抽烟喝酒烫头的于大爷都会学猫叫了。谁再说没看过一两个短视频那就不合适了~不过,随着一个个短视频的爆红,你有没有发现其实视频拍的好不好不重要

  • 2020-03-30 18:11
  • 作者:祝真

    传祺GM6和大通G50选哪个好?

    《问答》栏目是挑选部分来自公众号或微博的网友问题做解答,欢迎大家日后多多参与。提问Qustions&解答Answers Jack L传祺GM6和大通G50选哪个好?前几年国内MPV车型的销量一直呈现出两极分化的态势,车型分布极不均

  • 2020-03-30 18:08
  • 作者:知行

    英国首相鲍里斯·约翰逊新冠病毒检测呈阳性

    据英国广播公司3月27日报道,英国首相鲍里斯·约翰逊新冠病毒检测呈阳性。△鲍里斯·约翰逊(资料图)白宫贸易顾问甩锅中国被CNN主播怼:你简直在浪费时间美国专家:美政府未让民众认识疫情严重性美国疫情如何发展?

  • 2020-03-30 17:51
  • 作者:zhaochenww

    界读|18省份逾41万个5G基站今年开通,5G新基建迈入起航阶段

    欧界报道:如今随着疫情得到逐步控制,各行各业的发展也都已经按下了“快进键”,尤其是通信行业,大家都知道5G是当前发展的热点,5G的到来也将引领很多行业朝着新的方向发展,今年5G建设的力度也将更加猛烈,5G基站

  • 2020-03-30 17:46
  • 作者:朴者

    十大攻坚行动解读|让旅游业成为转型发展的“支柱”

    掌上济宁讯 (记者 张彦彦 通讯员 宋育珊)文旅产业是改善民生的“幸福产业”,也是国民经济发展的“绿色产业”“朝阳产业”。今年,我市将文化“两创”作为十大攻坚行动之一,努力将文化资源优势转化产业发展优势。

文章排行

TOP ARTICLES

返回顶部