数据库知识记录

常见数据库产品及区别

数据库产品 产品特点 主要领域 技术原理 区别
MySQL 被甲骨文公司收购,开源、免费、使用群体第一
Oracle 甲骨文公司产品,收费
DB2 IBM公司产品 适用于海量数据场景
SqlSever 仅支持win系统

使用数据库存储数据相对内存等具有能够将数据持久化到本地保存的特点,同时数据库可实现对数据的结构化查询,方便进一步管理海量的数据。

DB:数据库(database),存储数据的仓库,保存一系列有组织的数据。
DBMS:数据库管理系统(DatabaseManagementSystem),数据库是通过DBMS创建和操作的容器,MySQL等即为数据库管理软件。(分为基于共享文件系统的DBMS,如Access,和基于客户机,即服务器的DBMS,MySQL等常见数据库属于此类,一般安装数据库是指安装服务端。)
SQL:机构化查询语言(StructureQueryLanguage),用于与数据库通信的语言。一般被DBMS均支持。

开启或关闭服务
可在计算机管理的服务中对设置的MySQL服务进行停止或关闭操作。也可通过命令行net start 服务名net stop 服务名 操作开启或停止。
非root用户连接数据库: mysql - h 主机 -P 端口 -u 用户名 -p密码,若为本地则localhost

图形化客户端:SQLyog
sql文件用于保存命令。

数据库的使用

数据库MySQL语句规范:

  1. 不区分大小写,但一般关键字大写,表名、列名小写。
  2. 每条命令需要分号结尾。
  3. 可根据需要缩进或换行编写。
  4. 注释: #注释文字 - - 注释文字 /* 多行注释 */

常见命令

show databases; 查看所以数据库
use 库名 打开指定库
show tables; 查看当前库所以表(table)
show tables from 库名; 查看其他库所以表
create table 表名(
列名 列类型,
列名 列类型
……
);
desc 表名; 查看表结构

SQL语言

DQL语言(数据查询语言)

查询命令

1
2
SELECT 查询内容 FROM 表名;  //可使用*通史符查询,但查询内容将按原表顺序。若查询常量,则不需要from。也可用来查询函数。如 `SELECT VERSION();`
SELECT 查询内容 AS 别名; //可将查询到的结果按新的首行名称显示。如 `SELECT last_name AS姓,first_name AS 名 FROM employees;` AS可以省略。

当字段名与关键字冲突时,可通过``标识字段。

查询结果约束,可通过关键词 DISTINCT 去掉重复的查询结果。
+ 号在MySQL中仅运算符。若两个量为数值则做加法;若其中一个为字符,则将字符转为
数值进行加法。若字符转换失败者将该字符型转换为0。

条件查询 where
SELECT 查询列表 FROM 表名 where 筛选条件;

模糊查询。
通配符:%任意多个字符,_任意单个字符。escape用于告知某字符后不作为通配符,而作为字符查询。select * from user where username like '/_nihao' escape '/';
between and 用于查询区间
in 用于判断某字段值是否为列表中的一项。相比于where后添加多个or更加简洁。

排序查询:
order by 排序列表 【asc,默认升序,desc】 可以同时按多个元素排序,按在by之后的参数的先后顺序判定优先级。

常见函数

concat:连接。连接不同的字段为一个字符串。需要注意,若有一个值为null,则与该值衔接的值均为null。
substr:截取子串
upper:变大写
lower:变小写
replace:替换
length:获取字节长度
trim:去前后空格
lpad:左填充
rpad:右填充
instr:获取子串第一次出现的索引
2、数学函数
ceil:向上取整
round:四舍五入
mod:取模
floor:向下取整
truncate:截断
rand:获取随机数,返回0-1之间的小数

DML语言(数据操作管理语言,增删改)

DDL语言(数据定义语言)

TCL语言(事务控制语言)

-------------本文结束感谢您的阅读-------------