怎么用Mysql *** 作数据库

怎么用Mysql *** 作数据库,第1张

方法如下:

1、首先打开Mysql命令行编辑器,连接Mysql数据

2、使用所要 *** 作的数据库,先显示一下数据库中的表;

3、显示一下表结构,了解一下表中的列;

4、向表插入数据,insert into 表名 (列名) values (值);

5、查询表可以看到所插入的数据,select from 表名;

6、可以再插入一个数据,显示一下。

扩展资料

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。

MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

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

由于其社区版的性能卓越,搭配 PHP 和 Apache 可组成良好的开发环境。

与其他的大型数据库,例如 Oracle、DB2、SQL Server等相比,MySQL自有它的不足之处,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于 MySQL是开放源码软件,因此可以大大降低总体拥有成本。

Linux作为 *** 作系统,Apache 或Nginx作为 Web 服务器,MySQL 作为数据库,PHP/Perl/Python作为服务器端脚本解释器。由于这四个软件都是免费或开放源码软件(FLOSS),因此使用这种方式不用花一分钱(除开人工成本)就可以建立起一个稳定、免费的网站系统,被业界称为“LAMP“或“LNMP”组合。

MyISAMMySQL 50 之前的默认数据库引擎,最为常用。拥有较高的插入,查询速度,但不支持事务

InnoDB事务型数据库的首选引擎,支持ACID事务,支持行级锁定, MySQL 55 起成为默认数据库引擎

BDB源 自 Berkeley DB,事务型数据库的另一种选择,支持Commit 和Rollback 等其他事务特性

Memory所有数据置于内存的存储引擎,拥有极高的插入,更新和查询效率。但是会占用和数据量成正比的内存空间。并且其内容会在 MySQL 重新启动时丢失

Merge将一定数量的 MyISAM 表联合而成一个整体,在超大规模数据存储时很有用

Archive非常适合存储大量的独立的,作为历史记录的数据。因为它们不经常被读取。Archive 拥有高效的插入速度,但其对查询的支持相对较差

Federated将不同的 MySQL 服务器联合起来,逻辑上组成一个完整的数据库。非常适合分布式应用

Cluster/NDB高冗余的存储引擎,用多台数据机器联合提供服务以提高整体性能和安全性。适合数据量大,安全和性能要求高的应用

CSV: 逻辑上由逗号分割数据的存储引擎。它会在数据库子目录里为每个数据表创建一个 csv 文件。这是一种普通文本文件,每个数据行占用一个文本行。CSV 存储引擎不支持索引。

BlackHole:黑洞引擎,写入的任何数据都会消失,一般用于记录 binlog 做复制的中继

EXAMPLE 存储引擎是一个不做任何事情的存根引擎。它的目的是作为 MySQL 源代码中的一个例子,用来演示如何开始编写一个新存储引擎。同样,它的主要兴趣是对开发者。EXAMPLE 存储引擎不支持编索引。

另外,MySQL 的存储引擎接口定义良好。有兴趣的开发者可以通过阅读文档编写自己的存储引擎。

参考资料来源:百度百科:mySQL

如果打算为项目选择一款免费、开源的数据库,那么你可能会在MySQL与PostgreSQL之间犹豫不定。MySQL与PostgreSQL都是免费、开源、强大、且功能丰富的数据库。你主要的问题可能是:哪一个才是最好的开源数据库,MySQL还是PostgreSQL呢?该选择哪一个开源数据库呢?

在选择数据库时,你所做的是个长期的决策,因为后面如果再改变决定将是非常困难且代价高昂的。你希望一开始就选择正确。两个流行的开源数据库MySQL与PostgreSQL常常成为最后要选择的产品。对这两个开源数据库的高层次概览将会有助于你选择最适合自己需要的。

MySQL

MySQL相对来说比较年轻,首度出现在1994年。它声称自己是最流行的开源数据库。MySQL就是LAMP(用于Web开发的软件包,包括Linux、Apache及Perl/PHP/Python)中的M。构建在LAMP栈之上的大多数应用都会使用MySQL,包括那些知名的应用,如WordPress、Drupal、Zend及phpBB等。

