2022年1月

一 常用数据库
MySQL:社区版免费。最常见的web开发数据库之一,lnmp中的M。
mariadb:免费。MySQL被收购后,基于MySQL源码产生的新的分支,基本和MySQL相同。
postgresql:免费。相对于MySQL功能和配置项更多。
sqlite:免费。轻型数据库,多用于嵌入式开发。
Oracle:功能最强大的数据库之一。
sqlserver:微软出品的数据库,对windows系统支持较好。

二 常用数据库管理工具
heidisql:免费。支持 MariaDB、MySQL、Microsoft SQL Server、PostgreSQL、SQLite。
DBeaver:免费。支持几乎所有主流数据库。
Navicat:收费。支持几乎所有主流数据库。
PL/SQLDeveloper:收费。针对Oracle的数据库管理工具。
SQLServer Management:sqlserver安装包中可选择安装的数据库管理工具。

三 sql常用语法
SQL 结构化查询语言 Structured Query Language
database:数据库名称,连接数据库时,除了需要用户名、密码和端口外,多数工具还需要填写数据库的名称。
table:具体存储数据的表。
value:每种数据库有不同的数据类型命名方式,一般都是int,double,varchar,date,bool等。
增删改查:
创建数据库:CREATE DATABASE my_db;
创建表:CREATE TABLE table_name(ID int(255));
增:INSERT INTO table_name VALUES (value1,value2,value3,...);
INSERT INTO table_name (column1,column2,column3,...) VALUES (value1,value2,value3,...);
删:DELETE FROM table_name WHERE some_column=some_value;
改:UPDATE table_nameSET column1=value1,column2=value2,... WHERE some_column=some_value;
查:SELECT column_name,column_name FROM table_name;

四 关于数据库性能优化
ORM 对象关系映射 Object Relational Mapping
目前多数的开发框架不再需要程序员直接操作数据库,而是使用其自带的ORM来对数据库进行操作。
比如说PHP的开发框架中,laravel使用的是Eloquent,yii使用的是Active Record。
比如说java框架中的Hibernate和mybatis。
所以对于运维工程师和后台工程师来说,直接用sql语句对数据库的数据进行操作的时候并不多,索引和联合查询基本都是自动完成。
大多数情况下,运维工程师对数据库进行调优,可以分为sql语句的优化和数据库配置的优化。
sql语句的优化主要是查询日志,找出耗时较长的语句,或重复执行次数过多的语句,与后台工程师一起分析原因,比如说字段属性的调整。
数据库配置的优化,主要是根据实际情况,配置Redis、Memcache,或者对数据库进行分区。这些都需要根据实际情况,与后台工程师进行确认。

五 数据库的备份和恢复
不同的数据库备份语句不同,没有统一的sql语句。
比如oracle的exp,MySQL的mysqldump,SqlServer的BACKUP等,需要根据需要编写脚本。
也可以用Navicat的计划任务功能,对数据库进行定时的异地备份。

数据库急速入门.txt