【翻译】MySQL-Tutorial ( 1 )

xiaoxiao2021-02-27  424

学好MySQL要有好的教程,这里翻译了几篇官方的MySQL教程(MySQL-Tutorial)和大家分享下。 MySQL Tutorial.pdf–链接里有这几篇Tutorial的英文原版pdf,可供英文较好的朋友们学习。

MySQL-Tutorial

安装MySQL 5.7 Windows,Mac OS,CentOS,Ubuntu 使用SQL编程

1.关系数据库和SQL简介

1.1关系数据库

关系数据库组织表中的数据。表有行(或记录)和列(或字段)。表是基于公共列来消除数据冗余并确保数据完整性的。

流行的关系数据库管理系统(RDBMS)包括商业Oracle、IBM DB2、微软SQL Server和Access、SAP Sybase和Teradata、MySQL,PostgreSQL,嵌入式Apache Derby(java db)、connect(Mini SQL)、SQLite和Apache OpenOffice Base。

1.2结构查询语言(SQL)

SQL是一种高级语言,称为结构查询语言,是专为与关系数据库交互而设计的。SQL定义了一组命令,如选择、插入、更新、删除、创建表,删除表,等。 在1970年 ,Edgar F. Codd(IBM)提出关系数据库模型。作为一种较早的编程语言,SQL后来由Donald D. Chamberlin和Raymond F. Boyce在IBM继续发展更新。Oracle公司随后又把它带到一个新的高度。ANSI(美国国家标准协会)于1986成立了第一个SQL标准(简称SQL-86或sql-87),随后在1989(SQL-89)、1992(SQL-92或SQL2)、1999(SQL-99或SQL3)、2003(SQL-2003),2006(sql-2006)和2011(sql-2011)分别发布了不同的新版本。然而,所有的数据库厂商都有自己的数据库,例如,PL / SQL(Oracle)、Transact-SQL(微软、SAP),PL / pgsql(PostgreSQL)。

1.3 SQL实例

一个关系数据库系统包含很多数据库。数据库包括一个或多个表。有行(或记录)和列(或字段)的表。 假设我们已经在”studentdb”这个数据库中创建了一个叫做”class101”的表。它有3列:ID、name、GPA。列具有数据类型。我们选择:int(整数)ID,float(浮点数)GPA,varchar(50)(最多50个字符的可变长度字符串)name。

Database: studentdb Table: class101

id (INT)name (VARCHAR(50))gpa (FLOAT)1001Tan Ah Teck4.51002Mohammed Ali4.81003Kumar4.81004Kevin Jones4.6

SQL提供了一个简单和直观的方式来与关系数据库进行交互。

SELECT – 语法 SELECT column1, column2, … FROM tableName WHERE criteria SELECT * FROM tableName WHERE criteria

– 举例 SELECT name, gpa FROM class101 – 从表class101中选择列的name和GPA

namegpaTan Ah Teck4.5Mohammed Ali4.8Kumar4.8Kevin Jones4.6

SELECT * FROM class101 – 从表class101中选择所有列 – 通配符*表示所有列

idnamegpa1001Tan Ah Teck4.51002Mohammed Ali4.81003Kumar4.81004Kevin Jones4.6

SELECT name, gpa FROM class101 WHERE gpa >= 4.7 – 选择行满足标准的列中的name和GPA – 您可以使用 =, >, <, >=, <=, <> (!=) 来比较数字

namegpaMohammed Ali4.8Kumar4.8

SELECT name, gpa FROM class101 WHERE name = ‘Tan Ah Teck’ – (=或!=)字符串表示完全匹配。字符串用单引号括起来

namegpaTan Ah Teck4.5

SELECT name FROM class101 WHERE name LIKE ‘k%’ – 使用LIKE字符串模式匹配 – 通配符 % 与零个或更多个(任意)字符匹配 – 通配符 _ 匹配一个字符

nameKumarKevin Jones

SELECT * FROM class101 WHERE gpa > 4 AND name LIKE ‘k%’ ORDER BY gpa DESC, name ASC – 使用 AND, OR, NOT 连接简单的条件判断 – 通过使用DESC(降)或ASC(升)为查询结果排序

idnamegpa1003Kumar4.81004Kevin Jones4.6

DELETE – 语法 DELETE FROM tableName WHERE criteria – 举例 DELETE FROM class101 – 删除表的所有行,当心没有撤销! DELETE FROM class101 WHERE id = 33 – 删除符合条件的行

