目录
一、数据库
二、数据库操作
2.1 显示当前数据库
2.2 创建数据库
2.3 删除数据库
2.4 使用数据库
三、数据类型
3.1 数值类型
3.2 字符串类型
3.3 日期类型
四、表的操作
4.1 创建表
4.2 显示当前库中的表
4.3 查看表结构
4.4 删除表
总结
一、数据库
数据库即管理数据的软件,数据库可以分为关系型数据库和非关系型数据库。
1、关系型数据库 (RDBMS)
采用了关系模型来组织数据的数据库。关系模型即二维表格模型,关系型数据库就是由二维表格及其之间的联系所组成的数据组织。
基于标准的 SQL,只是内部一些实现有区别。常用的关系型数据库有:Oracle、MySQL、SQL Server。
2、非关系型数据库
不规定基于 SQL 实现,现在更多是指 NoSQL 数据库,如:
1、基于键值对 (Key-Value):如 Redis、memcached
2、基于文档型:如 MongoDB
3、基于列族:如 HBase
4、基于图型:如 neo4j
【MySQL】
MySQL 是一个客户端-服务器结构的程序,客户端和服务器之间使用网络进行通信。可以在同一个主机上,也可以在不同主机上。
客户端:主动发起请求的一方。
服务器:被动接收响应的一方。
MySQL 使用服务器部分来存储/管理数据,其中使用硬盘来存储数据。
二、数据库操作
2.1 显示当前数据库
SHOW DATABASES;
2.2 创建数据库
1、创建名为 moonsystem 的数据库。
CREATE DATABASE moonsystem;
2、若系统没有名为 moonsystem 的数据库,则创建;若有,则不创建。
CREATE DATABASE IF NOT EXISTS moonsystem;
3、创建名为 moonsystem,字符集为 utf8mb4 的数据库。
CREATE DATABASE moonsystem CHARSET utf8mb4;
注:MySQL 的 utf8 编码不是真正的 utf8,没有包含某些复杂的中文字符。MySQL 真正的 utf8 是 使用 utf8mb4。
2.3 删除数据库
DROP DATABASE 数据库名;
2.4 使用数据库
USE 数据库名;
三、数据类型
3.1 数值类型
分为整型和浮点型:
数据类型 | 大小 | 说明 | 对应 Java 类型 |
tinyint | 1字节 | 通常对应 Java 中的 boolean 类型 | Byte |
smallint | 2字节 | Short | |
int | 4字节 | Integer | |
bigint | 8字节 | Long | |
float(M,D) | 4字节 | 单精度,M 指定长度,D 指定小数位数。(会发生精度丢失) | Float |
double(M,D) | 8字节 | 双精度 | Double |
decimal(M,D) | M/D最大值+2 | 双精度,M 指定长度,D 表示小数点位数。(精确数值) | BigDecimal |
numeric(M,D) | M/D最大值+2 | 同 decimal | BigDecimal |
3.2 字符串类型
数据类型 | 大小 | 说明 | 对应 Java 类型 |
varchar (size) | 0-65535字节 | 可变长度字符串 | String |
text | 0-65535字节 | 长文本数据 | String |
mediumtext | 0-1677 7215字节 | 中等长度文本数据 | String |
blob | 0-65535字节 | 二进制形式的长文本数据 | byte[] |
3.3 日期类型
数据类型 | 大小 | 说明 | 对应 Java 类型 |
datetime | 8字节 | 范围从1000到9999年,不会进行时区的检索及转换。 | java.util.Date、java.sql.Timestamp |
timestamp | 4字节 | 范围从1970到2038年,自动检索当前时区并进行转换。 | java.util.Date、java.sql.Timestamp |
四、表的操作
需要操作数据库的表之前,需要先使用该数据库。
4.1 创建表
CREATE TABLE 表名 (
字段1 类型1,
字段2 类型2,
字段3 类型3
);
注:可以使用 comment 增加字段说明。
4.2 显示当前库中的表
SHOW TABLES;
4.3 查看表结构
desc 表名;
4.4 删除表
DROP TABLE 表名;
总结
1、MySQL 是一个客户端-服务器结构的程序。
2、int : 整型;decimal (M,D) : 浮点型类型;varchar(size) : 字符串类型;datetime : 日期类型。
3、需要操作数据库的表之前,需要先使用该数据库。
4、使用数据库:use 数据库名;查看表结构:desc 表名。
5、若创建表名或字段名与关键词冲突,可以使用反引号`name`。