MySQL入门

摘要

MySQL是世界上最流行的开源数据库。尽管有强大的功能,MySQL的设置和使用都很简单。下面是一些指导,帮助您通过几个简单的步骤启动和运行MySQL。方法来执行MySQL的一些基本操作mysql客户端。

笔记
  • 下面的说明不一定适用于MySQL 5.7以上的MySQL版本。

  • 这些只是新安装的说明。如果您已经在使用MySQL并且想要升级到新版本,请参见升级MySQL

有关法律信息,请参阅法律声明

有关使用MySQL的帮助,请访问MySQL论坛,在那里您可以与其他MySQL用户讨论您的问题。

文档生成日期:2021年8月05日(修订版本:70529)


表的内容


安装和启动MySQL

有不同的方法来安装MySQL。下面介绍在不同平台上安装和启动MySQL的最简单方法。

使用MySQL客户端连接MySQL服务器

MySQL服务器启动并运行之后,您可以以超级用户的身份连接到它mysql客户端。

  • 在Linux上,在命令行终端输入以下命令(要使用通用二进制文件进行安装,您可能需要首先转到箱子MySQL安装目录下的文件夹):

    Shell: > mysql -u root -p
  • 在Windows上,点击开始所有程序MySQLMySQL 5.7命令行客户端(或MySQL 8.0命令行客户端分别)。如果你没有使用MySQL安装程序安装MySQL,打开一个命令提示符,转到箱子打开MySQL安装目录下的文件夹,然后执行以下命令:

    C:\> mysql -u root -p

然后你会被要求密码,根据你安装MySQL的方式以不同的方式分配。上面给出的安装和初始化说明已经解释了密码,但这里是一个快速的总结:

  • 对于使用MySQL Yum储存库、MySQL SUSE储存库或直接从Oracle下载的RPM包安装,生成的密码在错误日志中。例如,使用以下命令查看它:

    Shell > sudo grep '临时密码' /var/log/mysqld.log
  • 对于使用MySQL APT存储库或直接从Oracle下载的Debian包进行安装,您应该已经分配了密码你自己;如果你因为某种原因没有这样做,请参阅“重要”注释在这里如何重置Root用户密码

  • 用于在Linux上使用通用二进制文件进行安装,然后使用mysqld——初始化讨论了在初始化数据目录,生成的密码在数据目录初始化时的标准错误流中显示:

    [警告]“root@localhost: iTag*AfrH5ej”生成临时密码

    请注意

    根据用于初始化MySQL服务器的配置,错误输出可能被定向到MySQL错误日志;如果您在屏幕上没有看到上述消息,请到那里检查密码。错误日志是一个带有.err扩展,通常在服务器的数据目录下找到(该目录的位置取决于服务器的配置,但很可能是数据文件夹下的MySQL安装的基本目录,或/var/lib/mysql文件夹)。

    如果已经用。初始化了数据目录mysqld——initialize-insecure相反,密码是空的。

  • 对于使用MySQL安装程序在Windows上安装和使用安装程序包在OS X上安装,您应该分配一个密码你自己。

如果你忘记了您所选择的密码或在查找临时密码时遇到问题为您生成的密码,请参见如何重置Root用户密码

连接到MySQL服务器后,将显示欢迎消息和mysql >提示符出现,看起来像这样:

欢迎来到MySQL监视器。命令以;或\ g。您的MySQL连接id是4服务器版本:5.7.32 MySQL社区服务器(GPL)版权(c) 2000,2020, Oracle和/或其附属公司。Oracle是Oracle公司和/或其关联公司的注册商标。其他名称可能是其各自所有者的商标。键入'help;'或'\h'表示帮助。输入'\c'清除当前输入语句。mysql >

此时,如果您已经使用临时在安装或初始化过程中生成的密码(如果您使用MySQL Yum存储库,或使用Oracle的RPM包或通用二进制文件安装MySQL,则会出现这种情况),请更改您的在提示符下输入以下语句输入密码:

mysql>修改用户名root @ localhostnew_password”;

直到你改变你的密码,您将无法行使任何超级用户的特权,即使您以

的时候要记住一些有用的东西mysql客户:

  • 客户端命令(例如,帮助辞职,清晰的)和SQL语句中的关键字(例如,选择创建表,插入)不区分大小写。

  • 列名区分大小写。表名在大多数类unix平台上区分大小写,但在Windows平台上不区分大小写。字符串比较时的区分大小写取决于您使用的字符排序规则。一般来说,把所有标识符(数据库名、表名、列名等)和字符串都区分大小写是个好主意。看到标识符区分大小写而且字符串搜索中的区分大小写获取详细信息。

  • 通过按,可以在多行上键入SQL语句输入在它的中间。键入分号()后接输入结束SQL语句并将其发送到服务器执行;当语句以。结尾时也会发生同样的情况\ g\ G(使用后者,返回的结果将垂直显示)。然而,客户端命令(例如,帮助辞职,清晰的)不需要终止符。

要断开与MySQL服务器的连接,输入辞职\问在客户端:

mysql >退出

MySQL的一些基本操作

