数据库
数据库是按照规定的数据格式组织、存储和管理数据的仓库,只不过这个仓库是在计算机存储设备上的。
二维表
关系型数据库,用二维表来存储数据。
二维表具有固定的列数和任意的行数,在数学上称为"关系",一个关系即一个二维表。
名称 | 作用(属性,字段) |
---|---|
二维表(记录,元组) | 存储数据 |
关系术语
记录:二维表中每一行称为一个记录,或称为一个元组。
字段:二维表中每一列称为一个字段,或称为一个属性。
在表的属性定义完成后,这个表能存储的数据结构也就规定好了。域:属性的取值范围称为域。
对象关系映射(ORM)
将Java程序中对象的成员,与数据库中二维表的属性对应。
Java | 数据库 |
---|---|
类 | 二维表 |
成员 | 属性 |
数据库管理系统(DBMS)
DBMS是一种管理数据库的计算机软件,用于数据库的建立,使用和数据的维护。常说的数据库(MySQL,Oracle等)都是指DBMS。
操作数据库的流程
1.认证身份(验证账号密码)。
2.客户端发送SQL语句给服务器。
3.服务器执行SQL,查询表中数据,返回结果。
4.客户端接收结果并显示。
5.断开连接。
MySQL简述
系统数据库 | 功能 |
---|---|
information_schema | 存储数据库对象信息(表信息,权限,字符等) |
performance_schema | 存储数据库服务器性能参数信息 |
mysql | 存储数据库用户权限信息 |
sys | 系统配置信息 |
存储引擎
存储引擎 | 功能 |
---|---|
MyISAM | 查询快,不支持事务,外键 |
InnoDB | 支持事务,外键,性能相对低 |
MySQL中的数据用各种不同的技术存储在文件(内存)。
每种技术都使用不同的存储机制,索引技巧,锁定水平,通过选择不同的技术,能够获得额外的速度或者功能,从而改善应用的整体功能。
数据库命令行操作
命令 | 功能 |
---|---|
show databases | 显示数据库服务器中存在的数据库 |
use database_name | 指定要操作的数据库 |
show tables | 查看指定的数据库中有哪些表 |
create database database_name | 创建数据库 |
drop database database_name | 删除数据库 |
- database_name是自定义的名称
MySQL常用的数据类型
整型 | 浮点型 | 字符型 |
---|---|---|
int | float | char(size) |
bigint | double[(s,p)] | varcahr(size) |
int(6)指数据库检索时,数字少于6个的值用空格填充。
指定位宽不会影响字段的大小和它可以存储的值的范围,一般不用。
MySQL列类型与Java数据类型
MySQL数据类型 | Java数据类型 |
---|---|
int | int,Integer |
bigint | long,Long |
float | float,Float |
double | double,Double |
decimal(s,p) | BigDecimal |
char(size) | String |
varchar(size) | String |
text系列 | String |
float[(s,p)]
double[(s,p)]
可存放实型和整型 ,精度(p)和范围(s)
double(5,2):整数和小数一共占5位,其中小数占2位。
decimal:定点数据类型,高精度类型,金额货币优先选择。
char(size)
定长字符,0 - 255字节,size指N个字符数,若插入字符数超过设定长度,会被截取并警告。
varchar(size)
变长字符,0 - 255字节。
从MySQL5开始支持65535个字节,若插入字符数超过设定长度,会被截取并警告。
text系列类型
用于存储大量的字符串,比如文章的纯文本。
注意
在MySQL中,字符类型必须指定长度,值要使用单引号引起来。
SQL语句书写规则
使用 t_表名,来修饰表。
SQL语句大小写不敏感,为了提高可读性,一般关键字大写,其他小写。
SQL语句可单行或多行书写,在SQL语句中,关键字不能跨行或缩写。