INSERT – 语法 INSERT INTO tableName VALUES (firstColumnValue, …, lastColumnValue) – 所有列 INSERT INTO tableName (column1, column2, …) VALUES (value1, value2, …) – 选中列 – 举例 INSERT INTO class101 VALUES (1001, ‘Tan Ah Teck’, 4.5) –列举出每一列的值 INSERT INTO class101 (name, gpa) VALUES (‘Peter Jones’, 4.55) – 丢失的字段将设置为默认值或NULL

UPDATE – 语法 UPDATE tableName SET column = value WHERE criteria – 举例 UPDATE class101 SET gpa = 5.0 – 所有列 UPDATE class101 SET gpa = gpa + 1.0 WHERE name = ‘Tan Ah Teck’ – 选中列

CREATE TABLE – 语法 CREATE TABLE tableName (column1Name column1Type, column2Name column2Type, …) – 举例 CREATE TABLE class101 (id INT, name VARCHAR(50), gpa FLOAT)

DROP TABLE – 语法 DROP TABLE tableName – 举例 DROP TABLE class101 – 删除表。当心没有撤销!!!

注:

1.不区分大小写:SQL关键字,名称(标识符),字符串可能会或可能不区分大小写,取决于不同数据库的实现情况。 在MySQL中,关键字不区分大小写。 为了清楚起见,我在本文中显示大写的关键字。 对于程序员来说,最好将名字(标识符)和字符串视为区分大小写的。 在MySQL中,列名总是不区分大小写的,但在UNIX中表名是区分大小写的,但在Windows中不区分大小写(这很混乱!)。 字符串比较中的不区分大小写取决于使用的排序顺序。

2.字符串:SQL字符串以单引号括起来,但大多数实现(如MySQL)也接受双引号。

2.MySQL关系数据库管理系统(RDBMS)

SQL是一种与关系数据库交互的编程语言。另一方面,MySQL是一个软件系统——关系型数据库管理系统。 MySQL是最常用的,最好的开源和免费的关系数据库管理系统(RDBMS)之一。MySQL由Michael “Monty” Widenius和David Axmark1995年开发,由瑞典公司称为MySQL AB。2008被Sun公司收购了。Sun微系统公司于2010被甲骨文公司收购。MySQL是成功的,不仅因为它是免费和开源的(有很多免费和开源的数据库,如Apache Derby(java db),connect(Mini SQL),SQLite,PostgreSQL,Apache OpenOffice’s Base),而是它速度、可靠性、易使用、性能、连接性(全网络支持)、便携性(运行在大多数的操作系统,如Unix,Windows,Mac),安全(SSL的支持),体积小,和丰富的功能较优。MySQL支持所有预期的功能,在一个高性能的关系型数据库,如交易、外键、复制、查询、存储过程、视图和触发器。MySQL通常部署在一个LAMP(Linux Apache MySQL PHP),服务器(Windows Apache MySQL PHP),或MAMP(Mac OS apachemysql PHP)环境中。所有的组件都是免费的,开源的,包括操作系统。MySQL的网站主页是:https://www.mysql.com。MySQL的最终参考的是MySQL参考手册,可在:https://dev.mysql.com/doc 中获得。巨大的参考手册PDF有超过3700页!!! MySQL作为一个客户机服务器系统在TCP/IP网络上运行。服务器在具有IP地址的计算机、在选定的TCP端口号上运行。MySQL的默认的TCP端口号是3306。用户可以通过客户端程序访问服务器,在给定的IP地址和TCP端口号连接到服务器。MySQL数据库服务器包含一个或多个数据库。数据库包含一个或多个表。表由行(或记录)和列(或字段)组成。

3.如何安装MySQL 5.7并从sql开始

编程

我希望你在你自己的机器上安装MySQL,因为我想让你学习如何安装,定制和操作复杂的工业软件系统。安装可能是这个练习中最难的部分。

3.1 第一步:下载和安装MySQL

在 Windows 上安装 1.从https://dev.mysql.com/downloads/mysql/下载MySQL的ZIP文件:

    A. 选择General Available (GA) Releases选项卡。     B. 在MySQL Community Server 5.7.xx下 ⇒ 在Select Platform中选择Microsoft Windows。     C.在Other Downloads中,下载Windows (x86, 64-bit), ZIP ARCHIVE (mysql-5.7.xx-winx64.zip)或Windows (x86, 32bit), ZIP ARCHIVE (mysql-5.7.xx-win32.zip)。(你需要知道自己的电脑是32位还是64位的)     D. 没有必要Login或Sign up-只需点击No thanks, just start my downloads!。

