MySQL官方文档阅读一

官网网站:https://dev.mysql.com/doc/refman/8.0/en/what-is-mysql.html

参考  :https://www.jianshu.com/p/5aa7b8d6fc5f

1.2.1 What  is  MySQL?

MySQL,the most popular Open Source SQL  database management system,is develped,distributed,and supported by Oracle Corporation.

The MySQL website (http://www.mysql.com/) provides the lastest information about MySQL software.

.MySQl is a database management system.

  A database is structured(结构,组织) collection of data.。 It may be anything from a  simple shopping list to a picture  gallery or the vast amounts of information in a corporate network. To  add,access,and process data stored in a computer database,you need a database management system such as MySQL Server.Since computers are very good at handlng large amounts of data,database management systemcs play a central role in computing,as standalone utilities,or as parts of other applications.

数据库是结构化的数据集,他可以从一个简单的购物清单到图片集或者企业中海量信息。你需要一个像MySQL一样的数据库管理系统,去新增,访问,处理存储在电脑上的数据。自从计算机可以处理大量数据依赖,数据库管理系统作为一独立的系统或者其他应用的一部分都扮演着核心的角色。

.MySQL databases are relational.

   A relational database stores data in separaet tables rather than putting all the data in one big storeroom.The database structures are organized (有组织的)into  physical files optimized for speed.The logical model,with objects  such as databases,tables,views,rows,and columns,offers as a flexible programming environment.You set up rules governing the relationships between diferent data fields,such as one-to-one,one-to-many,unique,required or optional,and "pointers"  between different tables.The database encofce these rules,so that with a well-designed database,your application nevers sees inconsistent(不一致的),duplicate(重复的),orphan(孤儿),out-of-date(过时的,无效的),or missing data.

关系型数据库把数据存放在分开的表里边,而不是放在一个大的储存空间。数据库被封装进几个速度优化的物理文件中。拥有数据库,表,视图,行和列,关系型数据库提供了非常灵活的编程环境。你在不同的表之间设置了不同的规则比如一对一,一对多,唯一,必须,可选等规则。数据库严格遵守这些规则,良好的设计使得需求数据不会出现不一致,重复,孤立,无效的数据,或者是数据丢失的情况。

 The SQL part of "MySQL" stands for "Structured Query Language".SQL is the most common standardized language used to access databases.Depending on your programming  environment,you might enter SQL directly(for example,to generate 形成 reports),embed (嵌入)  SQl statements into code written in another  language,or use a language-specific API that hides the SQL syntax.

"MySQL"中的“SQL” 是“Structured Query Language”的缩写。SQL是最常见的数据库访问标准语言。根据你的编译环境,你可以直接使用SQL,或者将SQL嵌入其他语言中,或者使用隐藏SQL语法的特定语言的API。

SQL  is defined by the ANS/ISO  SQL Standard.The SQL  standard has been evolving (演变,进化)  since 1986 and several versions exist.In this manual,"SQL-92" refers to the standard released 发行 in 1992,“SQL:1999” refers to the standard release in 1999,and "SQL:2003" refers to the current version of the standard.We use the phrase "the SQL standard “to mean the curent  version of the SQL Standard at any time.

SQL 语言是ANS/ISO指定的SQL标准。SQL版本从1986年开始演变,现在存在很多版本。SQL92是1992年发行的版本;SQL1999是1999年发行的版本;SQL2003是2003年发行的版本,也是最新的版本,我们所说的”the SQL  standard“是指任何时候的当前版本。

 

     Open Source means that it is possible for anyone to use and modify the software.Anybody can download the MySQL software from the Internet and use it without paying anything.If you wish,you may study the source code and change it to suit your needs.The MySQL software uses the GPL(GNU General Public License),http://www.fsf.org/licenses/,to define what you may and may not do with the software in different situations.If you feel uncomfortable with GPL or need to embed(嵌入) MySQL code into a commercial (商用的)application,you can buy a commercially licensed version from us.See the MySQL Licensing Overview for more information(http://www.mysql.com/comany/legal/licensing).

       开源的意思就是任何人可以使用和修改软件。任何人可以从网上免费下载软件。可以根据你的需求来学习修改源码。MySQL使用GPL开源协议,可以定义你不同的场景下可以做什么不做什么。如果GPL不能满足你或者需要吧MySQL源码嵌入商业应用中,你可以购买商业版授权,许可信息详见http://www.mysql.com/comany/legal/licensing。

 .The  MySQL  Database Server is very fast,reliable(可靠的),scalable(可升级的,扩展),and easy to use.

      If  that is what you are looking for,you should give it a try.MySQL server can run comfortably on a desktop or laptop ,alongside (与..一起)your other applications,web servers,and so on,requiring little or no attention(注意,关照).If you dedicate an entire(全部的) machine to MySQL,you can adjust the settings to take advatnage  of all the memory,CPU power,and I/O capacity(容量,才能) available.MySQL can also scale up (按照比例增加)to clusters fo machines,networked together.

     如果你在寻找一款数据库,那么你可以试试MySQL。MySQL数据库可以和你的web应用及其他应用一起运行在台式机或者笔记本,你不需要很关注它。如果你整机安装MySQL数据库,你可以调整配置,最大限度的使用内存,CPU和I/O资源。MySQL还可以以网络集群模式运行。

        MySQL  Server was originally developed to handle large databases much faster than existing solutions and has been successfully used in highly demanding(要求很搞的,苛刻的) production environments for several years.Although under constant(持续不断的) development,MySQL  Server today offers a rich and useful set of(一套) functions.Its  connectivity,speed,and sercurity make MySQL Server highly suited(合适的) for accessing databases on the Internet.

        MySQL数据库开发的初衷是为了在解决大量数据的时候比现有的数据库更快,而且他在严苛的生产环境中已经运行了很多年。在持续不断的开发下,MySQL在今天已经提供了丰富而且有用的功能。在连接性,速度和安全性是的MySQL数据库非常适合在网络中访问。

.MySQL Server works in client/server or embedded(嵌入的) systems.

         The MySQL Database Software is a client/server system that consists of a multithreaded SQL server that supports different back ends,serveral different client programs and libraries(图书馆),administrative tools,and a wide range of application programming interfaces(APIs).

       We also provide MySQL Server as an embedded multithreaded library that you can link into your application to get a smaller,faster,easier-to-manage standalone product.

        MySQl采用cs模式,或者嵌入式系统

        MySQl数据库是一个服务器客户端模型,他包含多线程SQL服务器支持不同的客户端,不同的程序和库,管理员攻击和广泛的程序接口。

        MySQL服务还可以提供嵌入式的lib库,你可以连接到你的应用从而获取更小,更快,更容易管理的独立产品。

.A  large amount of contributed MySQL software is available.

       MySQl Server has a practical 实际的 set of features developed in close cooperation 合作,协助 with our users. It is very likely that your favorite application or language supports the MySQL Database Server.

      The  official way to pronounce "MySQL" is "My Ess Que Ell"(not "my sequel"),but we do not mind if you pronounce it as "mysql sequel" or in some other localized地域的 way.

        MySQL为一些合作伙伴开使用特性,所以你喜欢的应用或者语言支持MySQL数据库。

https://www.jianshu.com/p/5fba5d8d554e

1.2.2 The Main Features of MySQL

This section describes some of the important characteristics of the MySQl Satabase Software.In most respects在大多数方面,the roadmap 路标 applies to all versions of MySQL.For information about featuers as they are introduced引进,提出 into MySQl on a series-specific basis,see the  "In a Nutshel" section of the appropriate Manual:

           本章介绍MySQl的主要特征。大多数方面这些特性适用于大部分MySQL版本。每个版本引进的新特新在“In a Nutshell”章节查看。

Internals 内部构造  and Portability 可移植性

   .Written in C  and C++.

          用C和C++编写。

   .Tested with a broad广阔的 range of different compilers 汇编者.

         使用各种编译器进行了测试。

  . Works on many differernt platforms.See https://www.mysql.com/support/supportedplatforms/database.html.

         工作在不同的平台   

    .For portability 便携,configured using CMake.

        可移植性通过CMAKE进行配置。

    .Tested with Purify(a commercial memory leakage泄漏 detector) as well as with Valgrind,a GPL tool(http://developer.kde.org/~sewardj/).

            通过Purify(一个商业的内存泄漏检测工具)和Valgrind两个工具的检测。

    .Uses multi-layered server design  with independent modules.

         采用分层设计使模块独立。

    .Designed to be fully multithreaded using kernel threads,to easily use multiple CPUs if they ar available.

          内核多线程设计重复利用CPU的多核。

    .Provides transactional 交易的,互相作用的,事务 and nontransactional storage engines.

          提供支持事务和不支持事务的存储引擎

    .Uses very fast B-tree disk tables(MyISAM) with index compression压缩.

          使用带有索引压缩功能的B数磁盘表。

      Designed to make it relatively easy to add other storage engines.This is useful if you want to provide an SQL interface for an in-house database.

         容易添加存储引擎的设计,这样可以很好的提供SQL接口。

      Uses a very fast thread-based  memory allocation system.

         使用一个非常快速的以线程为基础的内存系统。

       Executes very fast joins using an optimized nested-loop join.

          使用一个优化嵌套循环连接可以快速的执行join操作。

       Implements工具,实现  in-memory hash tables,which are used as temporary tables.

         使用内存hash表作为临时表。

       Implements SQL functions using a highly  optimized class library that should be as fast as possible.Usually there is no memory allocation at all after query initialization.

          使用高度优化的类库函数,尽可能快的执行SQL函数。通常在初始化查询以后没有内存分配。

        Provides  the server as a separate program for use in a client/server networked environment.

            在CS网络环境中, 提供几个独立的程序。

Data Types

        .Many data types:signed/unsigned 带符号的 integers 整数  1,2,3,4, and 8 bytes long,FLOAT,DOUBLE,CHAR,VARCHAR,BINARY,VARBINARY,TEXT,BLOB,DATE,TIME,DATETIME,TIMESTAMP,YEAR,SET,ENUM,and OpenGIS spatial 空间的 types.See Chapter 11,Data Types.

       很多数据类型,带符号或不带符号的整数有1,2,3,4和8bytes长。

      .Fixed-length and variable-length string types.

       定长和变长的字符串类型。

 Statements  and Functions  语句和函数

       .Full operator  and function support  in the  SELECT list and WHERE clause 分句,从句  of queries.  For example:  

mysql> SELECT CONCAT(first_name, ' ', last_name)
    -> FROM citizen
    -> WHERE income/dependents > 10000 AND age > 30;

                      在SELECT 列表和WHERE查询从句中支持所有的操作和函数。

       .Full support for SQL GROUP BY and ORDRE BY clauses.Support for group functions(COUNT(),AVG(),STD(),SUM(),MAX(),MIN(),and GROUP_COUNT()).

                 支持全部SQL的GROUP BY 和GROUP BY子句。支持分组函数COUNT(),AVG(),STD(),SUM(),MAX(),MIN(),and GROUP_COUNT()。

        .Support for LEFT OUTER JOIN and RIGHT OUTER JOIN with both standard SQL and ODBC syntax.

                 支持SQL和ODBC语法的左全外连接和右全外连接。

        .Support for DELETE,INSERT,REPLACE,and UPDATE to return the number of rows that were changed(affected),or to return the number of rows matched instead by setting a flag when connecting to the server.

              支持DELETE,INSERT,REPLACE 和UPDATE返回变更的行,或者返回连接到服务器时设置的标志返回匹配的行。

         .Support for MySQL-specific SHOW  statements that retrieve 返回 information about databases,storage  engines,tables,and indexes.Support for the INFROMATION_SCHEMA database,implemented实现,生效  according to standard SQL.

                支持用SHOW命令返回数据库,存储,引擎和索引的相关信息。根据标准SQL实现了INFROMATION_SCHEMA数据库。

          .An EXPLAIN   statement to show how the optimizer resolves分解 a query.

                EXPLAIN语句显示优化器的查询计划。

          .Independence of function names from table or column names.For example,ABS is a valid有效的 column name.The only restriction限定的,限制的 is that for a funciton call,no spaces are permitted between the function name and the "("that follows it.See Section9.3,"Keywords and Reserved 预留的Words"

          函数名独立与表面和列名。比如说ABS是一个有效的列名。函数名是有条件限制的,不能有空格,函数名后面紧跟(,9.3章节有关键字和保留关键字。

         You can refer to 涉及 tables from different databases in the same statement.

          在一个SQL语句中,你可以引用不同数据库中的表。

Security

        . A  privilege and password system that very flexible灵活的 and secure,and that enables host-based verification 证明核实.       

           一个灵活而且安全的权限、密码系统,而且提供基于主机的访问控制。

       . Password security  by encryption 加密的 of  all password traffic when you connect to a server.

           通过加密连接服务器的密码来保证密码的安全。

Scalability可测量的  and limits

         扩展性和限制  

        .Support for large databases.We use MySQL Server with databases that contain 50 milion records.We  also know of users who use MySQL  Server with 200,000 tables and about 5,000,000 rows.

         支持大量的数据。我们使用MySQL数据库支撑5000万条数据,我们还了解用户使用了MySQL数据库存储2000000表和5亿条记录。

        .Support for up to 64 indexes per table.Each index may consist of 1 to 16 columns or parts of columns.The maximun index width for InnoDB tables is either 767 bytes or 3072 bytes.See Section 15.22,"InnoDB limits".The maximum index width for MyISAM tables is 1000 bytes.See Section 16.2,"The MyISAM Storage Engine".An index may use a prefix 前缀 of a column for CHAR,VARCHAR,BLOB,or TEXT column types.

         一张表可以支持64个索引,每个索引可以由一到16个列或组成。InnoDB表的最大索引可以从767bytes到3072bytes。MyISAM引擎表的最大索引是1000bytes,对于CHAR,VARCHAR,BLOB,or TEXT 类型,索引可能会使用列的前缀。

Connectivity

        .Clients  can connect to MySQL Server using serveral protocols:

          客户端可以通过以下几种协议连接MySQL服务器

              . Clients can connect using TCP/IP sockets on any platform.  客户端可以通过TCP/IP套字节在任何平台李爱杰服务器

             . On  Windows systems,clients can connect using named pipes if the server is started with the named_pipe system variables enabled.Windows servers also supports shared-memory connections if started with the shared_memory system variable enabled.Clients can connect through shared memory by using the --protocol=memory option.

              在winidows平台,如果服务器开启命名管道,客户端可以通过命名管道连接服务器。同样在windows平台,如果服务器开启shared_memory设置,客户端可以通过添加--protocol=memory选项来连接服务器。

                On Unix systems,clients can connect using Unix domain socket files. Unix平台,客户端可以通过Unix域套子节连接。

       .MySQL client programs can be written in many languages.A client library written in C is available for clients written in C or C++,or for any language that provides C bindings捆绑.

            MySQL客户端可以用很多语言编写,客户端可以用C或者C++编写,任何语言编写都绑定了C语言的程序库。(个人翻译不准确)

       .APIs  for  c,C++,Eiffel,Jave,Perl,PHP,Python,Ruby,and Tcl are available,enabling MySQL clients to be written in many languages.See Chapter 29,Connectors and APIs.

         各种语言的接口可以被各种语言编写。

       The  Connector/ODBC(MyODBC) interface 连接  provies MySQL support for client programs that use ODBC(Open Database Connectivity) connections.For example,you can use MS Access to connect to your MySQL server.Clients can be  run on Windows or Unix.Connector/ODBC source is available.All ODBC 2.5 functions are supported,as are many others,See MySQL Connector/ODBC Developer Guide.

             应用程序通过MyODBC提供ODBC标准来连接MySQL数据库,例如,你可以使用MS Access来连接MySQL数据库,客户端可以运行在win和Unix平台, 支持ODBC2.5函数及其他函数。

      The  Connector/J interface provides MySQl support for java client    programs that use JDBC connections.Clients can be run on Windows or Unix.Connector/J sourece is available.See MySQL Connector/J  8.0 Developer Guide.

                    Connector/J 为程序提供通过JDBC标准来连接数据库.

         MySQL Connector/NET enables developers to easily create .NET applications applications that require secure,high-performance data connectivity with MySQL.It implements 工具,执行 the repuired ADO.NET interfaces and  integrates  into     ADO.NET  aware tools.Develpoers can build  applications using their choice of .NET languates. MySQL Connector/NET is fully managed ADO.NET driver written in 100% pure C#.See MySQL Connector/Net Developer Guide.

            Connector/NEt 为.NET项目提供安全、高效的链接服务。

Localization 

          .The  server can provide error messages to clients in many languages.See Section10.12,"Setting the Error Message Languate"

                  服务器可以提供多种语言的报错信息。

         .All data is saved in the chosen character set.

                 数据以选择的语言报错。

          .Sorting and comparisons  are done accofding to the default character set and collation.is posssible to change this when the MySQL server is started (see Section 10.3.2,"Server Character Set and Collation").To see an example of very advanced sorting,look at the Czech sorting code.MySQL Server supports many different character sets that can be specified指定 at compile 编译 time and runtime.

             排序和比较依据默认的字符集和比较字符集。可以在数据库启动的时候来更改。 MySQL服务器在编译的和运行的时候可以支持很多语言。

          .The server time zone can be changed dynamically 动态的. and individual 独立的 clients can specify指定 thier own time zone.See Section 5.5.15,"MySQL Server Time Sone Support".

                多个时区可以动态改变。每个客户端可以指定时区。

Clients   and  Tools

         .MySQL includes serveral client and utility作用功效  programs.These include both command-line programs such as  mysqldump  and  mysqladmin,and graphical programs such as MySQL WQorkbench. 

          MySQl包含几个客户端工具,其中包含命令工具比如mysqldump和mysqladmin ,和图形工具MySQL Workbench。

         .MySQL Server has built-in  support for SQL statements to check,optimize,and repair tables.These statements are available from the command line through the mysqlcheck client.MySQL also includes  myisamchk,a very fast command-line utility for  performing  these operations on MyISAM tables,See Chapter 4,<ySQL programs.

        MySQL 服务器支持SQL语句的检查,优化和修复表,这些命令可以通过mysqlcheck客户端来执行。MySQL还包含对MyISAM引擎表的检查命令。

 History  of  MySQL

        We started  out with the intention 意图,打算  of using the  mSQL database system to connect to our tables using our own fast low-level(ISAM) routines.However,after  some testing,we came to the  conclusion结论  that mSQL was not fast enough or flexible 灵活的 enough for our needs. This  resulted in a new SQl interface to our database but with almost the same API interface as mSQL.This API was designed to enable third-party 第三方的 code that was written for use with mSQl to be ported easily for use with MySQL.

          我们刚开始打算通过mSQL数据库使用底层路由连接我们的表。但是经过我们的测试,我们得出结论,mSQL不够快和灵活。这就导致开发一套和mSQLAPI同样接口。 这套接口可以让第三方为mSQL编写的代码可以轻松的移植到MySQl上。

        MySQL is  named after co-founder 共同创造者 Monty Widenius's daugher,My.

         MySQL以联合创始人女儿的名字My命名。

        The  name of MySQL Dolphin海豚(our logo) is "Sakila,"  which was chosen   a huge list of names suggested by user in our "Name the Dolphin"   contest比赛.The winning name was submitted by Ambrose Twebaze,an Open Source software developer from Eswatini(formerly Swaziland),Africa.According to Ambrose,the feminine name Sakila has   its roots in SiSwati,the local language of Eswatini,Sakila is also the name of a town in Arusha,Tanzaniz,near Ambrose's country of origin,Uganda.

           MySQL标志海豚的名字为“Sakila”,是在为海豚命名比赛汇总,从大量参赛选手的命名中选出的。  这个名字是由Eswatini命名的,他是一个来自Eswatini的开源软件工程师。

 

 

 https://www.jianshu.com/p/5fba5d8d554e

https://dev.mysql.com/doc/refman/8.0/en/what-is-mysql.html

           

 

posted @ 2022-10-08 09:03  中仕  阅读(98)  评论(0编辑  收藏  举报