1select a商品名,(a入库数量-b出库数量)。
2as 剩余数量 from 入库表 a,出库表 b。
3where a商品名=b商品名。
格式:update 表名称 set 字段名称 = 字段名称 + 1 [ where语句]
比如说数据库中有一张student表,要想把id为1的学生成绩(score)加1则
update student set score=score+1 where id = 1
如果你不加where系统就不会知道你具体要更新哪条记录,而导致所有该表中score都增加1,当然,除非这就是你的本意。
update语句可以搞定,但是需要join配合,
例如,有个表如下,需要将id =999对应的name改为id=1000对应的name
可以这么做:
1
update person t1 join (select id,name from person where id = 1000 limit 1 ) as t2 on t1id <= t2id set t1name = t2name where t1id = 999 and t2id = 1000
修改后的结果
这样就可以了。。
在oracle中加减乘除都是可以直接select的。
select 1+2 from dual;
select 1-2 from dual;
select 字段一,MAX(字段二)-MIN(字段二) from 表
where 字段一=1
group 字段一
注:
1、字段二必须是数值型的,或数据都可转换为数值
2、where条件根据需要加
扩展资料:
1、SQL数据定义功能:能够定义数据库的三级模式结构,即外模式、全局模式和内模式结构。在SQL中,外模式又叫做视图(View),全局模式简称模式( Schema),内模式由系统根据数据库模式自动实现,一般无需用户过问。
2、SQL数据 *** 纵功能:包括对基本表和视图的数据插入、删除和修改,特别是具有很强的数据查询功能。
3、SQL的数据控制功能:主要是对用户的访问权限加以控制,以保证系统的安全性。
参考资料来源:百度百科-结构化查询语言
数据库是没有行序这个概念的,你不能说第几行,一般需要指定一个主键来定位,举个例子,有一个叫mytb的表,自增长主键为id列,你想让id等于10的那行的一个名为totalcount的字段加5,那sql可能就是
update mytb set totalcount=totalcount+5 where id=10
或者将id大于10小于20的totalcount都加5
update mytb set totalcount=totalcount+5 where id>10 and id<20
您好,数据库如下:
create table test(
id smallint primary key auto_increment,
asset int not null default 0);
下面是java代码用eclipse写的。
MyDBjava
package db;
import javasqlConnection;
import javasqlDriverManager;
import javasqlResultSet;
import javasqlSQLException;
import javasqlStatement;
public class MyDB {
Connection conn;
Statement stmt; //接口,用于静态执行SQL语句并返回执行结构。
ResultSet rs;
String url = "jdbc:mysql://localhost:3306/test"; //连接数据库的url
String user = "root"; //数据库用户名
String pwd = "wakeup05"; //user对应的密码
String SQL_UPDATE;
String SQL_SELECT;
/
增加资产
@param iNum 增加的资产数
/
public void UpdateAsset(int id, int iNum) {
try {
new orggjtmmmysqlDriver(); //加载mysql数据库驱动
conn = DriverManagergetConnection(url, user, pwd); //建立连接
stmt = conncreateStatement(); //返回一个statement接口
SQL_SELECT = "SELECT ASSET FROM TEST WHERE ID="+id;
rs = stmtexecuteQuery(SQL_SELECT); //执行查询语句
if(rsnext()) { //判断是否查到对应id
int asset=rsgetInt(1); //取出查到的资产值
SQL_UPDATE = "UPDATE TEST SET ASSET='"+(asset+iNum)+"' WHERE ID='"+id+"'";
int i = stmtexecuteUpdate(SQL_UPDATE); //执行更新语句
if(0 != i) {
Systemoutprintln("更新成功");;
}
}
else {
Systemoutprintln("id不存在");
}
connclose();
} catch (SQLException e) {
// TODO Auto-generated catch block
eprintStackTrace();
}
}
}
Testjava
package test;
import dbMyDB;
public class TestClass {
public static void main(String[] args) {
MyDB myDB = new MyDB();
myDBUpdateAsset(1, 200);
}
}
使用mysql数据库前要先导入mysql驱动包。楼主可以去网上找,很容易找到的,找到后在File->bulid path->add external archives进行导入。
如果楼主使用其他数据库,可以建立数据源,如何建立我就不在这里说了,网上有很多教程。不过使用那种方法则要将new orggjtmmmysqlDriver();
改为
try {
ClassforName("sunjdbcodbcJdbcOdbcDriver");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
Systemoutprintln("没有找到驱动程序");
}
update CARDINFO set consume=consume+100 where cardno='123456'
update CARDINFO set consume=payment+present-2
以上就是关于mysql中让两个表中的某一项数据做减法的sql语句怎么写全部的内容,包括:mysql中让两个表中的某一项数据做减法的sql语句怎么写、PHP数据库值加减的语句是什么需要先获取值吗、mysql中如何对表中的字段值进行加减 *** 作,并赋值.等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)