精华内容
下载资源
问答
  • SQL语句跨表查询

    千次阅读 2017-08-03 10:55:04
    语句的条件中的必须增加两关联语句 4.不使用任何关键字(经过测试ODBC中是不可用的),所以可以使用添加关键字"ANY"取代 SELECT * FROM bms_dsl_PortConsumerBind a WHERE (ConsumerID =  (SELECT ...
    1.使用关键字"IN"
    
    SELECT *
    FROM bms_dsl_PortConsumerBind a
    WHERE (ConsumerID IN
              (SELECT ConsumerID
             FROM bms_dsl_ConsumerInfo b
             WHERE (b.Name = '空') OR
                   (b.Name = '坏')))
    2.使用关键字"ANY"
    SELECT *
    FROM bms_dsl_PortConsumerBind a
    WHERE (ConsumerID = ANY
              (SELECT ConsumerID
             FROM bms_dsl_ConsumerInfo b
             WHERE (b.Name = '空') OR
                   (b.Name = '坏')))
    使用关键字"in"和"ANY",区别在于ANY前面需要加"=",子查询语句是完全一致
    3.使用关键字"EXISTS" 使用"EXISTS"关键在于两表关联语句,如:下列例子 a.ConsumerID = b.ConsumerID
    SELECT *
    FROM bms_dsl_PortConsumerBind a
    WHERE EXISTS
              (SELECT ConsumerID
             FROM bms_dsl_ConsumerInfo b
             WHERE a.ConsumerID = b.ConsumerID AND ((b.Name = '空') OR
                   (b.Name = '坏')))
    使用关键字"in"和"ANY" 与使用"EXISTS"的区别,结构上的差别:EXISTS前面是不需要有列名的,并且在子查询
    语句的条件中的必须增加两表关联语句
    4.不使用任何关键字(经过测试ODBC中是不可用的),所以可以使用添加关键字"ANY"取代
    SELECT *
    FROM bms_dsl_PortConsumerBind a
    WHERE (ConsumerID =
              (SELECT ConsumerID
             FROM bms_dsl_ConsumerInfo b
             WHERE (b.Name = '空') OR
                   (b.Name = '坏')))
    展开全文
  • python sql语句参数接口

    千次阅读 2018-06-12 18:22:52
    由于工作需要,今天写了一个Python小脚本,其中需要连接...直接把sql查询语句完整写入字符串1 try: 2 connection = MySQLdb.connect(user="secsel",passwd="secsel@55",host="192.168.1...

    由于工作需要,今天写了一个Python小脚本,其中需要连接MySQL数据库,在执行sql命令时需要传递参数,结果出问题了。在网上查了一下,发现有以下几种方式传递参数:

    一.直接把sql查询语句完整写入字符串

    复制代码
    1     try:
    2         connection = MySQLdb.connect(user="secsel",passwd="secsel@55",host="192.168.138.55",db="anbench")
    3     except:
    4         print "Could not connect to MySQL server."
    5         exit( 0 )
    6 
    7     cursor = connection.cursor()
    8     cursor.execute( "SELECT a.id,a.md5,CONCAT(b.`from_name`,'/',b.`suffix`,'/',a.`md5`) FROM apk_sec a,apk_from b WHERE a.`apk_from_id`=b.`id` AND a.md5 = %s", apk_md5)    
    复制代码

    二.使用参数替代

    city = 'beijing'
    
    cur.execute(“SELECT * FROM %s WHERE city = %s”, city)

    #注意此处的占位符统统是%s字符串类型,不再区分字符串,数字或者其他类型。另外%s不能加引号,如”%s”这是错误的写法。我就是加引号出错了。

    变量替代的时候还有一种写法:

    cur.execute(“SELECT * FROM %s WHERE city = %s” %city)

    前面代码使用了逗号,这里使用了百分号%。两者区别在于变量的解释方式。使用逗号,变量是作为execute的参数传入的,由MySQLdb的内置方法把变量解释成合适的内容。使用百分号%则是用Python编译器对%s执行相应的替代,这种方法是有漏洞的,有些时候(比如包含某些特殊字符的时候)不能正常解析,甚至会有注入漏洞。一般情况下都要把变量作为execute的参数传入。

    3.使用字典dict类型传递变量

    复制代码
    1 sql = “INSERT INTO user VALUES(%(username)s, %(password)s, %(email)s)”
    2 
    3 value = {“username”:zhangsan,
    4 
    5 “password”:123456,
    6 
    7 “email”:123456@ouvps.com}
    8 
    9 cur.execute(sql, value)
    复制代码

    上面这种方法适合字段比较多的时候,变量顺序不会错。

    附上我写的脚本代码相关部分:

    复制代码
     1 def get_apkpath(apk_md5):
     2     try:
     3         connection = MySQLdb.connect(user="***",passwd="***",host="192.168.***.***",db="***")
     4     except:
     5         print "Could not connect to MySQL server."
     6         exit( 0 )
     7 
     8     cursor = connection.cursor()
     9     cursor.execute( "SELECT a.id,a.md5,CONCAT(b.`from_name`,'/',b.`suffix`,'/',a.`md5`) FROM apk_sec a,apk_from b WHERE a.`apk_from_id`=b.`id` AND a.md5 = %s", apk_md5)  #注意不要加引号
    10     print "Rows selected:", cursor.rowcount
    11 
    12     for row in cursor.fetchall():
    13         print "note : ", row[0], row[1], row[2]        
    14     cursor.close()
    15     return row[2]
    复制代码

     

    展开全文
  • 数据库的单表查询,熟悉SQL语句

    万次阅读 多人点赞 2018-09-03 10:49:22
    使用SQL语句完成单的增删改查 使用JDBC通过java代码完成单的增删改查 创建数据库:create 数据库名; 删除数据库:drop database 数据库名; 查看数据库:show databases; 创建数据库并进行设置编码格式:...

    回顾MYSQL

    回顾JDBC

    今日学习目标:

    使用SQL语句完成单表的增删改查

    使用JDBC通过java代码完成单表的增删改查

    创建数据库:create 数据库名;

    删除数据库:drop database 数据库名;

    查看数据库:show databases;

    创建数据库并进行设置编码格式:create database 数据库名 character set gbk;

    显示数据库结构:show create database 数据库名;

    使用库:use 数据库名;

    查看当前正在操作的库:select database();

    二:对数据库表的操作

    创建表语句:

     create table user(
        uid int(32) primary key auto_increment,
        uname varchar(32),
        upassword varchar(32)
        );

    查询表:show tables;

    查看表结构:desc 表名;

    删除表:drop table 表名;

    修改表:

    1.添加一列:alter table 表名 add 字段名 类型(长度) [约束]

    2.修改列的类型(长度、约束)

    alter table 表名 modify 要修改的字段名 类型(长度) [约束]

    3.修改列的名字:

    alter table 表名 change 旧列名 新列名类型(长度)、[约束]

    4.删除表的列

    alter table 表名 drop 列名

    .

    5.修改表名:

    rename table 表名 to 新表名; 

    6.修改表的字符集:

    alter table 表名 character set 编码:

    查看当前表的编码:show create table user_tb;

    三、对数据库中表记录的操作_插入和修改操作:

    插入语法:

    insert into 表名(列1,列2,列3...) values (值1,值2,值3...)--向表中插入某些列

    insert into 表名 values(值1,值2,值3...)--向表中插入所有列

    注意:1.参数和值前后长度保持一致 2.值如果是字符串和时间,则加上单引号。

     注意:出现乱码时,在MySQL配置文件my.ini中修改下列属性

    方式一:

    [mysql]
    57 行:default-character-set=gbk

    方式二:set names gbk;

    更新语法:

    update 表名 set 字段名=值,字段名=值 ...;(它会将该列的所有值改变)

    update 表名 set 字段名=值,字段名=值 ... where 条件;(只会修改条件满足的那一列)

    删除语法:

    delete from 表名 [where  条件];

    面试题:删除表中所有记录使用delete from 表名;还是用truncate table 表名;

    删除方式:

    delete 一条一条删除,不清空auto_increment记录数(自动递增:主键)

    注意:删除后不会重置id。

    不带条件删除(全部删除):

    truncate 直接将表删除,重新建一样的表,auto_increment 将置为零,从新开始:

    事务方面:

    delete 删除的数据,如果在一个事务中可以找回。

    truncate 删除的数据找不回来。

     

    查询语法:

    select [distinct] *  |  列名1,列名2 ... from 表 [where 条件];

    1.查询所有商品使用表别名:

    语法:select * from product as p;(as可以省略)

    2.查询商品名,使用列别名:

    语法:select pname as name from product;(as可以省略)

    3.去掉重复值(按照名字)

    select distinct(pname )from product;

    4.将所有商品价格+10进行显示

    select pname,price+10 from product;

    5.查询名字中含有‘士’字的商品信息:(模糊查询:like语句中,%代表零个或多个任意字符,_代表一个字符)

    6.查询id是3,6,9的商品:

    7.查询名字含有士字并且price小于100:(and:多个条件并列查询)

    8.or的使用:(或查询)

    9.聚合函数:

    9.1:获取所有商品价格总和:

    9.2:获取所有商品的平均价格:

    9.3:获取所有商品个数:

    10.排序:

    10.1:查询所有的商品,按价格进行排序:(升序:asc   降序:desc)

    10.2:查询商品名称有“士”的商品信息,并且按照价格降序排列:(order by 要放在where条件之后)

    11:分组

    11.1:添加分类id:用来进行分组使用;

    11.2:分组:先将所有数据初始化为1:

    再将需要分组区分的重新按条件查询并设置为2:

    然后根据需求查询需要的组:

    11.3:分组查询商品个数:(可用来查询当前系统教师,学生,超级管理员的个数)

    13.4:根据cid分组,分组统计每组商品的平均价格,并且平均大于20000元;

    查询(顺序)总结:

    select  *| 字段...  ()一般在的后面的内容都是要查询的内容

    from   表

    where  查询条件

    group by 分组字段(注:分组后带有条件,只能使用having)

          having分组条件

    order by 排序字段  asc|desc(升|降) (注:该字段必须放在最后)

     

    JDBC:Java DataBase Connectivity:java数据库连接,SUN公司推出的java访问数据库的标准规范(接口)。

    JDBC开发步骤:

    1.注册驱动  2.获得连接  3.获得语句执行者  4.执行SQL语句  5.处理结果

      数据库驱动:class.forName("com.mysql.jdbc.Driver");
      数据库连接:Connection con = DriverManager.getConnetion("jdbc:mysql://localhost:3306/mydb1","root","1107");
      扩展参数:jdbc:mysql://localhost:3306/mydb1?useUnicode=true&characterEncoding=UTF8
      useUnicode参数:指定这个连接数据库的过程中,使用的字节集是Unicode字节集;
      characterEncoding参数:指定Java程序连接数据库的过程中,使用的字节集编码为UTF-8编码,注意:mysql指定UTF-8编码是
      给出的是UTF-8,而不是UTF8;

    3.获得执行语句

    String sql = “insert into user(id,password) values (null,'123')”;

    Statement 语句执行者 :Statement stmt = con.createStatement();

    防止使用‘or’关键字,攻击服务器:

           

            // 4.创建预处理对象
            PreparedStatement pstmt = conn.prepareStatement(sql);
            // 5.设置参数(给占位符)
            pstmt.setString(1, username);
            pstmt.setString(2, password);
            // 6.执行查询操作
            ResultSet rs = pstmt.executeQuery();

    int executeUpdate(String sql); -- 执行 inert update delete 语句   (DML语句)

    ResultSet executeQuery(String sql); --执行select语句  (DQL语句)

    boolean execute(String sql);--执行select返回true 执行其他的语句返回false,

    ResultSet实际上是一张二维的表格,它内部有一个“行光标”,光标默认位置在"第一行的上方",这里可以调用rs的对象的next()方法把“行光标”向下移动一行,当第一次调用next()方法时,“行光标”就到了第一行记录的位置,这是就可以使用ResultSet提供的getXXX(int col)方法来获取指定的列的数据了。

    rs.next();   rs.getInt(1);//此时getXXX,XXX根据数据类型改变。

    释放资源:关闭顺序(先得到的后关闭,后得到的先关闭)

    rs.close();    stmt.close();  con.close();

    核心代码:

    package cn.itheima.test;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    import org.junit.Test;
    
    public class TestLogin {
    	@Test
    	public void testLogin() {
    		try {
    			String username = "老王";
    			String password = "456";
    			login(username, password);
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    	}
    
    	public void login(String username, String password) throws ClassNotFoundException, SQLException {
    		// 1.注册驱动
    		Class.forName("com.mysql.jdbc.Driver");
    		// 2.获取连接
    		Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/web08?useUnicode=true&characterEncoding=UTF8", "root", "1107");
    		// 3.创建执行sql语句的对象:注意:除了Driver是jdbc下面的包,其他都是sql中的包
    		Statement stmt = conn.createStatement();
    		// 4.书写一个sql语句
    		String sql = "select uname,upwd from user where " + "uname ='" + username + "' and upwd='" + password + "'";
    		// 5.执行sql语句
    		ResultSet rs = stmt.executeQuery(sql);
    		// 6.对结果集进行处理
    		if (rs.next()) {
    			System.out.println("登录成功!");
    			System.out.println("用户名:" + username + "密码:" + password);
    			System.out.println(sql);
    		} else {
    			System.out.println("查无此人!");
    		}
    		if (rs != null) {
    			rs.close();
    		}
    		if (stmt != null) {
    			stmt.close();
    		}
    		if (conn != null) {
    			conn.close();
    		}
    
    	}
    
    public void login1(String username, String password) throws ClassNotFoundException, SQLException {
    		// 1.注册驱动
    		Class.forName("com.mysql.jdbc.Driver");
    		// 2.获取连接
    		Connection conn = DriverManager.getConnection(
    				"jdbc:mysql://localhost:3306/web08?useUnicode=true&characterEncoding=UTF8", "root", "1107");
    		// 3.先编写sql语句
    		String sql = "select * from user where uname = ? and upwd=?";
    		// 4.创建预处理对象
    		PreparedStatement pstmt = conn.prepareStatement(sql);
    		// 5.设置参数(给占位符)
    		pstmt.setString(1, username);
    		pstmt.setString(2, password);
    		// 6.执行查询操作
    		ResultSet rs = pstmt.executeQuery();
    		// 7.对结果集进行处理
    		if (rs.next()) {
    			System.out.println("登录成功!");
    			System.out.println("用户名:" + username + "密码:" + password);
    			System.out.println(sql);
    		} else {
    			System.out.println("查无此人!");
    		}
    		if (rs != null) {
    			rs.close();
    		}
    		if (pstmt != null) {
    			pstmt.close();
    		}
    		if (conn != null) {
    			conn.close();
    		}
    
    	}
    }
    

     

    分页查询关键字limit(2,2)第一个参数为起始位置,第二个参数表示每页显示的数据数量。

    起始位置计算:(要查询第几页-1)*第二个参数 = 起始位置。

    每页显示三条记录,查询第三页数据:如下:

     

    展开全文
  • 但是我的请求是包含了sql语句的。类似于下面这样的URL: http://X.X.X.X/tb/re?select * from table where name='zhangsan' ?前面的是他们提供的接口。后面是我传的sql语句,当然还需要你的用户名密码或...

    第一次做这种对接外部(第三方)接口的开发。记录一下:

    介于保密的原因,外部接口就不公开了。我的需求是根据第三方提供的接口,查询数据。但是我的请求是包含了sql语句的。类似于下面这样的URL:

    http://X.X.X.X/tb/re?select * from table where name='zhangsan'

    ?前面的是他们提供的接口。后面是我传的sql语句,当然还需要你的用户名密码或者token。根据这个需求python可能几行代码就能搞定了,但是我使用的java,这个时候就感受到了python的简洁。

    参考代码如下:

    说明:

    1.QUERYTB是我们的外部接口。

    2.sql是我们要写的sql语句。

    3.我没使用用户名密码登录,使用的是token所以换成token即可。

    4.使用GET请求

    package test;
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.io.OutputStream;
    import java.net.HttpURLConnection;
    import java.net.MalformedURLException;
    import java.net.URL;
    import java.util.Base64;
    import java.util.List;
    import java.util.Map;
    import javax.swing.text.AbstractDocument.Content;
    import com.fasterxml.jackson.core.JsonParser;
    import net.sf.json.JSONArray;
    import net.sf.json.JSONObject;
    import java.io.IOException;
    
    public class T {
     static String QUERY_TB = "http://。。。。";//外部接口
     static String QUERY_SQL = "?sql=。。。。";
     static String para="&access_token=。。。。。。。";
     static String uid = "123321456";
    
     public static void main(String[] args) {
      try {
       String u="512571";
        JSONArray j=test1(u).getJSONArray("data");
        for (int i =0;i<j.size();i++)
        {
         JSONArray oo=	(JSONArray) j.get(i);
        String one= (String) oo.get(0);
        String two= (String) oo.get(1);
        String three= (String) oo.get(2);
         System.out.println("1"+one+"2"+two+"3"+three);
         break;
        }
      } catch (IOException e) {
       e.printStackTrace();
      }
     }
    
    
    
     public static JSONObject test1(String UID) throws IOException {
       URL url = new URL(QUERY_TB + QUERY_SQL+UID+para);
       HttpURLConnection connection = (HttpURLConnection) url.openConnection();
       connection.setRequestMethod("GET"); // 设置请求方式
       connection.setConnectTimeout(15000);
       connection.connect();
       BufferedReader br = new BufferedReader(new InputStreamReader(connection.getInputStream(), "utf-8"));
       String line = null;
       StringBuilder result = new StringBuilder();
       while ((line = br.readLine()) != null) { // 读取数据
        result.append(line);
       }
       br.close();
       connection.disconnect();
       JSONObject jsondata = JSONObject.fromObject(result.toString());
       return jsondata;
     }
    

    这里面也遇到了很多的问题:

    1,就是我们发送请求的时候,不能像在写sql的时候来写sql语句,比如 select * from table,我们可以看到语句中出现了空格,在我们发送URL请求的时候是不能这么写的,如果这样写的话,就会报一个400的错误,400状态码就意味这服务器不能够了解我们的URL地址,也就是我们URL地址出现错误。有人可能就问,为什么我同样把相同的连接粘入到浏览器为什么能正常访问接口里的数据呢?究其原因是我们在使用浏览器访问我们的URL的时候,会自动帮我们把空格去掉,所以能正常访问。

    那我们怎么把连接放入到我们的URL请求里呢?我们按照正常的写法来写sql语句,但是在出现空格的地方我们使用20%来填补空格,然后再传进去就可以了,如果需要用到单引号,我们是使用27%来代替的,如果出现上面那个错误,最笨的方法就是把连接粘贴到浏览器,浏览器就自动给我们替补上对应的占位符来填补不同的字符。

    2,怎么取到里面的数据就参考代码吧,我这个还是有点困难的,因为返回的不是json数据,也简单做了一下处理。

    展开全文
  • ASP.NET参数SQL语句(SQL SERVER)

    千次阅读 2017-03-24 18:30:44
    设计项目时,为了防止SQL注入,有很多种方法,一种是通过编写存储过程来防止SQL注入,使用这种方法可以提高性能,但是对于查询语句可能存在多种不同的SQL语句,这就要编写很多存储过程,还有一种方法是通过参数化,...
  • Springboot 显示Mybatis接口运行时的SQL以及参数 1.使用Springboot自带的logging日志系统 // 只需要添加如下配置即可 logging: level: com: wretch: dao: debug // 其中level下行的子属性,是你存放Mapper...
  • mybatis 中sql语句传递多个参数

    千次阅读 2017-05-27 16:45:59
    Mapper中的接口: PermissionEntity selectPermission(Integer roleid, Integer menuid); 那么对应的映射文件: SELECT p.* from menu m,permission p WHERE m.Menuid=p.Menuid AND p.Roleid = #{0} AND p....
  • 关于springboot整合jpa:...jpa使用@Query 多关联、传参:https://blog.csdn.net/qq_35387940/article/details/102545849 正题,很多人使用Springboot整合JPA后,都会在配置文件中设置配置项 ...
  • ** spring-data-jpa对于简单的数据操作确实使用起来比较方便,但是对于一些比较复杂的动态的多条件查询就不是那么简单了,对于需要些sql语句并且需要动态的添加条件的时候就得使用jpa的EntityManager来完成了. ...
  • SQL语句参数化__封装

    千次阅读 2017-11-22 12:02:00
    封装SQL语句参数
  • python中执行sql语句

    千次阅读 2021-02-03 11:14:54
    来源:疯狂的蚂蚁的博客 ...然后执行SQL语句对数据库进行 增删改查等操作并提交事务,此过程如果出现异常则使用回滚技术 使数据库恢复到执行SQL语句之前的......因此SQLite在解析建表语句时,会忽略建表语句中跟在字...
  • mapper.xml ...public List<CountData> countResourceNum(@Param(value="value") String sql) throws Exception; Controller.java List<CountData> countDatas = countDataSV.countResourceNum(countSQL);
  • 当单记录数过大时,增删改查性能都会急剧下降,可能原因:没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) 、I/O吞吐量小,形成了瓶颈效应、没有创建计算列导致查询不优化、内存不足、网络...
  •   通过Mybatis的使用,开发人员只需要专心提供SQL语句即可,这篇文章介绍了SQL语句参数传递的问题。大致有以下几种方式: 1. 单个参数传递 //在接口中定义放法,参数形式如下 //使用单个参数 Student selectById...
  • 四、Mybatis操作各种SQL语句 1.查询 查询的标准模板&lt;select id="" parameterType="...SQL语句&... parameterType:传入SQL语句中占位符的参数类型:int,string,map,double,...
  • 项目中,jpa对于简单的数据库操作很方便,但如果多关联动态查询时,需要自己去写SQL语句拼接查询条件,以下为本人学习的例子。 类似于这种多条件动态查询: 项目用的是springboot 2.1.0.RELEASE版本以及spring-...
  • 如果不喜欢上述方法,可以定义有getXXXX方法的接口来接收原生SQL的结果(SQL语句中的字段和接口中的get方法的匹配遵循驼峰命名),如下例: : 接口如下: public interface DateDbCount { /* SELECT...
  • 使用PreparedStatement执行sql语句

    千次阅读 2018-05-25 23:08:26
    PreparedStatement是Statement 的子接口使用Statement执行sql语句的话,不能用占位符代替变量,要靠字符串的拼写。这样的话很麻烦而PerparedStatement的话,提供了占位符然后也提供了方法来设置占位符的值方法 :...
  • 不过这种做法有时候针对相同的几个有不同的查询条件,SQl语句可能不同,这样就会编写大量的存储过程。于是就有了第二种查询方法, 2)参数查询SQL语句 举例如下: //实例化Connection对
  • log4j2 that you want to use the SLF4J logger log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator 重新配置yml文件 #########Springboot JPA日志输出打印SQL语句和传入的参数 ...
  • oracle11g 分析sql语句,SQL跟踪

    千次阅读 2018-11-09 13:53:59
    需求:信息中心要把所有OA流程,与之关联的查询设置、应用绑定设置、授权部门/人/组、自定义业务、排序、自定义计算规则 都查出来,保存到一个中,再用一个软件呈现 了解情况如下:无源码,反编译竟然找...
  • mybatis接口SQL语句绑定

    千次阅读 2016-10-12 00:46:07
    SessionFactory factory...根据接口中的方法,到与接口对应的命名空间的xml映射文件中找与方法相同的Id,这样就实现了接口中的方法与id所在标签包裹的SQL语句相关联   找到接口后(转化器),根据转化器就可以找到以
  • 最近,使用java+mybatis开发时,遇到了一个情况:想执行一条sql语句从数据库查询数据,但是无法确定传入的参数是否为空。通过百度,发现了以下几种解决方法,在此整理如下。 其中,第3种解决办法最简洁高效。 1....
  • org.hibernate.query 接口的实现类 从0开始 PreparedStatement 类 从1开始
  • 接口方法中使用以下代码 @Modifying @Transactional @Query(value ="delete from product where product_id = ?1", nativeQuery = true) void deleteType(Integer product_id); 注意:里面的 ?1 代表的是方法...
  • java中执行Sql语句的Statement详细用法

    万次阅读 2019-05-16 16:46:17
    建立了到特定数据库的连接之后,就可用该连接发送 SQL 语句。Statement 对象用 Connection 的方法createStatement 创建,如下列代码段中所示: Connection con = DriverManager.getConnection(url, "sunny",""); ...
  • 批量删除sql语句

    千次阅读 2019-09-23 13:06:08
    SET @I = 148;SELECT CONCAT("DELETE FROM supplier_change_log WHERE old_supplier_id=4194 AND id>=",@I," AND id<",@I:=@I+2000,";SELECT SLEEP(0.2);") FROM supplier_change_log LIMIT 1205;...
  • Mybatis 模糊查询和动态sql语句

    千次阅读 2017-05-03 15:44:46
    Mybatis 模糊查询和动态sql语句模糊查询 对数据库最常用的操作就是查询了,但是如何使用Mybatis进行模糊查询呢?下面先看一个简单的模糊查询 SELECT * FROM oa_employee WHERE emp_name
  • 这条语句就叫做‘getStudent,有一个String参数,并返回一个StudentEntity类型的对象。 注意参数的标识是:#{studentID}。   select 语句属性配置细节:  属性 描述 取值 默认 ...
  • JDBC 为java开发者使用数据库提供了统一的编程接口,由一组java类和接口组成。是java程序与数据库系统通信的标准API。sun公司不知道各个与数据库连接的程序代码,就自己提供一套api,凡是数据库想与JAVA连接的,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 219,010
精华内容 87,604
关键字:

接口带参数跨表查询sql语句