1. 数据库简介
关于MySQL介绍的课本介绍我就不赘述了,直接百度就行了,这里我们探讨一些实在的。
顾名思义,数据库就是存储数据的库。那存储数据,我们可以有Windows自带的记事本,vscode,notepad等等文件编辑器,能能很方便的打开以及在硬盘上存储数据,为什么要专门使用数据库呢?
- 1.安全性
直接保存在硬盘上的文件很容易丢失,损坏,以及被他人获取,而数据库就不会(前提是正常使用)
- 2.查询和管理
直接在硬盘上存储的文件本身只具有数据的性质,不具有查询等其他属性,而各种通过各种编辑器附带的查询管理功能实际上是编辑器赋予的,而不是文件本身的属性。
- 3.海量数据
大家可以试一试使用Windows自带的记事本打开一个100M的文件,看看结果。就算是使用vscode等高级编辑器,那试一试打开1G的文件呢。而对于数据库来说,它的操作对象就是海量数据。
- 4.控制
数据库在文件操作过程中可以食用语句简单便捷的对文件内容进行随心所欲的修改(前提是得整我数据库的用法)。
目前主流的数据库有如下几种:
- SQL Sever: 微软的产品,.Net程序员的最爱,中大型项目
Oracle: 甲骨文产品, Java程序员,大型项目,适合处理复杂的业务逻辑,对并发一般来说不如MySQL。
MySQL:sun公司产品,现在也属于甲骨文,中型和大型项目。并发性好,不适合做复杂的业务。主要用在电商,SNS,论坛。对简单的SQL处理效果好。
DB2:IBM公司, 处理海量数据,大型项目,功能很强悍。
informix: IBM公司,安全非常强
Postgresql 学术型数据库,但是功能很完备,更新维护很及时,并且开源
H2 嵌入式数据库,可有数据内存存储,文件存储,开源,并且是使用Java语言实现的
由于我是一名Java程序猿,所以这个系列主要介绍的MySQL数据库的使用。
2. MySQL基本使用
接下来,介绍一下MySQL数据库的几个入门级操作。
2.1 MySQL连接和断开
打开命令行,进行数据库的连接。
// 明文密码进行登陆
mysql -u username -ppasswad 启动数据库
-h localhost(本地连接) 或者是IP地址
-P(大写) 端口号,一般为3306
-u 用户名
-p(小写) 使用明文密码登陆时直接在 -p 选项后面加上密码即可
我们不仅可以登陆本地的数据库,也可以登录别人的数据库,如果登陆别的数据库要使用 -h 选项,后面跟着该库的IP地址,我们平常登陆自己本地的库省略 -h,其值默认为 localhost。 -P(大写) 选项后面跟的是数据库的端口号,如果你在安装数据库时没有修改,则默认为 3306 。
这里,不建议使用明文登陆,因为数据库一大特色即使安全性,假如使用明文登陆,密码被看到了,何谈安全,所以我一般是用密文登陆,即 -p 后什么都不跟,敲下回车,会出现密码输入提示,然后在该行进行密码输入,这时的密码,系统自动显示成 ‘*’,增强了安全性
当我们不使用数据库时,就可以断开数据库进行其他工作,直接在数据库输入如下指令即可。
2.2 数据库的关闭和开启
注意,这里的数据库关闭和开启可不是上一节数据库的连接和断开。
数据库是系统中的一项服务,上面的连接或者断开只是打开和关闭数据库而已,并没有真正开启或者关闭掉数据库这项服务。真正的方法如下。
// 打开数据库
service mysqld start
// 关闭数据库
service mysqld stop
2.3 数据库基本操作
所谓安装数据库服务器,只是在机器上安装了一个数据库管理程序,这个管理程序可以管理多个数据库,一般开发人员会针对每一个应用创建一个数据库。
为保存应用中实体的数据,一般会在数据库中创建多个表,以保存程序中实体的数据。
即数据库管理系统中存在不同的数据库,每个库就是我们操作的对象,在库中以表为单位进行数据的操作。
// 查看数据库
show databases;
// 创建数据库
create database databaseName;
// 使用数据库,要对数据库操作必须先使用该表
use databaseName;
// 创建表
create table tableName(
列名1 类型1,
列名2 类型2,
列名3 类型3,
...
);
// 向表中插入数据
insert into tableName values(values1, values2, values3, ...);
// 查看表中元素
select*from tableName;
对于数据库的操作,命令都要以分号结尾。
2.4 SQL分类
SQL称为数据库查询语言,分为如下几种。
- DDL
数据定义语言,用来维护存储数据的结构。代表有 create, drop, alter。
- DML
数据操纵语言,用于对数据进行操作,主要是对表中内容进行操作。代表有 insert, delete, update。
DML中有单独划分出了一种,称为 DQL,数据查询语言,代表有 select。
- DCL
数据控制语言,主要负责权限管理和事务,代表有 grant, revoke, commit。