1、DBMS
数据库管理系统 DataBase Management System
是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库。
它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性
又称为数据库软件或数据库产品,用于创建和管理DB
为什么 要使用DBMS?把数据存放到文件里不就可以了吗?
- 文件数量过多,查询不方便
- 查询里面的数据也不方便 --》别的机器过来查询
- 并发的控制
2、关系型和非关系型
关系型数据库是指采用了关系模型来组织数据的数据库,其以行和列的形式存储数据,以便于用户理解,关系型数据库这一系列的行和列被称为表,一组表组成了数据库。关系模型可以简单理解为二维表格模型,而一个关系型数据库就是由二维表及其之间的关系组成的一个数据组织。
MySQL、oracle、MSSQL、postgreSQL、DB2、informix、SQL server、SQLite等
NoSQL:非关系型数据库:
通常指数据以对象的形式存储在数据库中,而对象之间的关系通过每个对象自身的属性来决定。
MongoDB、elasticserach、Redis、TiDB等
不同的业务场景,适合不同的数据库
3、SQL语言分类
3.1 DML
数据操作语句 data Manipulation language
用于添加、删除、修改、查询数据库记录,并检查数据完整性
(1)建表建库相关操作
- show
show databases;
show tables;
show warnings;
show create database feng;
show processlist; 显示用户正在运行的线程,除了root用户能看到所有正在运行的线程外,其他用户都只能看到自己正在运行的线程。除非单独给这个用户赋予了process权限。
- desc
desc select * from test; 查看SQL脚本的执行情况,与explain命令效果一致
desc test; 查看表结构
- use
- set password
- flush privileges 刷新权限
- insert
- replace
- update 最消耗资源、CPU、内存、磁盘、网络带宽等,要先进行查询,然后再去修改
- delete 子查询里不能使用主表
- select
- help
replace和insert的区别?
使用REPLACE插入一条记录时,如果不重 复,REPLACE就和INSERT的功能一样,如果有重复记录,REPLACE就使用新记录的值来替换原来的记录值
3.2 DDL
数据定义语言 data definition language
用于库和表的创建、修改、删除
- create
- drop
- alter
- truncate
-
- 清空一张(大)表更有效的方法是使用TRUNCATE语句,它比DELETE快得多
增加字段:alter table t1 add sex char(1);
修改字段的类型:alter table 表名 modify column 字段名 类型;
alter table users modify column registerTime datatime;
修改字段长度:alter table users modify column username varchar(30);
3.3 DQL
数据查询语句 Data Query Language
用于查询数据库数据
4.4 DCL
数据控制语言 Data Control Language
用于定义用户的访问权限和安全级别
- grant
- revoke
- commit
- rollback