✧(≖ ◡ ≖✿
目录
主流数据库认识
- MySQL:世界上最受欢迎的数据库,属于甲骨文,并发性好,不适合做复杂的业务。主要用在电商,论坛。对简单的SQL处理效果好。(足以支持目前企业级要求)
- SQL Server:微软的产品,.Net 程序员的最爱,中大型项目。
- Oracle:甲骨文产品,适合大型项目,复杂的业务逻辑,并发一般来说不如 MySQL。
- PostgreSQL:加州大学伯克利分校计算机系开发的关系型数据库,不管是私用,商用,还是学术研究使用,可以免费使用,修改和分发。
- SQLite:是一款轻型的数据库,是遵守 ACID 的关系型数据库管理系统,它包含在一个相对小的 C 库中。它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百 K 的内存就够了。
- H2:是一个用 Java 开发的嵌入式数据库,它本身只是一个类库,可以直接嵌入到应用项目中。
MySQL基础指令
登录
mysql -h 127.0.0.1 -P 3306 -u root -p
或者直接
mysql #这是配置了auth_socket认证插件/没有密码直接登录的方式
验证
我们可以通过 netstat -ltnp 来验证SQL服务端的运行

解释

退出
quit
或者
EXIT;
注意:“;”是sql语句中用作语句结尾的,一般情况下在语句后加上“;”是一个好的习惯。
清屏
system clear;
客户端 服务端
mysql代表客户端 mysqld代表服务端(mysql daemon)
因此mysql其实是一套给我们提供数据存取的网络程序。(运行在后台的守护进程shell启动前就已经开启)
客户端 服务端 数据库 表关系
- 所谓安装数据库,只是在机器上安装了一个数据库管理系统程序,这个程序当然不是简单的程序而是多模块,高并发的服务程序。这个程序可以管理多个数据库,一般开发人员会针对每个应用来创建一个数据库。
- 为保证应用中实体的数据,一般会在数据库中创建多个表,以保存程序中实体的数据。
数据库服务器、数据库和表的关系如下:

修改数据库及其内容
显示当前拥有哪些数据库
show databases;

在Linux的路径“/var/lib/mysql”下就是数据库(数据库文件目录)。而mysql配置相关文件在“/etc/mysql/”下(类似于Linux的' / '路径)

创建一个数据库
create database FirstDir;

在/var/lib/mysql下

可见即使是新创建的文件夹ta的大小非0而是4096。
为什么目录是 4096
在 ext4 文件系统里:
| 概念 | 说明 |
|---|---|
| 目录的本质 | 目录也是一个"文件",里面存的是文件名 → inode 的映射表 |
| 块大小(block size) | ext4 默认一个块 = 4096 字节 = 4KB |
| 目录最小分配 | 即使目录是空的,也要占至少 1 个块,也就是 4096 字节 |
删除数据库
DROP DATABASE 表名;
进入数据库
use FirstDir;
创建学生表
create table student(
name varchar(32),
age int,
gender varchar(2)
);
插入元素
insert into student (name, age, gender) values ('杜荣健', 1, '男');
insert into student (name, age, gender) values ('赵英杰', 2, '女');
展示
select * from 表名;

SQL语言分类
DDL【data definition language】数据定义语言,用来维护存储数据的结构代表指令:create,drop,alter
DML【data manipulation language】数据操纵语言,用来对表内数据进行操作的代表指令:insert,delete,update
- DML中又单独分了一个DQL,数据查询语言,代表:select
DCL【data control language】数据控制语言,主要负责权限管理和事务,代表指令:grant,revoke,commit
存储引擎
存储引擎是数据库管理系统如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。
MySQL的核心就是插件式存储引擎,支持多种存储引擎
查看存储引擎
show engines;

我们常用的是InnoDB与MyISAM引擎。
Server的存储引擎架构【了解】

感谢支持,长期连载
欢迎关注


121

被折叠的 条评论
为什么被折叠?