2.创建一个项目目录,名称叫做”d:\myProject” (或者为 “c:\myProject”)。 解压下载文件到你的工程目录。MySQL将会被解压为:d:\myProject\mysql-5.7.{xx}-winx64。为便于使用,我们将缩短和重命名目录d:\myProject\mysql。注意并记住你的MySQL安装目录!!!

3.(从MySQL 5.7.7以后新规则)初始化数据库:启动CMD(管理员)和发出这些命令: //更改目录到MySQL的安装目录 //假设你的MySQL安装目录是 d:\myProject\mysql d: cd \myProject\mysql\bin //初始化数据库。创建一个无需密码的根用户。在控制台上继续输入: mysqld –initialize –console …… …… [注] 临时密码是root@localhost生成的: xxxxxxxx 在安装过程中,一个超级用户有一个临时密码了,如上图所示。注意临时密码,复制并保存在某个地方,或者最好还是拍张照片!!!!

4.如果你犯了错误,删除整个MySQL目录,重复步骤2和步骤3。

在 Mac OS X 上安装 1.从https://dev.mysql.com/downloads/mysql/下载MySQL的DMG Archive文件:

    A. 选择General Available (GA) Releases选项卡。     B. 在MySQL Community Server 5.7.xx下 ⇒ 在Select Platform中选择Mac OS X。     C.为您的特定的Mac OS版本选择适当的DMG Archive,如果有多个版本可用则可以多选。否则,你没有其他的选择,只能选择你适合的版本!          ★ 检查你的操作系统版本⇒点击苹果的标志⇒关于本机。          ★ 检查您的Mac OS是32位还是64位⇒请阅读:http://support.apple.com/kb/ht3696。除非你有一个dinosaurera机,否则它应该是64位!     D. 没有必要Login或Sign up-只需点击No thanks, just start my downloads!。

2.安装MySQL:     A.Downloads⇒双击.dmg文件下载。     B.双击mysql-5.7.{xx}-osx10.x-xxx.pkg     C.按照屏幕上的说明安装mysql。在安装过程中,一个超级用户会临时随机生成密码。注意密码,复制并保存在某处,最好还是拍张照片!!!     D. MySQL将安装在/usr/local MySQL”。注意这个安装目录!!     E. 弹出.dmg文件。

3.如果你犯了一个错误的地方,停止服务器(点击苹果图标⇒系统偏好⇒MySQL⇒停止),删除目录/usr/local/mysql-5.7.{xx}…,并重新运行安装。重新启动服务器(点击苹果图标⇒系统偏好⇒MySQL⇒开始)。您可能需要重新启动您的机器。

在 Ubuntu 上安装 我将默认安装mysql目录为:d:\myProject\mysql 或 /usr/local/mysql (Mac OS)。注意你的MySQL安装目录。此后,我在这篇文章中将MySQL安装目录表示为 < MYSQL_HOME > 。

3.2 第三步:启动服务器

(译者注:从3.1到3.2没有第二步,原文如此)

MySQL是一个客户端-服务器系统。数据库作为服务器应用程序运行。用户通过客户端程序访问数据库服务器,本地或远程通过网络,如图所示: 1. 服务器程序被称为“mysqld”(一个后缀“d”表示它是一个守护进程,守护进程是一个非交互式进程运行在后台)。 2. 客户端程序被称为“MySQL”(没有“d”)。

程序mysqld和mysql保存在MySQL安装目录的子目录“bin”中。

启动数据库服务器

Windows启动服务器 通过一个CMD shell来启动: //改变当前目录到MySQL的“bin”目录 //假设MySQL安装目录“d:\myProject\mysql” d: cd \myProject\mysql\bin //启动MySQL数据库服务器 mysqld –console …… …… xxxxxx:XX XX XX [注]:mysqld:准备连接。 Version: ‘5.7.xx’ socket: ” port: 3306 MySQL Community Server (GPL) 注:–console 选项将服务器输出消息指示到控制台。没有这个选项,你会看到一个空白的屏幕。

转载请注明原文地址: https://www.6miu.com/read-1313.html

最新回复(0)