DB 数据库 Database
DBMS Database Management System 数据库管理系统
SQL 结构化查询语言
数据库分为:
关系型数据库:把复杂的数据结构归为简单的·二元关系。关系型数据库以 行(row) 和 列(column)
的形式存储数据,以便于用户理解。
非关系型数据库:可看成传统关系型数据库的功能 阉割版本 ,基于键值对存储数据,不需要经过
SQL层的解析, 性能非常高 。同时,通过减少不常用的功能,进一步提高性能。
键值型数据库:键值型数据库通过 Key-Value 键值的方式来存储数据,redis
文档型数据库:此类数据库可存放并获取文档,可以是XML、JSON等格式。在数据库中文档作为处理信息的基本单位,一个文档就相当于一条记录。文档数据库所存放的文档,就相当于键值数据库所存放的“值”。MongoDB
搜索引擎数据库:虽然关系型数据库采用了索引提升检索效率,但是针对全文索引效率却较低。
搜索引擎数据库是应用在搜索引擎领域的数据存储形式,由于搜索引擎会爬取大量的数据,并以特定的格式进行存储,这样在检索的时候才能保证性能最优。核心原理是“倒排索引”。
典型产品:Solr、Elasticsearch、Splunk 等。
数据库简单sql语句
#查询所有数据库
show databases;
#创建自己的数据库
create database 数据库名;
#使用自己数据库
use 数据库名;
#查看数据库的所有数据
show tables from 数据库名;
#创建新的表
create table 表明(
字段名 字段类型,
字段名 字段类型
);
#添加一个记录
insert into 表名 values(值列表);
#查看表的创建信息
show create table 表名;
#查看数据库的创建信息
show create database 数据库名;
#查看编码命令
show variables like 'character_%';
show variables like 'collation_%';
数据库的分类
DDL(Data Definition Languages、数据定义语言)
主要的语句关键字包括 CREATE 、 DROP 、 ALTER 等
DML(Data Manipulation Language、数据操作语言)
主要的语句关键字包括 INSERT 、 DELETE 、 UPDATE 、 SELECT 等。
DCL(Data Control Language、数据控制语言)
主要的语句关键字包括 GRANT 、 REVOKE 、 COMMIT 、 ROLLBACK 、 SAVEPOINT 等。
数据库sql语句关键字的一些用法
#去重关键字
distinct
ifnull(字段,0)如果是null 用0替换
显示表的相关信息 describe 表名;
isnull 为空返回1 不为空返回0
between and 查询区间的 包含开始和结束的值
in ,not in in(集合) 查询这个集合里面的值
模糊查询 like '%a%' 包含a的信息
查询第二个字符是a like'_a%'
#排序分页
order by desc高到底 asc 低到高
limit limit((pageno-1)*pagesize,pagesize)
8.0新特性
limit 2 offset 31
多表查询
笛卡尔积(交叉连接)
等值连接 ,非等值连接
自连接 .非自连接
内连接 ,外连接
union union有重 效率低 和 union all
多表联合查询的七种方式见
mysql 多表联合查询 的七种方式 全部 左连接 右连接 内连接_铭曱的博客_mysql七种连接方式总共存在七总情况图一 : 也就是我们说的查询左边表的全部数据使用左连接select 字段列表from A表 left join B表 on 关联条件 图二 : 也就是我们说的查询右边表的全部数据使用右连接select 字段列表from A表 right join B表 on 关联条件图三 : 也就是我们说的查询两张表的交集 也就是A∩B使用内连接select 字段列表from A表 inner join B表 on 关联条件图...
查询的方式sql语句
#方式1:
SELECT ...,....,...
FROM ...,...,....
WHERE #多表的连接条件
AND #不包含组函数的过滤条件
GROUP BY ...,...
HAVING #包含组函数的过滤条件
ORDER BY ... ASC/DESC
LIMIT ...,...
#方式2:
SELECT ...,....,...
FROM ... JOIN ...
ON #多表的连接条件
JOIN ...
ON ...
WHERE #不包含组函数的过滤条件
AND/OR #不包含组函数的过滤条件
GROUP BY ...,...
HAVING #包含组函数的过滤条件
ORDER BY ... ASC/DESC
LIMIT ...,...
#其中:
#(1)from:从哪些表中筛选
#(2)on:关联多表查询时,去除笛卡尔积
#(3)where:从表中筛选的条件
#(4)group by:分组依据
#(5)having:在统计结果中再次筛选
#(6)order by:排序
#(7)limit:分页
约束
保证数据完整性
not null 非空
unique 唯一性
primary key 主键
foreign key 外键
check 检查
default 默认值约束
添加约束 create table
alter table 表 modify 列 类型 约束
增加约束 删除约束