(一)初涉MySQL

作者: 黒猫 | 来源:发表于2017-05-30 15:36 被阅读113次

    1、基本介绍

    数据库(Database或DB):
      数据库是按照某种数据结构对数据进行组织、存储和管理的容器,其核心永远是数据;可以理解为用于存放数据数据的仓库,只不过该仓库是在计算机存储设备上的,而且数据是按照一定格式存放的。

    数据库管理系统(Database Management System或DBMS):
      数据库管理系统是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。
      用户无法直接通过操作系统获取数据库文件中的具体内容,只能借助数据库管理系统。之后就可以轻松地实现访问(增、删、改、查等操作)数据库容器中的各种对象,并可以轻松地完成数据库的维护工作(备份、恢复、修复等操作)。

    数据库可分为:
      关系型数据库、面向对象数据库等,同时也有相对应的数据库管理系统。
      本专题讲解的MySQL就属于关系型数据库管理系统(RDBMS),分为社区版及企业版,最早由瑞典MySQL AB公司开发,目前属于Oracle公司。随着关系型数据库管理系统的日臻完善,已占据主导地位,下图是截至2017年5月份的数据库知名度排序情况,可见MySQL依然有极大地优势。而MySQL之所以备受好评,原因有如下几点:首先MySQL是开源软件,源代码可以免费下载使用;其次MySQL便于安装,且性能优越;最后其提供的丰富功能,足以与商业数据库媲美。

    关系型数据库:
      关系型数据库是由多个表(table)和表之间的关联关系组成的数据的集合,表示一个由若干行、列组成的二维的关系结构,其中表的列段称为字段(field),表的行称为记录(record)。


    2、目录结构

    MySQL的默认安装位置是“C:\Program Files\MySQL\MySQL Server x.x”,简单了解下其目录结构:

    bin目录:储存可执行文件
    data目录:储存数据文件,包括数据库文件、索引文件等
    docs目录:文件储存文档
    include目录:储存包含的头文件
    lib目录:存储库文件
    share目录:存储错误消息和字符集文件


    3、启动与停止MySQL服务

    可通过在以管理员身份运行的CMD(命令提示符)中输入“net start mysql”来启动服务:



      也可以输入“net stop mysql”来停止服务:



    4、Mysql的登录与退出

    使用MySQL依然要通过CMD,首先需要登录到MySQL的客户端,即输入mysql+参数,语法结构如下:

    参数 | 描述
    ----|------|----
    -D,--database=name | 打开指定的数据库
    --delimiter = name | 指定分隔符
    -h,--host=name | 服务器名称
    -p,--password[=name] | 密码
    -P,--port=# | 端口号
    --prompt=name | 设置提示符
    -u,--user=name | 用户名
    -V,--version | 输出版本信息并退出

    注意:端口号及版本信息的参数都是大写字母!

    首先来看输出MySQL的版本信息:



      之后要登录到MySQL的客户端,依次输入用户名,默认为超级用户“root”;密码,此时可以只输入“-p”,在回车后输入密码,可以保证密码的隐私性;再输入端口号及服务器名称,当出现“mysql>”提示符时,证明已经成功进入到客户端:



      如果使用的是默认端口3306以及主机回送地址127.0.0.1,那么可以不输入“-P”及“-h”,只输入用户名及密码即可:

    退出Mysql客户端可以输入“exit”、“quit”、“\q”中的任意一个,例如:



    5、修改MySQL的提示符

    之前登录到MySQL客户端后,显示的提示符是“mysql”,若需要修改提示符,方法有两种:

    1.在登录客户端的同时指定参数修改提示符,即输入用户名及密码后添加“--prompt 提示符”,例如:



      此处的“\h”指服务器名称,因此提示符就被修改为了“localhost”。
     
    2.登录到MySQL之后,通过prompt命令修改,即直接输入“prompt 提示符”,例如:



      可见此时提示符又变回原来的“mysql>”,至于修改提示符后可接的参数,可以参考下表:

    参数 | 描述
    ----|------|----
    \D | 完整的日期
    \d | 当前数据库
    \h | 服务器名称
    \u| 当前用户

    例如将提示符修改为“当前用户@服务器地址 完整的日期”,输入“prompt \u@\h \D”:



    6、MySQL常用命令及语法规范

    MySQL一些常用命令见下表:

    参数 | 描述
    ----|------|----
    SELECT VERSION(); | 显示当前服务器版本
    SELECT NOW(); | 显示当前日期时间
    SELECT USER(); | 显示当前用户

    其中“SELECT VERSION();”类似于“mysql -V”:


    其余两个命令效果如下:


    可见这些命令都使用大写字母输入,这也涉及到了MySQL的语法规范:

    1.关键字与函数名称全部大写
    2.数据库名称、表名称、字段名称全部小写
    3.SQL语句必须以分号结尾

    当然在Windows系统下并不区分大小写,但是为了在语句中能对关键字或数据库名称等有效区分,因此建议关键字及函数名称还是输入大写。其次如果命令结束不输入分号,会出现“->”,表明系统一直在等待获得结束符,即分号,此时输入分号就可以继续执行该命令,例如:



    7、结构化查询语言

    在实际操作数据库之前,先来了解一下关系型数据库所使用的语言,即结构化查询语言(Structured Query Language或SQL),SQL被美国国家标准局(ANSI)确定为关系型数据库语言的美国标准,后来被国际化标准组织(ISO)采纳为关系型数据库语言的国际标准,这就意味着该语言成为了一种应用最为广泛的关系数据库语言,几乎所有的关系型数据库管理系统都支持SQL。

    SQL可分为以下几部分:

    • 数据定义语言(Data Definition Language或DDL):用来创建、删除、更改数据库对象:库、表、列等;
      使用的关键字:CREATE、ALTER、DROP

    • 数据操作语言(Data Manipulation Language或DML):用来定义数据库记录(数据);
      使用的关键字:INSERT、UPDATE、DELETE

    • 数据控制语言DCL(Data Control Language):用来定义访问权限和安全级别;
      使用的关键字:GRANT、REVOKE、COMMIT、ROLLBACK

    • 数据查询语言DQL(Data Query Language):用来查询记录(数据);
      使用的关键字:SELECT


    8、操作数据库

    <br />

    1.创建数据库

    登录到MySQL后,并不是为了查看当前时间或登录账户,最主要的是对数据库进行基本的操作与管理,首先来看创建数据库的语法结构:

    CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name
    [DEFAULT] CHARACTER SET [=] charset_name
    其中“{}”内的语句是必有内容,“[]”内的语句是可选内容,“|”表示从选项中做出选择;之后的语法结构都是如此。

    创建名为“t1”的数据库示例如下:


      提示“查询成功,有一行被影响”,要注意此处的“查询”并不等同于之后要讲的“查找”,而“一行被影响”是因为要将创建成功的数据库的结果放入系统的数据库当中。要证明该数据库创建成功,就要查看当前服务器下的数据表列表,语法结构如下:

    SHOW {DATABASES | SCHEMAS}
    [LIKE 'pattern' | WHERE expr]

    查询结果如下:

    可见除了创建成功的数据库“t1”,还有MySQL安装成功后自带的四个的数据库,分别是information_schema、mysql、performance_schema、test。

    接下来看一下之前尚未提到的“[IF NOT EXISTS]”是如何使用的,当前“t1”数据库已经存在,那么再次创建“t1”数据库会报错,此时如果添加“[IF NOT EXISTS]”,系统会忽略掉错误信息,只提示有一条警告,可以输入“SHOW WARNINGS”来查看警告信息,如下图所示:


      警告信息的级别是“Note”级别,内容与之前的错误信息是相同的。

    <br />

    2.修改数据库

    之后检查创建成功的数据库编码是否与之前设置的“utf8”格式相同,输入“SHOW CREATE DATABASE t1”,结果如下:


      如果此时需要创建一个使用“gbk”编码的数据库,就需要使用之前提到的语法“[DEFAULT] CHARACTER SET [=] charset_name”,示例如下:

    在创建数据库“t2”的同时,设置其编码为“gbk”格式,并检查确定为“gbk”格式,但有需要将“t2”数据库更改为之前的“utf8”的编码格式,可以使用以下语法:

    ALTER {DATABASE | SCHEMA} [db_name]
    [DEFAULT] CHARACTER SET [=] charset_name

    结果如下:


    显示将“t2”数据库编码格式修改为“utf8”且验证无误。
      此时服务器中已经存在了多个数据库,若要指定数据库,可以使用“USE db_name”,来选择要使用的数据库,示例如下:



      可以使用“SELECT DATABASE()”来验证当前使用的数据库是否是“t1”,示例如下:



    <br />

    3.删除数据库

    最后可以将之前测试用的或日后确定无用的数据库进行删除,语法如下:

    DROP {DATABASE | SCHEMA} [IF EXISTS] db_name

    示例如下:
     


    至于“[IF EXISTS]”与之前的“[IF NOT EXISTS]”意义相通,如果再次删除不存在的数据库,系统会报错,但添加“[IF EXISTS]”只会提示有警告,警告的内容与错误信息一致。

    <br />

    4.操作数据库的SQL语句汇总:

    • 创建数据库
      直接创建数据库,使用默认的编码:CREATE DATABASE db_name;
      使用指定的编码创建数据库:CREATE DATABASE db_name CHARACTER SET charset_name;

    • 查询数据库
      查询当前服务器中的所有数据库:SHOW DATABASES;
      查询之前创建的数据库的定义信息:SHOW CREATE DATABASE db_name;

    • 修改数据库
      修改数据库的字符集:ALTER DATABASE db_name CHARACTER SET charset_name;
      指定要使用且已存在的数据库:USE db_name;
      查看当前正在使用的数据库:SELECT DATABASE();

    • 删除数据库
      删除数据库:DROP DATABASE db_name;


    版权声明:欢迎转载,欢迎扩散,但转载时请标明作者以及原文出处,谢谢合作!             ↓↓↓
    

    相关文章

      网友评论

      • 逍遥的fish:select *
        from 作者大脑
        where mysql从入门到精通
      • 知识学者:我学的是 sql server ,准备了解一下,mysql,问一下,mysql提示错误,我怎么修改了
        我难道要把错误代码在敲一遍, tsql中,可以复制,粘贴,修改一下,可是mysql好像不行啊,粘贴了,会出现问题啊。
        知识学者:@黒猫 我是 mysql.exe黑框,不过我感觉和cmd,没有什么差别,dos只是会一点,我习惯多行了
        如果一行,我倒是可以复制,粘贴,修改。:grin:
        黒猫:@东风冷雪 但如果输入多行代码,发现之前的有错误就只能从头再来了,cmd没办法。
        黒猫:@东风冷雪 如果是在cmd中操作,可以通过方向键上下回滚到之前输入过的代码,再修改错误的地方就行了。

      本文标题:(一)初涉MySQL

      本文链接:https://www.haomeiwen.com/subject/jqawxxtx.html