数据库是用来存储数据的,存储介质一般为磁盘和内存。
一、存储数据用文件夹的几个缺点,也就是数据库的优点:
1.安全性问题
2.不利于查找和管理
3.不利于存储海量数据
4.文件在程序中不方便
二、数据库的分类
数据库分为关系型数据库(RDBMS)和非关系型数据库
**关系型数据库:**采用了关系模型来组织数据的数据库,如:
1.Oracle数据库适用于做大型项目,做复杂一点的数据处理,如 ERP,OA等企业信息系统,收费等。
2.MySQL数据库适用于简单项目,特点:开源免费
3.SQL Server,部署在Windows Server上,适用于中大型项目。
**非关系型数据库:**不规定基于SQL实现,更多是指NoSQL数据库,如:
1.基于键值对(key-value)memcached ,redis
2.基于文档型:mongodb
3.基于列族:hbase
4.基于图型:neo4j
关系型数据库(RDBMS)和非关系型数据库的区别:
各自使用场景:
关系型数据库:业务方面的OLTP系统(联机业务处理)
非关系型数据库:用于数据局分析或统计分析的OLAP系统(联机分析处理)
三、数据库的使用
1.显示所有数据库
show databases;
2.创建数据库 并制定字符集格式
create database if not exists 数据库名 character set utf8mb4;
3.使用数据库 (操作表,数据,先进入数据库,在操作)
use 数据库名;
4.删除数据库
drop database if exists 数据库名;
四、表的使用
1.查看表结构
desc 表名;
2.显示所有的表
show tables;
3.创建表
drop table if not exists 表名;
create table 表名(
字段名1 数据类型1 comment ‘说明’,
字段名2 数据类型2 comment ‘说明’,
字段名3 数据类型3 comment ‘说明’,
);
4.删除表
drop table if exists 表名;
五、SQl的分类
DDL数据定义语言,用来维护存储数据的结构
代表指令:create, drop ,alter
DML数据操纵语言,用来对数据进行操作
代表指令:insert ,delete, update
DML中又单独分出一个DQL,数据查询语言
代表指令:selete
DCl数据控制语言,主要负责权限管理和事务
代表指令:grant ,revoke ,commit
六、常用的数据类型
1.数值类型
数据类型 | 大小 | Java中对应类型 |
BIT[(M)] | M默认为1 | Boolean |
INT | 4字节 | Integer |
DECIMAL(M,D) | M/D最大值+2 (M指定长度D表示小数点位数) | BIgDecimal |
2.字符串类型
数据类型 | 大小 | Java中对应类型 |
VARCHAR(size) | 0-65535字节 | String |
TEXT | 0-65535字节 | String |
3.日期类型
数据类型 | 大小 | Java中对应类型 | 说明 |
DATATIME | 8字节 | java.util.Date/java.sql.Timestamp | 从1000年到9999年,不会进行检索及转换 |
TIMESTAMP | 4字节 | java.util.Date/java.sql.Timestamp | 从1970年到2031年,会进行检索及转换 |