🎈目录
1.数据库基本介绍
存储数据用文件就可以了,为什么还要弄个数据库?
文件保存数据有以下几个缺点:
- 文件的安全性问题
- 文件不利于数据查询和管理
- 文件不利于存储海量数据
- 文件在程序中控制不方便
数据库存储介质: - 磁盘
- 内存
为了解决上述问题,专家们设计出更加利于管理数据的软件——数据库,它能更有效的管理数据。数据
库可以提供远程服务,即通过远程连接来使用数据库,因此也称为数据库服务器。
2 数据库介绍
数据库大体可以分为 关系型数据库 和 非关系型数据库
2.1关系型数据库(RDBMS):
是指采用了关系模型来组织数据的数据库。 简单来说,关系模型指的就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。
基于标准的SQL,只是内部一些实现有区别。常用的关系型数据库如:
- Oracle:甲骨文产品,适合大型项目,适用于做复杂的业务逻辑,如ERP、OA等企业信息系
统。收费。 - MySQL:属于甲骨文,不适合做复杂的业务。开源免费。
- SQL Server:微软的产品,安装部署在windows server上,适用于中大型项目。收费。
2.2 非关系型数据库:
(了解)不规定基于SQL实现。现在更多是指NoSQL数据库,如:
- 基于键值对(Key-Value):如 memcached、redis
- 基于文档型:如 mongodb
- 基于列族:如 hbase
- 基于图型:如 neo4j
关系型数据库与非关系型数据库的 区别:
注:OLTP(On-Line Transaction Processing)是指联机事务处理,OLAP(On-Line Analytical
Processing)是指联机分析处理。
3.数据库的基本操作
3.1 显示当前数据库
注意:命令用大小写都可以!
SHOW DATABASES;
3.2 创建数据库
create datebase 数据库名
如果系统没有(xxx)的数据库,则创建一个名叫 (xxx) 的数据库,如果有则不创建
CREATE DATABASE IF NOT EXISTS xxx;
如果系统没有xxx的数据库,则创建一个使用utf8mb4字符集的 xxx 数据库,如果有则
不创建
CREATE DATABASE IF NOT EXISTS xxx CHARACTER SET xxx;
说明:MySQL的utf8编码不是真正的utf8,没有包含某些复杂的中文字符。MySQL真正的utf8是
使用utf8mb4,建议大家都使用utf8mb4
3.3 使用数据库
use 数据库名;
3.4 删除数据库
DROP DATABASE [IF EXISTS] db_name;
说明:
- 数据库删除以后,内部看不到对应的数据库,里边的表和数据全部被删除
drop database if exists db_test1;
drop database if exists db_test2;
4. 常用数据类型
4.1 数值类型:
分为整型和浮点型:
注意:
数值类型可以指定为无符号(unsigned),表示不取负数。
尽量不使用unsigned,对于int类型可能存放不下的数据,int unsigned同样可能存放不下,与其
如此,还不如设计时,将int类型提升为bigint类型。
4.2 字符串类型
4.3 日期类型
5.表的操作
需要操作数据库中的表时,需要先使用该数据库:
use db_test;
5.1 查看表结构
desc 表名;
示例:
5.2 创建表
CREATE TABLE table_name (
//字段名称 字段类型(名称在前,类型在后 与Java定义变量方式相反)
field1 datatype,
field2 datatype,
field3 datatype
);
可以使用comment增加字段说明
create table stu_test (
id int,
name varchar(20) comment '姓名',
password varchar(50) comment '密码',
age int,
sex varchar(1),
birthday timestamp,
amout decimal(13,2),
resume text
);
5.3 删除表
DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ...
-- 删除 xxx 表
drop table xxx;
-- 如果存在 xxx 表,则删除 xxx 表
drop table if exists xxx;
6.重点总结
- 操作数据库:
-- 显示
show databases;
-- 创建
create database xxx;
-- 使用
use xxx;
-- 删除
drop database xxx;
- 常用数据类型:
INT:整型
DECIMAL(M, D):浮点数类型
VARCHAR(SIZE):字符串类型
TIMESTAMP:日期类型
- 操作表
-- 查看
show 表;
-- 创建
create table 表名(
字段1 类型1,
字段2 类型2,
...
);
-- 删除
drop talbe 表名;
- over