MySQL基本感知
之前一篇文章,主要介绍了数据库周边的一些概念,应该说,对我们的学习是有所启发的。学习一门陌生的技术,我的经验是,先了解它的生态,形成主观的印象,然后,利用最简单迅速的方法,把那一道窗户纸揭开,然后,以实际结果来印证主观看法。
当然,要想在没有基础的情况下迅速突破,我们最有效的方式就是,利用工具
。所谓,工欲善其事,必先利其器,我们程序员应该更懂这个道理。
安装MySQL
MySQL的安装过程不赘述,网上有很多介绍MySQL安装的详细过程,只要一步步的操作,都是没有问题的。从官网来看,MySQL最新版本是8.0.11
,其他都是5.x
版本。这里建议使用5.7
版本。
安装Navicat
Navicat是目前市面上最受欢迎的数据库图形化操作的软件,没有之一
。唯一的遗憾是,这款软件是付费
的。所以这里没有给出下载地址。大家可以通过自己的渠道,去下载并安装。
使用Navicat连接MySQL服务器
由于MySQL在不同的操作系统中,启动方式不同,所以大家在保证MySQL服务器已经正常运行的情况下继续下面的操作。
也就是说,此时,我们就到了要捅破窗户纸的时刻了
。
具体步骤如下:
-
进入Navicat主界面
-
点击
连接
按钮,选择MySQL
-
在弹出的窗口中,依次输入连接名,和密码。连接名可以任意,密码是安装MySQL时设置的root账户密码。其他的信息,Navicat已经默认填写了。
-
点击连接测试,如果反馈成功,说明我们的服务器运行正常,且账户为root的用户,输入的密码也是正确的。反正,如果连接失败,大家应该从MySQL是否正常运行,和密码是否正确进行检查。
-
连接
确定
按钮,我们将成功连接到本地MySQL服务器。
此时,我们发现主界面左侧,有一个以我们刚才输入的连接名为名称列表项,且图标是灰色的,我们尝试双击,发现图标变亮,且展开了多个子选项,我们大胆猜测,这里的子选择都对应着已经存在的数据库。
我们发现有一个名为mysql
的数据库,我们一探究竟,展开所有表,发现有一个名user
的表,里面的内容跟Excel
并无二样。
Host User Password
localhost root *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B
根据我们之前学习的概念,Host
,User
,Password
都被称作列
,local
,root
,*81F5E21E35407D884A6CD4A731AEBFB6AF209E1B
被统称为一条记录
。
看到这里,大家可能就能想明白了,MySQL本身对用户的识别方式就是对已经创建的用户信息存储在MySQL服务器
中的。
利用Navicat创建数据库和表
我们继续来捅窗户纸。
-
右键
连接名
,选择新建数据库 -
输入数据库名
mytest
,编码为utf-8
,排序顺序可不填 -
双击
mytest
,使其可用。 -
右击
表
,选择新建表。 -
点击上方的添加栏位,依次填入,id,name,sex,age,类型分别为int,vachar,int,int.
-
点击
保存
按钮,填入表名student
。
此时,我们再点击,mytest
下的表
下的student
,是这样的:
id name sex age
NULL NULL NULL NULL
结构跟我们之前见过的user
表是相似的,只不过,现在一条记录都没有。
我们尝试添加一条记录:
点击下方的+
按钮,在提示位置一次输入1
,zhangsan
,0
,20
,之后,点击√
按钮,这条记录就被存储到数据库中了。
我们刷新后再次进入student
表,已经有了一条记录。
实际上,我们此时,已经完成了数据库操作的两大最重要的功能,插入
和查询
。大家可以体会一下。
在进入student
表界面后,细心的同学会发现下方有这样一段话:
SELECT * FROM `student` LIMIT 0, 1000
实际上,我们能够看到,存储的记录,其原理就是Navicat帮助我们执行了这条SQL
语句。它的意思就是,查询student
表中前一千条记录。
我们在还没学习SQL
就拿到了一条SQL
语句,我们就干脆走到底,我们尝试使用mysql自带命令行工具
来查询已经存在的这条记录。
mysql 命令行工具
mysql命令行工具是mysql自带的客户端工具,使用命令行访问远程数据库服务器。
进入命令行或者终端
连接
mysql -uroot -proot
-u后面紧跟账号,-p之后紧跟密码,特别注意都没有空格。有空格的话,会导致连接失败
。
当命令行中,显示已mysql
开头的等待输入,说明已经成功连接上了数据库服务器。
show databases;
获取服务器中有哪些数据库,注意语句末尾必须加上分号
,databases必须加上s.
此时,我们可以看到,出现的的数据库名称和我们在Navicat中看到的是一致的。特别的,我们也发现了刚刚用Navicat创建的mytest
数据库。
use mytest
在命令行中,要想操作某一个库,必须先执行use dbname
命令,实际上,在Navicat中,我们也要先点击数据库名,使其变为可用。默认是灰色的图标。
成功的话,会提示我们:Database changed
我们将刚才那条查询命令复制过来,扔进命令行中执行:
SELECT * FROM student LIMIT 0, 1000;
正常的话:会呈现一个表格,列,和记录与我们在Navicat所看到的是一模一样的。
总结
通过上述操作,可以认为,学习MySQL
过程中的第一道窗户纸已经被我们捅破了,MySQL
及其同类产品最大作用就是存储数据和查询数据,而SQL
语言就是架设在程序员与数据库服务器之间的桥梁,我们可以用SQL
来存储数据,也可以使用SQL
来查询数据。进而言之,SQL
语言是我们充分掌握数据库的基本功
。
网友评论