关于数据库的一些操作和常见数据类型

数据库的分类

数据库大体可以分为 关系型数据库 和 非关系型数据库

  • 关系型数据库(RDBMS):
    是指采用了关系模型来组织数据的数据库。 简单来说,关系模型指的就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。
    基于标准的SQL,只是内部一些实现有区别。常用的关系型数据库如:
  1. Oracle:甲骨文产品,适合大型项目,适用于做复杂的业务逻辑,如ERP、OA等企业信息系统。收费。
  2. MySQL:属于甲骨文,不适合做复杂的业务。开源免费。
  3. SQL Server:微软的产品,安装部署在windows server上,适用于中大型项目。收费。
  • 非关系型数据库:
    不规定基于SQL实现。现在更多是指NoSQL数据库,如:
  1. 基于键值对(Key-Value):如 memcached、redis
  2. 基于文档型:如 mongodb
  3. 基于列族:如 hbase
  4. 基于图型:如 neo4j

关系型数据库与非关系型数据库的 区别

关系型数据库非关系型数据库
使用SQL不强制要求,一般不基于SQL实现
事务支持支持不支持
复杂操作支持不支持
海量读写操作效率低效率高
基本结构基于表和列,结构固定灵活性比较高
使用场景业务方面的OLTP系统用于数据的缓存、或基于统计分析的OLAP系统

OLTP(On-Line Transaction Processing)是指联机事务处理。
OLAP(On-Line AnalyticalProcessing)是指联机分析处理。

数据库的操作

1、显示当前数据库

SHOW DATABASES;

2、创建数据库

CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [,
create_specification] ...]

create_specification:
[DEFAULT] CHARACTER SET charset_name
[DEFAULT] COLLATE collation_name
  • 大写的表示关键字
  • [] 是可选项
  • CHARACTER SET: 指定数据库采用的字符集
  • COLLATE: 指定数据库字符集的校验规则

示例一:创建名为 db_test1 的数据库

CREATE DATABASE db_test1;

当我们创建数据库没有指定字符集和校验规则时,系统使用默认字符集:utf8,校验规则是:utf8_ general_ ci

示例二:如果系统没有 db_test 的数据库,则创建一个使用utf8mb4字符集的 db_test2 数据库,如果有则不创建

CREATE DATABASE IF NOT EXISTS db_test2 CHARACTER SET utf8mb4;

3、使用数据库

use 数据库名;

4、删除数据库

DROP DATABASE [IF EXISTS] db_name;

数据库删除以后,内部看不到对应的数据库,里边的表和数据全部被删除
示例

drop database if exists db_test1;
drop database if exists db_test2

常用数据类型

数值类型

数据类型大小说明对应java类型
BIT[ (M) ]M指定位数,默认为1二进制数,M范围从1到64,存储数值范围从0到2^M-1常用Boolean对应BIT,此时默认是1位,即只能存0和1
TINYINT1字节Byte
SMALLINT2字节Short
INT4字节Integer
BIGINT8字节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
  • 数值类型可以指定为无符号(unsigned),表示不取负数。
  • 1字节(bytes)= 8bit。
    对于整型类型的范围:
  1. 有符号范围:-2^(类型字节数8-1) 到2^(类型字节数8-1)-1, 如int是4字节,就是-2^31 到2^31-1
  2. 无符号范围:0到2^(类型字节数*8) -1, 如int就是2^32-1
    尽量不使用unsigned,对于int类型可能存放不下的数据,int unsigned同样可能存放不下,与其如此,还不如设计时,将int类型提升为bigint类型。

字符串类型

数据类型大小说明对应java类型
VARCHAR (SIZE)0-65,535字节可变长度字符串String
TEXT0-65,535字节长文本数据String
MEDIUMTEXT0-16 777 215字节中等长度文本数据String
BLOB0-65,535字节二进制形式的长文本数据byte[]

日期类型

数据类型大小说明对应java类型
DATETIME8字节范围从1000到9999年,不会进行时区的检索及转换。java.util.Date、java.sql.Timestamp
TIMESTAMP4字节范围从1970到2038年,自动检索当前时区并进行转换java.util.Date、java.sql.Timestamp
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值