一开始,MySQL的设计目标是成为一个快速的Web服务器后端,使用快速的索引序列访问方法(ISAM),不支持ACID。经过早期快速的发展之后,MySQL开始支持更多的存储引擎,并通过InnoDB引擎实现了ACID。MySQL还支持其他存储引擎,提供了临时表的功能(使用MEMORY存储引擎),通过MyISAM引擎实现了高速读的数据库,此外还有其他的核心存储引擎与第三方引擎。

MySQL的文档非常丰富,有很多质量不错的免费参考手册、图书与在线文档,还有来自于Oracle和第三方厂商的培训与支持。

MySQL近几年经历了所有权的变更和一些颇具戏剧性的事件。它最初是由MySQLAB开发的,然后在2008年以10亿美金的价格卖给了Sun公司,Sun公司又在2010年被Oracle收购。Oracle支持MySQL的多个版本:Standard、Enterprise、Classic、Cluster、Embedded与Community。其中有一些是免费下载的,另外一些则是收费的。其核心代码基于GPL许可,对于那些不想使用GPL许可的开发者与厂商来说还有商业许可可供使用。

现在,基于最初的MySQL代码还有更多的数据库可供选择,因为几个核心的MySQL开发者已经发布了MySQL分支。最初的MySQL创建者之一Michael"Monty"Widenius貌似后悔将MySQL卖给了Sun公司,于是又开发了他自己的MySQL分支MariaDB,它是免费的,基于GPL许可。知名的MySQL开发者BrianAker所创建的分支Drizzle对其进行了大量的改写,特别针对多CPU、云、网络应用与高并发进行了优化。

PostgreSQL

PostgreSQL标榜自己是世界上最先进的开源数据库。PostgreSQL的一些粉丝说它能与Oracle相媲美,而且没有那么昂贵的价格和傲慢的客服。它拥有很长的历史,最初是1985年在加利福尼亚大学伯克利分校开发的,作为Ingres数据库的后继。

PostgreSQL是完全由社区驱动的开源项目,由全世界超过1000名贡献者所维护。它提供了单个完整功能的版本,而不像MySQL那样提供了多个不同的社区版、商业版与企业版。PostgreSQL基于自由的BSD/MIT许可,组织可以使用、复制、修改和重新分发代码,只需要提供一个版权声明即可。

可靠性是PostgreSQL的最高优先级。它以坚如磐石的品质和良好的工程化而闻名,支持高事务、任务关键型应用。PostgreSQL的文档非常精良,提供了大量免费的在线手册,还针对旧版本提供了归档的参考手册。PostgreSQL的社区支持是非常棒的,还有来自于独立厂商的商业支持。

数据一致性与完整性也是PostgreSQL的高优先级特性。PostgreSQL是完全支持ACID特性的,它对于数据库访问提供了强大的安全性保证,充分利用了企业安全工具,如Kerberos与OpenSSL等。你可以定义自己的检查,根据自己的业务规则确保数据质量。在众多的管理特性中,point-in-timerecovery(PITR)是非常棒的特性,这是个灵活的高可用特性,提供了诸如针对失败恢复创建热备份以及快照与恢复的能力。但这并不是PostgreSQL的全部,项目还提供了几个方法来管理PostgreSQL以实现高可用、负载均衡与复制等,这样你就可以使用适合自己特定需求的功能了。

云时代,最好用的MySQL客户端工具推荐

MySQL是当今最受欢迎的关系型数据库。使用图形客户端(GUI)工具,可以大大帮助开发者提升SQL编写与SQL开发的效率。在云时代,企业越来越多的开始采用RDS MySQL,同时也还有部分本地IDC自建数据库,而在云端也会选择/尝试多个不同云厂商。“工欲善其事,必先利其器”,在这样的背景下,看看有哪些工具产品可供选择吧。

本文完整对比了12种MySQL图形客户端(GUI)工具,从产品体验、功能完整度、云适配、计费模式、OS兼容性等多个角度进行评估与分析,给出推荐。下面产品推荐与整体得分图,读者可根据自己的实际情况选择。

NineData:

