前言:为什么要使用数据库?
数据库的作用: 数据持久化
面试题:Java中数据持久化的方式有哪些?
1. 变量
2. 数组,集合
3. 文件 (数据持久化的一种方式), 格式很乱 ,查询效率低
4. 数据库(本质上也是用文件存储数据的),优点: 格式统一,查询数据快
(一):数据库的相关介绍
(二)使用数据库的相关指令
information_schema
mysql
performance_schema
sys
整型:
tinyint 1个字节
smallint 2个字节
int 4个字节(重点)
bigint 8个字节
字符串类型: char varchar
char : 定长的字符串(长度固定)
比如: char(20) 表示数据的长度固定为20 ,就算存"攀帅" 长度任然为20,
最大长度2000.用来存储固定长度的数据(手机号)
varchar: 变长字符串(重点)
比如: varchar(20) 存 "abc" 长度为3
varchar 相对于char更节省空间
text: 适合用来存储长文本
小数类型: float , double ,decimal
float: 4字节的浮点型
double: 8字节浮点型 double(5,2) 表示数据最多5位,其中有2位必须为小数.(重点)
decimal: decimal(m,d) m<65 ,d<m且d<30 在表示金钱方面使用该类型.不会出现精度缺 失的问题.
日期类型: date ,time,timestamp, datetime (重点)
date: 日期类型,格式:yyyy-MM-dd (3字节)
time: 时间类型,格式: hh:mm:ss (3字节)
timestamp: 时间戳类型,格式: yyyy-MM-dd hh:mm:ss (4字节)
datetime: 日期时间,格式: yyyy-MM-dd hh:mm:ss (8字节)
2.6创建表格式:
create table 表名(
字段或列名1 数据类型1,
字段或列名2 数据类型2,
字段或列名3 数据类型3,
字段或列名4 数据类型4
);
create table wife(
id int,
name varchar(20),
sex varchar(20),
age int
);
注意:
1. 创建数据表时,第一个字段,设置id.
id 是这个数据的唯一标识,类似于身份证号.
方便后期查询数据
2. 定义int类型的字段时,可以不加长度
3. 定义字符串的时候,必须指定长度
2.7插入数据到表中的4中格式:
格式一:
insert into 表名 (字段) value(字段值);
eg:insert into wife (name) value("小峰");
注意: 没有插入数据的字段,默认都会为null
格式二:
insert into 表名(字段1,字段2,...) value (值1,值2,...)
insert into wife(id,name,sex,age)value (1,'景甜','女',18);
格式三:
insert into 表名 value(值1,值2,值3...);
insert into wife value (2,"胖巴",'女',18);
insert into wife value (2,4,'女',18);
注意:
使用格式三,必须是给所有的字段添加值并且,值的顺序,要和表的字段定义顺序一致
格式四:
insert into 表名(字段1,字段2,....)values(值1,值2,...) , (值1,值2,...) ,....
使用 values 可以一次插入多条数据.
eg:insert into wife (id,name) values(3,"赵敏") ,(4,"周芷若");
2.8查询表格中所有的数据:select * from 表名;
2,9删除表中所有的数据:delete from 表名;
根据指定条件删除数据:delete from 表名 where 条件;
2.10删除表格:drop table 表名;
2.11修改数据:update 表名 set 字段1=值 ,字段2=值 ……
2.12查询表结构:desc 表名;
2.13给表格添加字段(列):alter table 表名 add (字段(或列名)数据类型);
2.14删除表中的字段(列):alter table 表名 drop 字段;
2.15修改表名:rename table 原表名 to 新表名;