![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
SQL
帅帅的光哥
新手一个,写博客用来记录自己在编程时遇到的问题及解决办法,同时也记录自己成长的过程
展开
-
数据库优化总结(比较全面)
1.对查询进行优化,要尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is null最好不要给数据库留NULL,尽可能的使用 NOT NULL填充数据库.备注、描述、评论之类的可以设置为 ...转载 2019-06-27 16:24:43 · 106 阅读 · 0 评论 -
java如何获取SQL查询结果集中的行数和列数
在Java中,获得ResultSet的总行数的方法有以下几种。第一种:利用ResultSet的getRow方法来获得ResultSet的总行数Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);ResultSet rset = stmt.ex...转载 2019-08-02 14:39:06 · 642 阅读 · 0 评论 -
查看mysql的连接数和状态
1.查看MySQL连接数登录到MySQL命令行,使用如下命令可以查看当前处于连接未关闭状态的进程列表;showfullprocesslist;若不加上full选项,则最多显示100条记录。若以root帐号登录,你能看到所有用户的当前连接。如果是其它普通帐号,只能看到自己占用的连接。在调试程序时,如怀疑应用程序中存在申请DB连接未释放的情况,可以通过该命令查询连接数(...转载 2019-07-31 15:09:08 · 458 阅读 · 0 评论 -
SQL如何避免重复插入主键
已知条件:MySQL数据库存在一张表,表名为teacher,主键为id,表中有4行数据select * from teacher;要求:要求使用数据库插入语句往表中插入数据,若需要插入表中的数据(或者数据的主键)如果已经在表中存在,那么要求SQL在执行的时候不能报错。例如:插入一行id=3,name=丁老师,salary=5000的记录,insert into teach...原创 2019-07-31 12:11:55 · 4609 阅读 · 0 评论 -
java.util.Date与java.sql.Date之间的转换
java.util.Date utilDate=new Date(); java.sql.Date sqlDate=new java.sql.Date(utilDate.getTime());反过来是一样的原创 2019-07-30 17:55:32 · 249 阅读 · 0 评论 -
查询数据库中表的数量
MySql数据库:SELECT count(TABLE_NAME) FROM information_schema.TABLES WHERE TABLE_SCHEMA='bean' AND (TABLE_NAME LIKE 'E_%' ORTABLE_NAME LIKE 'N_%');;DB2:SELECT count(TABNAME) FROM SYSCAT.TABLES WHER...原创 2019-07-25 17:20:05 · 1055 阅读 · 0 评论 -
使用 Statement.getGeneratedKeys() 获得自增键值
通过 JDBC 获取查询结果的某一行的自增键值(如自增主键),通常要使用如下语句:ResultSet rs = preparedStatement.getGeneratedKeys();if (rs.next()) { int id = rs.getInt(1);}有两个需要注意的地方。1.为什么要用 rs.next()?ResultSet 是带有头结点的结果集,初...转载 2019-07-29 15:54:15 · 881 阅读 · 0 评论 -
mysql8 :客户端连接caching-sha2-password问题
问题:caching-sha2-password处理: ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; #修改加密规则 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'pa...转载 2019-07-16 17:03:54 · 100 阅读 · 0 评论 -
Navicat连接数据库注意事项
注意:Navicat连接MySql时,应该先启动mysql服务,否则将会出现如下问题:如何连接启动mysql服务:1.以管理员身份打开命令行窗口2.输入net start mysql即可,结果如下图所示:注意:若没有为mysql配置环境,应当先跳转到mysql的bin的路径,再输入net start mysql即可...原创 2019-07-11 18:15:08 · 446 阅读 · 0 评论 -
Java工具类:JavaBean生成数据库表
以下是我项目的代码,稍微修改一下就可以使用了:BeanToTableUtils.classpackage com.beantotable;import java.io.IOException;import java.lang.reflect.Field;import java.sql.Connection;import java.sql.SQLException;import ...原创 2019-07-12 18:17:45 · 2292 阅读 · 0 评论 -
实现数据库的批处理两种方式,以及比较其优缺点
package com.storge;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.Statement;import org.junit.Test;/* *jdbc的批处理有两种机制。 *第一种 方式:使用State...原创 2019-08-21 11:09:54 · 683 阅读 · 0 评论