是一款非常有特色的数据库SQL开发产品,对MySQL常用功能支持非常完整,包括智能的SQL补全、SQL执行历史、结果集编辑、数据对比、结构对比、数据迁移与复制等。它采用SaaS架构模式,用户不仅可以免费使用,而且无需下载安装,上手比较简单。NineData产品更新迭代比较敏捷,对于开发者的新需求响应比较迅速。另外,该产品在多云适配上是其重要的强项,支持多种连接和访问云数据库的方式,对阿里云、腾讯云、华为云、AWS等都有比较好的支持。另外,也适配国内比较流行的PolarDB、GaussDB、TDSQL等数据库。对于新用户NineData还会赠送两个示例数据库,供用户使用。另外,NineData还提供了企业级SQL开发能力,支持多用户管理、数据库访问权限控制、变更流程、SQL规范、SQL与 *** 作审计等内容,可以较好的解决企业内多人协作访问数据库的问题。

Navicat:

是一款来自香港的产品,约2000年左右发布,是一个老牌的商业化、闭源数据库管理软件,支持主流的Windows、Mac OS X以及Linux,最近两年开始支持订阅模式,个人使用价格约35美元/月,企业版约69美元/月(参考),国内购买为273元/月,有一定的价格门槛,但其使用体验也还不错,功能也比较完整,包括比较强大的SQL补全、导入导出、结果集编辑、E-R模型、数据对比、结构对比、数据迁移等,但有部分功能仅企业版才具备。Navicat的代码块功能做得比较强,可以非常方便自定义一些自己常用的SQL模板。

Workbench:

是最老牌的数据库管理工具了。最早由奥地利程序员Michael G Zinner独立开发,之后Zinner于2003年加入了MySQL AB公司,并于2005年发布了最早的Workbench 50版本;2013年发布了,60版本;2018年,发布了80版本。整体上,该产品依旧随着MySQL的版本而持续更新,但是,更新节奏较慢,界面也非常“老”,并没有受到Oracle/MySQL的重视。Workbench支持主流的Windows、Mac OS X以及Linux,并且开放源代码。但因为界面架构比较长时间没有更新,所以使用的交互体验一般。因为是MySQL官方工具,功能支持是比较完整的,包括SQL补全、SQL历史、导入导出、结果集编辑、E-R模型、数据对比、结构对比、数据迁移等功能都具备。另外,也提供商业化的企业版,支持部分MySQL企业版的功能。

DBeaver:

是一个基于 Java 开发数据库管理工具,提供开源免费的版本。因为是基于Java的,所以也能够支持Windows、Linux、macOS 等 *** 作系统,其支持的数据库类型也比较多。同时也是因为基于Java,其在访问的不同的数据库版本时,有时候需要在线做一些驱动更新,需要访问GitHub的一些资源,而因为一些原因,这类更新经常失败,使其使用体验有一定打折。DBeaver也提供了基础的SQL补全、导入导出、结果集编辑等功能,但也有部分功能仅限于企业版(Pro版本)才提供,另外,软件似乎因为比较大的缘故,所以运行起来有点慢。

phpMyAdmin:

这是另一个老牌的开源免费MySQL访问工具了,在云时代之前,开发者经常需要自己搭建自己完整的开发环境(例如“LAMP”)时,该软件还比较流行。从名字可以看出来,这是一个PHP的Web-Based的MySQL访问工具,所以需要使用并不是很方便,需要构建自己的Web服务器和PHP运行环境。一般来说,现在的开发者也并不会这么去做。另外,phpMyAdmin一直没有商业化,主要靠捐赠和赞助的方式在运转(参考,有意思的是Navicat也在赞助列表,而且是唯一的白金赞助商),整体上,phpMyAdmin其迭代速度非常慢,功能支持也很有限,但是如果是简单、基础的使用,是没有问题的。但,如果是日常开发使用,并不是很推荐。

dbForge:

dbForge是devart的核心产品,最早主要是支持SQL Server数据库,最近几年也发布了对MySQL数据库的支持,也是一个商业化收费软件,产品可以下载试用一段时间。根据使用经验来看,体验还是非常不错的,功能也非常完整。但是,仅支持Windows版本,标准版费用为199美元/年,起步价也并不便宜。

SQLYOG:

