| 数据保存保存在内存优点-读写速度快
 缺点-程序结束后数据丢失
 保存到文件(序列化)优点-数据可以永久保存
 缺点-频繁的进行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分页查询
 |