下面是MySQL服务器的一些基本操作。SQL语句详细解释了下面所示的SQL语句的丰富语法和功能。

显示现有的数据库。使用一个显示数据库声明:

mysql >显示数据库;+--------------------+ | 数据库  | +--------------------+ | mysql information_schema | | | | performance_schema | |系统  | +--------------------+ 4行集(0.00秒)

创建一个新数据库。使用一个创建数据库声明:

创建数据库宠物;查询OK, 1行受影响(0.01秒)

检查数据库是否已经创建:

mysql >显示数据库;+--------------------+ | 数据库  | +--------------------+ | 宠物mysql information_schema | | | | performance_schema | | | |系统  | +--------------------+ 5行集(0.00秒)

在数据库中创建表。首先,选择要在其中创建表的数据库使用声明:

mysql> USE pets数据库更改

使用语句告诉MySQL使用宠物作为后续语句的默认数据库。接下来,创建一个表创建表声明:

CREATE TABLE cats (id INT unsigned NOT NULL AUTO_INCREMENT, #记录名VARCHAR(150) NOT NULL, #猫的主人名VARCHAR(150) NOT NULL, #猫的主人出生日期NOT NULL, #猫的生日主键(id) #将id作为主键);

可以在每列中使用的数据类型将在数据类型主关键字优化解释主键的概念。下面一个控件会忽略每一行上的注释mysql客户端;看到评论对于其他注释样式。

属性是否创建了表显示表声明:

mysql >显示表;+----------------+ | Tables_in_pets  | +----------------+ | 猫  | +----------------+ 1行集(0.00秒)

描述显示表中所有列的信息:

mysql >描述猫;+-------+------------------+------+-----+---------+----------------+ | 字段默认零关键| | | | |类型多  | +-------+------------------+------+-----+---------+----------------+ | id | int(10)无符号|没有零| | PRI | auto_increment | | |名称varchar(150) | | |零| | | |老板varchar(150) | | |零| | | |出生日期不| | | NULL  | | +-------+------------------+------+-----+---------+----------------+ 4行集(0.00秒)

向表中添加记录。例如,使用an插入值……声明:

插入到猫(名字,主人,出生)VALUES ('Sandy', 'Lennon', '2015-01-03'), ('Cookie', 'Casey', '2013-11-13'), ('Charlie', 'River', '2016-05-21');

看到文字值如何在MySQL中写入字符串、日期和其他类型的文字。

从表中检索记录。使用一个选择声明,*要匹配所有列:

mysql> SELECT * FROM cats;+----+---------+--------+------------+ | id名称| | |所有者  | +----+---------+--------+------------+ | 1 |桑迪列侬| | 2015-01-03 | | 2 |饼干凯西| | 2013-11-13 | | 3 | 2016-05-21 | |查理河  | +----+---------+--------+------------+ 3行集(0.00秒)

方法根据特定条件选择特定的列和行在哪里条款:

SELECT name FROM cats WHERE owner = 'Casey';+--------+ | 的名字  | +--------+ | 饼干  | +--------+ 1行集(0.00秒)

从表中删除一条记录。使用一个删除语句从表中删除记录,并使用在哪里条款:

mysql> DELETE FROM cats WHERE name='Cookie';查询OK, 1 row affected (0.05 sec) mysql> SELECT * FROM cats;+----+---------+--------+------------+ | id名称| | |所有者  | +----+---------+--------+------------+ | 1 |桑迪列侬| | 2015-01-03 | | 3 | 2016-05-21 | |查理河  | +----+---------+--------+------------+ 2行集(0.00秒)

从表中添加或删除列。使用一个ALTER TABLE…添加语句添加列。例如,你可以使用an子句来指定新列的位置:

修改表猫的名字后添加性别CHAR(1);查询OK, 0 rows affected (0.24 sec) Records: 0 duplicate: 0 warning: 0

使用描述查询查询结果。

mysql >描述猫;+--------+------------------+------+-----+---------+----------------+ | 字段默认零关键| | | | |类型多  | +--------+------------------+------+-----+---------+----------------+ | | int id(10)无符号|没有零| | PRI | auto_increment | | |名称varchar(150) | | |零| | | |性别char(1) |是| |零| | | |老板varchar(150) | | |零| | | |出生日期不| | | NULL  | | +--------+------------------+------+-----+---------+----------------+ 5行集(0.00秒)

显示创建表显示了一个创建表语句,它提供了关于表的更多细节:

猫\ G mysql >显示创建表  *************************** 1。row *************************** Table: cats Create Table: Create Table ' cats ' (' id ' int(10) unsigned NOT NULL AUTO_INCREMENT, ' name ' varchar(150) NOT NULL, ' gender ' char(1) DEFAULT NULL, ' owner ' varchar(150) NOT NULL, ' birth ' date NOT NULL, ' id ')) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1 1 row in set (0.00 sec)

使用ALTER TABLE下降……删除一个列。