SQLyog更多的是专注于数据库的管理,包括性能、监控、优化等方面,也提供基础SQL编辑功能,所以在早期,其在DBA群体中比较受欢迎,但是在整体的开发者中,使用比率并不高。虽然,提供开源的社区版本,但是当前,公司主要在推广其商业版本。另外,在云时代对于监控与实例管理方面的诉求在降低,在SQL开发与云适配上需求更强。从这个角度来看,并不是很推荐这个这个产品。此外,该软件仅支持Windows系统。最近几年这个产品发展比较缓慢,而且SQL开发功能也不再是主推的功能,所以也并不是特别推荐。

HeidiSQL:

HeidiSQL也是一个发展了很长时间的MySQL客户端,使用Delphi构建,所以整体上,有非常好的Windows使用体验。但是不能支持macOS或者Linux。因为发展时间比较长,功能也比较完整。新增了部分对于云产品的适配,例如,如果类型选择的是AWS RDS,那么在kill连接的时候会使用特定的存储过程进行kill。

阿里云DMS:

因为阿里云在国内市占率非常高,所以,阿里云DMS也是一个使用比较广,但是也因为其为阿里云的产品,所以其作为MySQL管理工具并不是非常有名。DMS比较完整的支持MySQL日常SQL开发相关的工作,其功能矩阵也比较完整,可以完成日常的开发工作。DMS对于阿里云数据库的适配自然是非常好,使用也比较便利。但,其对于其他云数据库(诸如腾讯、华为、AWS)的支持就比较有限,而且似乎也并不会在这方面做任何的投入。另外,DMS最近一年的产品大方向主要是在于"一站式的数据管理",所以新增了数据资产、数据开发任务编排等功能。不再是一个SQL开发工具。

BeeKeeper Studio:

Beekeeper目前是由一个由个人开发的MySQL GUI软件。界面简洁现代,支持比较基础的SQL开发功能,包括了SQL窗口、创建表等能力,同时有非常好的平台兼容性。向用户提供免费的功能有限的社区版,完整版是收费的,最低价格为19美元。

DbVisualizer:

DbVisualizer发展时间也比较长了,支持的数据库种类也非常多,底层是基于Java构建的,有不错的平台兼容性,支持Windows / Linux / macOS,在市场也获得不错认可。不过,该软件仅支持英语,并没有对应的中文支持。

小结

通过Wine等方式支持的OS平台,这里并没有考虑,因为根据经验来看,大多数情况下,稳定性都不太好。另外,市面上也还有一些产品超过两年未更新,这里就不再介绍了,例如MyDB Studio;也有部分软件平台属性太强,例如Sequel Pro仅支持Mac,这里也没有介绍。总体上,打分有较强的主观性,所以仅供参考。

oracle与mysql的区别:

1在oracle中用select

from

all_users显示所有的用户,而在mysql中显示所有数据库的命令是show

databases。对于我的理解,oracle项目来说一个项目就应该有一个用户和其对应的表空间,而mysql项目中也应该有个用户和一个库。在oracle(db2也一样)中表空间是文件系统中的物理容器的逻辑表示,视图、触发器和存储过程也可以保存在表空间中。而mysql并没有使用表空间来进行管理。

2查询当前所有的表。oracle:

select

from

tab,mysql:show

tables。

3改变连接用户(库)。oracle:conn

用户名/密码@主机字符串,mysql:use

库名。

4显示当前连接用户(库)。oracle:show

user,mysql:connect。

5执行外部脚本命令。oracle:@asql,mysql:source

asql。

一、并发性

并发性是oltp数据库最重要的特性,但并发涉及到资源的获取、共享与锁定。

mysql:

mysql以表级锁为主,对资源锁定的粒度很大,如果一个session对一个表加锁时间过长,会让其他session无法更新此表中的数据。

虽然InnoDB引擎的表可以用行级锁,但这个行级锁的机制依赖于表的索引,如果表没有索引,或者sql语句没有使用索引,那么仍然使用表级锁。

oracle:

oracle使用行级锁,对资源锁定的粒度要小很多,只是锁定sql需要的资源,并且加锁是在数据库中的数据行上,不依赖与索引。所以oracle对并发性的支持要好很多。

