MySQL数据库基础
- 1 MySQL 连接服务器指令
- 2 mysql 和mysqld的区别
- 3 数据库存储 VS 文件存储
- 4 初次使用数据库 理解数据库是什么
- 4.1 使用数据库
- 4.2 小总结
- 5 主流数据库
- 6 SQL分类
- 7 存储引擎
1 MySQL 连接服务器指令
mysql -h 127.0.0.1 -P 3306 -u root -p
-h 指明登录部署了mysql服务器的主机,省略后默认是 127.0.0.1
-P 指明我们要访问的端口号,省略后默认是 3306
-u 指明登录用户
-p 指明需要输入密码
2 mysql 和mysqld的区别
mysql 是数据库服务的客户端
mysqld 是数据库服务的服务端,其中 d 表示daemon(守护进程)
mysql的本质其实是基于客户端和服务端模式的一种网络服务。
3 数据库存储 VS 文件存储
文件保存数据有以下几个缺点:
文件的安全性问题
文件不利于数据查询和管理
文件不利于存储海量数据
文件在程序中控制不方便
为了解决上述问题,专家们设计出更加利于管理数据的东西——数据库,它能更有效的管理数据。数据库的水平是衡量一个程序员水平的重要指标。
4 初次使用数据库 理解数据库是什么
在mysql的配置文件中,存放着这样一条路径
这条路径指的是mysql服务存放数据的文件。
我们直接访问
其中深色的字体是目录文件。
我们在mysql中查看对应的内容
也就是说,我们自己的建立的数据库可以在该表格中出现。接下来我们验证一下。
4.1 使用数据库
1) 创建数据库
create database helloworld;
输入这条指令后,mysql的客户端会向mysql的服务端下达对应的请求。
创建成功后,databases表格中出现了我们建立的数据库
同样地,配置文件中也有该目录文件
所以,建立数据库,本质上是Linux下的一个目录
2)创建数据库表
现在的目的是在刚才创建的helloworld数据库中创建一个表
首先需要使用对应的数据库
use helloworld
然后在建立对应的表,如图
建立表成功后,我们访问刚才的helloworld目录,ls查看
该目录中新增了两个文件。
也就是说,在数据库中建立表,本质就是在Linux下建立对应的文件
3) 向表中插入数据
insert into student(name,age,gender) values('张三','18','男');
4)查询表中数据
select* from student;
结果如图:
4.2 小总结
在上面的操作中
建立数据库,本质上是Linux中的一个目录
在数据库内建立表,本质上是建立Linux的一个文件
不论是建立数据库,还是建立表,还是插入数据,这些操作都是由mysqld帮我们完成的,也就是由数据库的服务端帮我们完成的。
有了数据库,我们程序员不用像管理普通文件那样直接访问文件才能进行管理,而是由mysql客户端发送对应的请求给服务端,让服务端帮我们完成对应的工作,这会给工作上带来很大的效率提升。
5 主流数据库
SQL Sever: 微软的产品,.Net程序员的最爱,中大型项目。 Oracle:
甲骨文产品,适合大型项目,复杂的业务逻辑,并发一般来说不如MySQL。
MySQL:世界上最受欢迎的数据库,属于甲骨文,并发性好,不适合做复杂的业务。主要用在电 商,SNS,论坛。对简单的SQL处理效果好。
PostgreSQL :加州大学伯克利分校计算机系开发的关系型数据库,不管是私用,商用,还是学术研 究使用,可以免费使用,修改和分发。
SQLite: 是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库 中。它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的 低,在嵌入式设备中,可能只需要几百K的内存就够了。
H2: 是一个用Java开发的嵌入式数据库,它本身只是一个类库,可以直接嵌入到应用项目中。
6 SQL分类
DDL【data definition language】 数据定义语言,用来维护存储数据的结构 代表指令: create, drop,alter
DML【data manipulation language】 数据操纵语言,用来对数据进行操作 代表指令: insert,delete,update DML中又单独分了一个DQL,数据查询语言,代表指令: select
DCL【DataControl Language】 数据控制语言,主要负责权限管理和事务 代表指令: grant,revoke,commit
7 存储引擎
存储引擎是:数据库管理系统如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。
MySQL的核心就是插件式存储引擎,支持多种存储引擎
查看存储引擎
存储引擎对比
MySQL最常用的存储引擎是InnoDB和MyISAM