首先我想先来区分一下一些数据库的品种,因为我在学习的过程中就遇到一点混乱。
1.主流数据库
- SQL Sever:微软产品,Net程序员的最爱,中大型项目。
- Oracle: 甲骨文产品,适合大型项目,复杂的业务逻辑,并发一般来说不如MySQL
- MySQL:世界上最受欢迎的数据库,属于甲骨文,并发性好,不适合做复杂的业务。主要用在电商,SNS,论坛。对简单的SQL处理效果好。
- PostgreSQL :加州大学伯克利分校计算机系开发的关系型数据库,不管是私用,商用,还是学术研究使用,可以免费使用,修改和分发。
- SQLite: 是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。
- H2: 是一个用Java开发的嵌入式数据库,它本身只是一个类库,可以直接嵌入到应用项目中。
我在初学数据库的时候,在学校里学的是第一种,SQL Sever。后来又出现了一个MySQL,所以我曾一度傻逼地以为这个两者是同一个东西,所以我在这要重点把数据库的几种类别一一列举出来。
2.怎么在Linux下面安装 MySQL
本人在这里使用的是Mariadb,它属于数据库管理系统(DBMS),是MySQL的分支版本。
因为我的Linux是CentOS7,所以我的安装方法是:
CentOS 7 通过 yum 安装 MariaDB:(链接里都有详细教程)
https://zhuanlan.zhihu.com/p/49046496
在这里想补充一点:在你的虚拟机里如果输入链接里的第一行命令,出现mirror error、或者是一直在尝试新的镜像等类似的错误,那么请检查你的虚拟机是否连上网。
3.安装好后怎么使用
3.1 连接服务器
输入:
mysql -h 127.0.0.1 -P 3306 -u root -p
注意:
如果没有写 -h 127.0.0.1 默认是连接本地。
如果没有写 -P 3306 默认是连接3306端口号。
所以这里的-h 127.0.0.1 -P 3306 输入时可以省略。如果你为数据库设置了密码,则可以在-p后面加密码或者回车后输入你的密码。如果嫌麻烦,可以在安装的过程中省略密码的设置步骤。这样的话-p可以省略。
这里以我的为例(我的Mariadb设置了密码):
当你输入这行命名后,如果出现如图所示的内容,就代表连接成功了。
[root@localhost zhaotiedan]# mysql -uroot -p
4.一些使用案例
在这里先举一些操作案例,后面会有详细的关于数据库操作的语法解释。
4.1 创建一个数据库
我在这里创建了一个名为helloworld的数据库:
MariaDB [(none)]> create database helloworld;
如图则代表创建成功。
同时也可以通过语句show databases;
来查看数据库是否已经建立。
如下图我们可以很直观的看到我刚刚建立好的helloworld数据库。
4.2 使用数据库
MariaDB [(none)]> use helloworld;
如图,则代表成功。如果你细心观察,这个时候MariaDB后面的none就会变成你使用的数据库的名称。
4.3 创建数据库表
MariaDB [helloworld]> create table student( id int, name char(32), sex char(1) );
如下图,成功。
4.4 往表中插入数据
MariaDB [helloworld]> insert into student value (12,'zss','f'),(12,'pxy','f');
如下图,成功。
4.5 查询表中的数据
MariaDB [helloworld]> select * from student;
那么如图就找到了我们刚刚插入的数据。
5.服务器,数据库,表关系
Client是客户端,相当于Linux里面的Mariadb,它将与服务器MySQL连接。DB是数据库,里面包含表。数据库之间,表之间都没有嵌套关系。
所谓安装数据库服务器,只是在机器上安装了一个数据库管理系统程序,这个管理程序可以管理多个数据库,一般开发人员会针对每一个应用创建一个数据库。
为保存应用中实体的数据,一般会在数据库中创建多个表,以保存程序中实体的数据。