二、一致性

oracle:

oracle支持serializable的隔离级别,可以实现最高级别的读一致性。每个session提交后其他session才能看到提交的更改。oracle通过在undo表空间中构造多版本数据块来实现读一致性,

每个session查询时,如果对应的数据块发生变化,oracle会在undo表空间中为这个session构造它查询时的旧的数据块。

mysql:

mysql没有类似oracle的构造多版本数据块的机制,只支持read commited的隔离级别。一个session读取数据时,其他session不能更改数据,但可以在表最后插入数据。

session更新数据时,要加上排它锁,其他session无法访问数据。

三、事务

oracle很早就完全支持事务。

mysql在innodb存储引擎的行级锁的情况下才支持事务。

四、数据持久性

oracle

保证提交的数据均可恢复,因为oracle把提交的sql *** 作线写入了在线联机日志文件中,保持到了磁盘上,

如果出现数据库或主机异常重启,重启后oracle可以考联机在线日志恢复客户提交的数据。

mysql:

默认提交sql语句,但如果更新过程中出现db或主机重启的问题,也许会丢失数据。

五、提交方式

oracle默认不自动提交,需要用户手动提交。

mysql默认是自动提交。

六、逻辑备份

oracle逻辑备份时不锁定数据,且备份的数据是一致的。

mysql逻辑备份时要锁定数据,才能保证备份的数据是一致的,影响业务正常的dml使用。

七、热备份

oracle有成熟的热备工具rman,热备时,不影响用户使用数据库。即使备份的数据库不一致,也可以在恢复时通过归档日志和联机重做日志进行一致的回复。

mysql:

myisam的引擎,用mysql自带的mysqlhostcopy热备时,需要给表加读锁,影响dml *** 作。

innodb的引擎,它会备份innodb的表和索引,但是不会备份frm文件。用ibbackup备份时,会有一个日志文件记录备份期间的数据变化,因此可以不用锁表,不影响其他用户使用数据库。但此工具是收费的。

innobackup是结合ibbackup使用的一个脚本,他会协助对frm文件的备份。

八、sql语句的扩展和灵活性

mysql对sql语句有很多非常实用而方便的扩展,比如limit功能,insert可以一次插入多行数据,select某些管理数据可以不加from。

oracle在这方面感觉更加稳重传统一些。

九、复制

oracle:既有推或拉式的传统数据复制,也有dataguard的双机或多机容灾机制,主库出现问题是,可以自动切换备库到主库,但配置管理较复杂。

mysql:复制服务器配置简单,但主库出问题时,丛库有可能丢失一定的数据。且需要手工切换丛库到主库。

十、性能诊断

oracle有各种成熟的性能诊断调优工具,能实现很多自动分析、诊断功能。比如awr、addm、sqltrace、tkproof等

mysql的诊断调优方法较少,主要有慢查询日志。

十一、权限与安全

mysql的用户与主机有关,感觉没有什么意义,另外更容易被仿冒主机及ip有可乘之机。

oracle的权限与安全概念比较传统,中规中矩。

十二、分区表和分区索引

oracle的分区表和分区索引功能很成熟,可以提高用户访问db的体验。

mysql的分区表还不太成熟稳定。

十三、管理工具

oracle有多种成熟的命令行、图形界面、web管理工具,还有很多第三方的管理工具,管理极其方便高效。

mysql管理工具较少,在linux下的管理工具的安装有时要安装额外的包(phpmyadmin, etc),有一定复杂性。

一、使用可视化 *** 作创建数据库

1、使用Navicat或者其他工具链接mysql,并链接服务器

2、选中服务器,右击,在新出现的对话框中选择新建数据库

3、在新出现的新建数据库对话框中,填写数据库名、选择字符集和排序规则

4、点击确定,即可创建成功

二、使用SQL语句创建数据库

1

createschema[数据库名称]defaultcharactersetutf8collateutf8_general_ci;--创建数据库

以上就是关于怎么用Mysql *** 作数据库全部的内容,包括:怎么用Mysql *** 作数据库、该选择哪个开源数据库哪一个更好(哪个数据库好用)、MySQL客户端管理工具有哪些推荐等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9673901.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存