zoukankan      html  css  js  c++  java
  • (大数据工程师学习路径)第五步 MySQL参考手册中文版----初识MySQL

    一、来源

    本内容来源是基于MySQL参考手册的翻译版本制作,关于MySQL参考手册,请访问:dev.mysql.com。 原始参考手册为英文版,与英文版参考手册相比,翻译版可能不是最新的。

    译者说明:This translation was done by MySQL partner GreatLinux, Beijing, People's Republic of China. GreatLinux Inc.

    二、MySQL介绍

    MySQL是一个关系型数据库管理系统,由瑞典MySQLAB公司开发,目前属于Oracle公司。MySQL是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。由于其社区版的性能卓越,搭配PHP和Apache可组成良好的开发环境。

    三、安装MySQL

    实验楼已经为大家安装好了mysql,无需大家再次安装,以下安装仅用于大家学习使用

    1.Windows下安装

    可以从http://dev.mysql.com/downloads下载MySQL安装软件包。如果你下载的安装软件包在Zip文件中,你需要先提取文件。启动帮助的过程取决于下载的安装软件包的内容。如果有setup.exe文件,双击启动安装过程。如果有.msi文件,双击启动安装过程。

    2.Linux下安装

    建议在Linux中使用RPM(RedHat系列)/DEB(Debian/Ubuntu系列)包来安装MySQL,在大多数情况,你只需要安装MySQL-server和MySQL-client软件包来安装MySQL。在标准安装中不需要其它的包。如果你想要运行含更多功能的MySQL-Max服务器,还应当安装MySQL-Max RPM。必须先安装M MySQL-server RPM再安装该模块。

    四、内容

    1.启动mysql服务器

    实验楼配置的环境中,默认mysql是没有启动的,我们首先启动mysql服务器:

    sudo service mysql start
    

    2.连接与断开数据库

    为了连接服务器,当调用mysql时,通常需要提供一个MySQL用户名并且很可能需要一个密码。在这里我们使用root用户连接服务器(密码环境设置为空,无需我们输入密码),输入以下命令连接服务器:

    mysql -uroot
    

    如果有效,你应该看见mysql>提示符后的一些介绍信息:

    Welcome to the MySQL monitor.  Commands end with ; or g.
    Your MySQL connection id is 25338 to server version: 5.1.2-alpha-standard
    
    Type 'help;' or 'h' for help. Type 'c' to clear the buffer.
    
    mysql>
    

    mysql> 提示符告诉你mysql准备为你输入命令。

    成功地连接后,可以在mysql>提示下输入QUIT (或q)随时退出:

    mysql> QUIT
    Bye
    

    2.输入查询

    这是一个简单的命令,要求服务器告诉它的版本号和当前日期。在mysql>提示输入如下命令并按回车键:

    mysql> SELECT VERSION(), CURRENT_DATE;
    

    能够以大小写输入关键词。下列查询是等价的:

    mysql> SELECT VERSION(), CURRENT_DATE;
    mysql> select version(), current_date;
    mysql> SeLeCt vErSiOn(), current_DATE;
    

    这是另外一个查询,它说明你能将mysql用作一个简单的计算器:

    mysql> SELECT SIN(PI()/4), (4+1)*5;
    

    至此显示的命令是相当短的单行语句。你可以在一行上输入多条语句,只需要以一个分号间隔开各语句:

    mysql> SELECT VERSION(); SELECT NOW();
    

    不必全在一个行内给出一个命令,较长命令可以输入到多个行中。mysql通过寻找终止分号而不是输入行的结束来决定语句在哪儿结束。(换句话说,mysql接受自由格式的输入:它收集输入行但直到看见分号才执行。)

    这里是一个简单的多行语句的例子:

    mysql> SELECT
        -> USER()
        -> ,
        -> CURRENT_DATE;
    

    在这个例子中,在输入多行查询的第一行后,要注意提示符如何从mysql>变为->,这正是mysql如何指出它没见到完整的语句并且正在等待剩余的部分。提示符是你的朋友,因为它提供有价值的反馈,如果使用该反馈,将总是知道mysql正在等待什么。

    如果你决定不想执行正在输入过程中的一个命令,输入c取消它:

    mysql> SELECT
        -> USER()
        -> c
    mysql>
    

    这里也要注意提示符,在你输入c以后,它切换回到mysql>,提供反馈以表明mysql准备接受一个新命令。

    下表显示出可以看见的各个提示符并简述它们所表示的mysql的状态:

    当你打算在一个单行上发出一个命令时,通常会“偶然”出现多行语句,但是没有终止分号。在这种情况中,mysql等待进一步输入:

    mysql> SELECT USER()
        ->
    

    如果出现这种情况(你认为输完了语句,但是只有一个->提示符响应),很可能mysql正在等待分号。如果你没有注意到提示符的提示,在意识到你需要做什么之前,你可能会呆坐一会儿。输入一个分号完成语句,mysql将执行:

    mysql> SELECT USER()
        -> ;
    

    在字符串收集期间将出现 '> 和 "> 提示符(提示MySQL正等待字符串的结束)。在MySQL中,可以写由‘'’或‘"’字符括起来的字符串 (例如,'hello'或"goodbye"),并且mysql允许输入跨越多行的字符串。当看到一个 '> 或 "> 提示符时,这意味着已经输入了包含以‘'’或‘"’括号字符开始的字符串的一行,但是还没有输入终止字符串的匹配引号。这显示你粗心地省掉了一个引号字符。例如:

    mysql> SELECT * FROM my_table WHERE name = 'Smith AND age < 30;
        '>
    

    如果你输入SELECT语句,然后按Enter(回车)键并等待结果,什么都没有出现。不要惊讶,“为什么该查询这么长呢?”,注意">提示符提供的线索。它告诉你mysql期望见到一个未终止字符串的余下部分。(你看见语句中的错误吗?字符串"Smith丢掉了第二个引号。)

    走到这一步,你该做什么?最简单的是取消命令。然而,在这种情况下,你不能只是输入c,因为mysql作为它正在收集的字符串的一部分来解释它!相反,应输入关闭的引号字符(这样mysql知道你完成了字符串),然后输入c:

    mysql> SELECT * FROM my_table WHERE name = 'Smith AND age < 30;
        '> 'c
    mysql>
    

    提示符回到mysql>,显示mysql准备好接受一个新命令了。

    `> 提示符类似于 '> 和"> 提示符,但表示你已经开始但没有结束以`> 开始的识别符。

    知道'>和">提示符的含义很重要,因为如果你错误地输入一个未终止的字符串,任何后面输入的行将要被mysql忽略--包括包含QUIT的行!这可能令人相当困惑,特别是如果取消当前命令前还不知道你需要提供终止引号。

  • 相关阅读:
    Linux基础命令—umask
    dd(处理文件)
    HDU6446 Tree and Permutation(树、推公式)
    UVA5913 Dictionary Sizes(字典树)(转载)
    Luogu P1330 封锁阳光大学 (黑白染色)
    codeforces 1025B Weakened Common Divisor(质因数分解)
    UVA1623 Enter The Dragon (贪心)
    HDU6395 Sequence(矩阵快速幂+数论分块)
    BZOJ1257 [CQOI2007]余数之和 (数论分块)
    Codeforces 1011C Fly(二分+模拟)
  • 原文地址:https://www.cnblogs.com/yangxiao99/p/4727918.html
Copyright © 2011-2022 走看看