修改表猫的删除性别查询OK, 0 rows affected (0.19 sec) Records: 0 duplicate: 0 warning: 0 mysql> description cats;+-------+------------------+------+-----+---------+----------------+ | 字段默认零关键| | | | |类型多  | +-------+------------------+------+-----+---------+----------------+ | id | int(10)无符号|没有零| | PRI | auto_increment | | |名称varchar(150) | | |零| | | |老板varchar(150) | | |零| | | |出生日期不| | | NULL  | | +-------+------------------+------+-----+---------+----------------+ 4行集(0.00秒)

看到教程有关如何使用MySQL服务器的更多说明。

其他需要完成的重要任务

创建更多用户帐户。是MySQL服务器管理的超级用户帐户,不应该用于一般操作。有关如何创建各种类型的用户帐户,请参见添加帐户、分配权限和删除帐户

将MySQL配置为systemd管理。如果您已经使用通用二进制文件在systemd平台上安装了MySQL,并希望用systemd管理它,请参见使用systemd管理MySQL服务器

故障排除

以下是用于排除您可能遇到的一些问题的资源:

其他有用的资源

法律声明

版权所有©1997,2021,Oracle和/或其附属公司。

本软件和相关文档是在许可协议下提供的,其中包含使用和10bet官方网站披露的限制,并受知识产权法的保护。除非您的许可协议中明确允许或法律允许,否则您不得以任何形式或方式使用、复制、复制、翻译、广播、修改、许可、传输、分发、展示、表演、出版或展示任何部分。除非法律要求互操作性,否则禁止对该软件进行逆向工程、拆卸或反编译。

本文件所载资料如有更改,恕不另行通知,亦不保证无错误。如果您发现任何错误,请以书面形式向我们报告。

如果这是交付给美国政府或代表美国政府授权的任何人的软件或相关文10bet官方网站件,则适用以下通知:

美国政府最终用户:Oracle程序(包括任何操作系统、集成软件、在交付的硬件上嵌入、安装或激活的任何程序,以及对该等程序的修改)和交付给美国政府最终用户或由其访问的Oracle计算机文档或其他Oracle数据,根据适用的联邦采编条例和特定于机构的补充条例,均为“商业计算机软件”或“商业计算机软件文档”。10bet官方网站因此,使用、复制、复制、发布、展示、披露、修改、准备衍生作品和/或改编i) Oracle程序(包括任何操作系统、集成软件、在交付的硬件上嵌入、安装或激活的任何程序,以及该等程序的修改),ii) Oracle计算机文档和/或iii)其他Oracle数据,受适用合同中包含的许可中规定的权利和限制。10bet官方网站管理美国政府使用Oracle云服务的条款由适用于此类服务的合同定义。美国政府不被授予其他权利。

这种软件或硬件是为在各种信息管理应用程序中普遍使用而开发的。它不是为任何固有的危险应用程序开发或打算使用,包括可能造成人身伤害风险的应用程序。如果您在危险的应用中使用此软件或硬件,那么您应负责采取所有适当的故障保护、备份、冗余和其他措施,以确保其安全使用。Oracle公司及其附属公司不承担因在危险应用程序中使用本软件或硬件而造成的任何损害的责任。

Oracle和Java是Oracle和/或其附属公司的注册商标。其他名称可能是其各自所有者的商标。

Intel和Intel Inside是Intel公司的商标或注册商标。所有SPARC商标均经许可使用,并为SPARC International, Inc.的商标或注册商标。AMD、Epyc和AMD标志是AMD的商标或注册商标。UNIX是Open Group的注册商标。

该软件或硬件和文档可能提供对第三方内容、产品和服务的访问或信10bet官方网站息。除非您与Oracle之间的适用协议另有规定,否则Oracle公司及其关联公司不对第三方内容、产品和服务的任何类型的任何保证负责,也不明确声明不承担任何责任。甲骨文公司及其关联公司不承担因您访问或使用第三方内容、产品或服务而产生的任何损失、成本或损害,但您与甲骨文之间的适用协议另有规定的除外。

本文档不是10bet官方网站在GPL许可下发布的。使用本文件须遵守以下条款10bet官方网站:

您可以创建此文档的打印副本,仅供您个人使用。10bet官方网站只要不以任何方式修改或编辑实际内容,就允许转换为其他格式。您不应以任何形式或在任何媒体上发布或发布本文档,除非您以类似Oracle发布文档的10bet官方网站方式发布文档(即在软件的网站上通过电子方式下载)或以CD-ROM或类似媒介发布文档,但前提是文档与软件一起在同一媒介上发布。任何其他用途,例如在其他出版物中传播本文档的印刷副本或使用本文档的全部或部分,都需要事先获得Oracle的授权代表的书面同意。10bet官方网站Oracle和/或其附属公司保留上述未明确授予的对本文档的任何和所有权利。10bet官方网站

10bet官方网站文档可访问性

有关Oracle对可访问性的承诺的信息,请访博彩到10bet娱乐城问Oracle可访问性计划网站https://www.oracle.com/corporate/accessibility/

访问Oracle可访问性支持

购买了支持的Oracle客户可以通过My Oracle support访问电子支持。的信息,请访问https://www.oracle.com/corporate/accessibility/learning-support.html#support-tab


本手册下载
PDF (Ltr)- 53.5 kb
PDF (A4)- 54.0 kb