保存在内存
优点-读写速度快
缺点-程序结束后数据丢失
保存到文件(序列化)
优点-数据可以永久保存
缺点-频繁的进行io操作,效率不高
数据的管理不方便,需要把所有数据全部读取出来才能操作
数据库
1-永久保存
2-管理方便
物理主键(数据库中的唯一标识)--id -pk/nn/ai
逻辑主键(Java代码中的唯一标识)
comments-注释
engine-引擎
pk主键/主码(唯一标识)
nn非空
uq唯一
ai自动递增
default默认值
1.show databases; 查看所有的数据库
2.create database test; 创建一个叫test的数据库
3.drop database test;删除一个叫test的数据库
4.use test;选中库 ,在建表之前必须要选择数据库
5.show tables; 在选中的数据库之中查看所有的表
6.create table 表名 (字段1 类型, 字段2 类型);
7.desc 表名;查看所在的表的字段
8.drop table 表名; 删除表
9.show create database 库名;查看创建库的详细信息
10.show create table 表名; 查看创建表的详细信息
11.insert into表名[(字段1,字段2,…)]valuse(‘值1’,‘值2’,…)往表里添加插入数据
DML-添加+删除+修改(关键字) insert---添加
insert into 表名() values(值1,值2,…);
insert into 表名(字段1,字段2…) values(值1,值2,…);(较常用)
insert into 表名(字段1,字段2…) values(值1,值2,…),(值1,值2,…),(值1,值2,…);
delete----删除
delete from 表名 where 条件
注意:where 条件必须加,否则数据会被全部删除
与truncate区别:自增id重新初始化
update---修改
update 表名 set字段1 = 值1, 字段2 = 值2 where 条件
查询---关键字select查询全部内容:
Select * from user;
查询内容带有筛选条件:
select * from user where **
查询部分列(起别名)
select a.id,a.name from user a where **
多表关联查询
select a.id,b.order fromuser a,order b where a.id=b.uid;
转义
排序 聚合函数count---个数(怒包含null)
分组筛选 limit分页查询


