数据保存
保存在内存 优点-读写速度快 缺点-程序结束后数据丢失
保存到文件(序列化) 优点-数据可以永久保存 缺点-频繁的进行io操作,效率不高 数据的管理不方便,需要把所有数据全部读取出来才能操作
数据库 1-永久保存 2-管理方便
数据库实例-schema
物理主键(数据库中的唯一标识)--id? ?-pk/nn/ai 逻辑主键(Java代码中的唯一标识)
comments-注释 engine-引擎 pk主键/主码(唯一标识) nn非空 uq唯一 ai自动递增 default默认值
SQL语法
常用操作数据库的命令
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; ?
别名
自定义列(常量列)
去掉重复数据
where 查询条件
比较
?判空(null/空的字符串)-----Java(String)
模糊查询
转义
排序
聚合函数
count---个数(怒包含null)
分组筛选
limit分页查询
|