Java攻城狮的入门课程@IT·互联网java

(一)初涉MySQL

2017-05-30  本文已影响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可分为以下几部分:


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语句汇总:


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

猜你喜欢

热点阅读