
数据库知识碎碎片
uweii
悟已往之不谏
知来者之可追
展开
-
Sql 插入记录返回主键id
有时候,我们的主键id是自动生成的,然后想要插入记录后,就取得这条记录的id,怎么做呢? 比如我现在的一个student表的字段为:id(PK autoIncrement), name, school, tel, password。这五个,现在我要插入一条记录,id是自动生成的, 不用传入。 应该这样: Connection conn = null; int id = 0; tr...原创 2018-05-17 08:28:56 · 12552 阅读 · 1 评论 -
比较数据库的时间字符串
很多时候需要往数据库里存入时间字符串,那我们查询的时候怎么比较呢? 比如我有如下的数据: 现在我们要查询在 2018-05-18 05:03 --- 2018-05-18 06:07 之间的记录:sql语句如下: select * from have_class where STR_TO_DATE(time,'%Y-%m-%d %H:%i') > STR_TO_DATE('20...原创 2018-05-18 21:27:54 · 10627 阅读 · 0 评论 -
数据库的优化
1. 找到慢查询,优化sql语句 可以使用explain进行分析sql语句 2. 建立索引【普通索引, 唯一索引, 主键索引,全文索引】 3. 分表 ①垂直分表:当字段很少改变,但是内容量却很大的时候,可以把此字段单独分离出来,使用外键。 ②水平分表:当记录很大的时候,操作数据库很慢。可以考虑 按时间分表, 按区间范围分表(一般自增id),按 hash分...原创 2018-11-17 22:46:50 · 156 阅读 · 0 评论 -
索引在什么情况下会失效
1.对于创建的多列索引(复合索引),不是使用的第一部分就不会使用索引 alter table student add index my_index(name, age) // name左边的列,age右边的列 select * fro...原创 2018-11-17 23:03:50 · 13465 阅读 · 1 评论