免费论文网 首页

增删改查

时间:2017-02-16 06:42:12 来源:免费论文网

篇一:数据的增删改查

数据的增删改查补充练习

1、已知关系数据库表设计如下:

product:productID(产品编号)、productName(产品名称)、productType(产品类型) price:productID(产品编号)、companyID(公司编号)、pre_price(上一次价格)、now_price(现在价格)

说明:

A、有可能很多个公司,每个公司有不同的产品价格; B、浮动价格=上一次价格-现在价格。

请编写SQL语句查询出产品类别为“笔记本”的产品编号、产品名称和浮动价格,

并且以浮动价格由高到低排列的前十名的产品信息。

参考答案:

Select top 10 * from (select product.productID, productName,pre_price-now_price as '

浮动价格'from product,price where product.productID =price.productID )temptable order by '浮动价格' desc

2、表USERS:Number(编号)、Name(姓名)

表中有以下的数据:

1 a 2 b 3 b 4 a 5 c 6 c

要求删除表中的部分记录,当Name列上有相同时,只保留Number这列上值小的那一行,操作结果应如下:

1 a 2 b 5 c

请用一条SQL语句的来实现。

参考答案:

DELETE * FROM Users WHERE Number NOT IN (Select Min(Number) FROM Users GROUP BY Name)

3、表A中有字段B,如何读出字段B存在重复的记录? 参考答案:

Select B from A group by B having count(B) >1

4、SQL Server中的表结构如下。 表g_cardapply:

表g_cardapplydetail

其中,两个表的关联字段为申请单号。 编写SQL语句实现以下功能:

A、查询身份证号码为440401430103082的申请日期;

B、查询同一个身份证号码有两条以上记录的身份证号码及记录个数; C、将身份证号码为440401430103082的记录在两个表中的申请状态均改为07 D、删除g_cardapplydetail表中所有姓李的记录

参考答案:

A、SELECT A.g_applydate FROM g_cardapply AS A INNER JOIN g_cardapplydetail AS B ON A.g_applyno = B.Applyno and B.g_idcard = '440401430103082'

B、SELECT g_idcard, count(g_idcard) FROM g_cardapplydetail GROUP BY g_idcard HAVING Count(g_idcard)>2

C、Update g_cardapplydetail Set g_state = '07' WHERE g_idcard = '440401430103082' Update g_cardapply Set g_state = '07' WHERE g_applyno In (Select g_applyno From g_cardapplydetail WHERE g_idcard = '440401430103082')

D、DELETE FROM g_cardapplydetail WHERE g_name LIKE '李%'

5、表A中的B列有很多数据行,想办法查询出B列的数据值和行编号。

参考答案:

Select Identity(int,1,1) AS C, B INTO #t From A Select * From #t Drop table #t

6、某公司的产品销售系统有一下两个表的数据: 产品表

销售计划表

回答以下问题:

A、是否能删除产品表中的Name2?请说明理由与过程;

B、将销售计划表中M客户的产品名为Name2的销售单价更换为产品表中相应的单价 C、编写求销售计划表中各客户各自的销售总金额的SQL语句; D、编写求客户中销售总金额的最大的客户名的SQL语句;

E、Update table2...数据库为默认设置能不能开始事务?为什么。

参考答案:

A、若两表建立了主外键关系,则不能删除主表中在子表中已经存在的数据项; B、DECLARE @A

SELECT @A = MAX(单价) FROM 产品表 WHERE产品名=’Name2’

UPDATE销售计划表 SET销售单价 = @A WHERE ’Name2’ AND客户名=’M’ C、SELECT客户名,SUM(销售单价*订货数量) FROM销售计划表 GROUP BY 客户名 D、SELECT TOP 1客户名,SUM(销售单价*订货数量)FROM销售计划表 GROUP BY客户名 ORDER BY SUM(销售单价*订货数量)

E、开始,单个语句为自动事务。

篇二:增删改查

考试复习

AdminDao.java

package dao;

import java.sql.SQLException;

public class AdminDao extends BaseDao {

//管理员登录方法 public boolean checkLogin(String name, String pass) {try {conn=getConn(); pstat=conn.prepareStatement("select * from admin where admin_name=? and admin_pass=?");

pstat.setString(1, name); pstat.setString(2, pass); rs=pstat.executeQuery(); if(rs.next()){ return true;

}

} } } catch (SQLException e) {// TODO Auto-generated catch block e.printStackTrace(); }finally{ } return false; closeAll(conn, pstat, rs);

BaseDao.java

package dao;

import java.sql.*;

public class BaseDao {

public Connection conn=null; public PreparedStatement pstat=null; public ResultSet rs=null; public String driver="oracle.jdbc.driver.OracleDriver"; public String url="jdbc:oracle:thin:@localhost:1522:accp11g"; public String name="yinzhangrui"; public String pass="123"; //连接数据库 public Connection getConn(){try { } Class.forName(driver); conn=DriverManager.getConnection(url,name,pass); // TODO Auto-generated catch block e.printStackTrace(); // TODO Auto-generated catch block e.printStackTrace(); } catch (ClassNotFoundException e) { } catch (SQLException e) {

}

}return conn; //关闭数据库 public void closeAll(Connection conn,PreparedStatement pstat,ResultSet rs){ } if(rs!=null){ } if(pstat!=null){ } if(conn!=null){ } try { } conn.close(); // TODO Auto-generated catch block e.printStackTrace(); } catch (SQLException e) { try { } pstat.close(); // TODO Auto-generated catch block e.printStackTrace(); } catch (SQLException e) { try { } rs.close(); // TODO Auto-generated catch block e.printStackTrace(); } catch (SQLException e) {

StudentDao.java

package dao;

import java.sql.SQLException;

import java.util.ArrayList;

import java.util.List;

import entity.Student;

public class StudentDao extends BaseDao {

//查询所有学员信息 public List<Student> selectAll(){List<Student> stuList=new ArrayList<Student>(); Student stu=null; try {conn=getConn(); pstat=conn.prepareStatement("select * from student"); rs=pstat.executeQuery(); while(rs.next()){ stu=new

Student(rs.getInt("student_id"),rs.getString("student_name"),rs.getString("student_pass"),rs.getString("student_phone"),rs.getString("student_address"));

}//根据id删除学员信息 try { conn=getConn(); pstat=conn.prepareStatement("delete from student where student_id=?"); pstat.setInt(1, Integer.parseInt(id)); int result=pstat.executeUpdate(); if(result>0){ } // TODO Auto-generated catch block e.printStackTrace(); return true;} // TODO Auto-generated catch block e.printStackTrace(); stuList.add(stu); } catch (SQLException e) { }finally{ } return stuList; closeAll(conn, pstat, rs); public boolean removeStu(String id) { } catch (SQLException e) { }finally{ } return false; closeAll(conn, pstat, rs);

//添加学员信息 public boolean createStu(Student stu) {} //根据id查询学员信息 public Student selectStuById(String id){ Student stu=null; try { conn=getConn(); pstat=conn.prepareStatement("select pstat.setInt(1, Integer.parseInt(id)); rs=pstat.executeQuery(); if(rs.next()){ stu=new * from student where try {conn=getConn(); pstat=conn.prepareStatement("insert into student values(?,?,?,?,?)"); pstat.setInt(1, stu.getStudent_id()); pstat.setString(2, stu.getStudent_name()); pstat.setString(3, stu.getStudent_pass()); pstat.setString(4, stu.getStudent_phone()); pstat.setString(5, stu.getStudent_address()); int result=pstat.executeUpdate(); if(result>0){ } return true; } catch (SQLException e) {// TODO Auto-generated catch block e.printStackTrace(); }finally{ } return false; closeAll(conn, pstat, rs); student_id=?");

Student(rs.getInt("student_id"),rs.getString("student_name"),rs.getString("student_pass"),rs.getString("student_phone"),rs.getString("student_address"));

} } catch (SQLException e) {// TODO Auto-generated catch block e.printStackTrace(); }finally{

篇三:增删改查思路及步骤

1.建数据库 表

主键 自增或者varchar

自增 选择自增

uuid() 36位字符串 例如 :25cd098d-3a53-11e4-ad40-0021cc6fa865

替换 “-” REPLACE(UUID() ,'-','')

2.javaBean

根据数据库表 建立 javaBean

--------------------------------------------------------查询开始-----------------------------------------------------

3.listServlet >> 查询数据>>业务逻辑层 (service , imp) >> 数据持久层(dao,imp)>>传输数据>>跳转

listServlet 继承 httpServlet >> 覆盖service()>>调用service>>dao

protected void service(HttpServletRequest req, HttpServletResponse resp)

注意:web.xml 要配置好

业务逻辑层service.query

数据持久层dao.query

传输数据:req.setAttribute(xxx,xxx);

跳转:req.getRequestDispatcher("地址").forward(req, resp);

4.jsp 查询(list/query/xxx)

表格 显示字段 显示出来

注意: <c:forEach> <c:if> <c:url> <c:choose>

--------------------------------------------------------查询完毕

-----------------------------------------------------

--------------------------------------------------------增加开始-----------------------------------------------------

1.先在查询的jsp里 写一个增加入口(add.jsp)

点击增加>>add.jsp>>填写内容>>提交表单>>进入AddServlet >>数据操作 >>跳转

点击增加:1.js跳转 2.超链接<a href="xxx">;

add.jsp : 写表单 做验证 提交到正确的servlet

AddServlet 1.获取表单提交的数据

2.将数据封装成javaBean对象

3.调用service 并将javaBean传入

4.调用dao并将javaBean传入

5.做数据插入操作

1 ) sql =“insert into tableName (字段1,字段2,字段......) values(值1,值2,值...... )”

2) 获取数据库连接Connection

3) 编译sql 使用: ps=Connection. prepareStatement(sql)

4) 绑定数据???? 执行sql 使用: ps. executeUpdate();

5) 关闭 rs ps conn;返回service>> AddServlet

跳转 同上

--------------------------------------------------------增加完毕-----------------------------------------------------

1.先在查询的jsp里 写一个删除入口

步骤:.进入servlet>>获取id>>数据操作(删除)

.进入servlet

1.String id =req.getParameter("id");

2.service.delete(id);

3.dao.delete(id)

4. 做数据删除操作

1 ) sql =delete from tableName where id ='id' ; sql =delete from tableName where id =? ;

2) 获取数据库连接Connection

3) 编译sql 使用: ps=Connection. prepareStatement(sql)

4) 绑定数据 ps.setString(1,id);

5 执行sql 使用: ps. execute ();

6) 关闭 rs ps conn;返回service>> DeleteServlet

跳转列表 (req.getRequestDispatcher("地址listServlet").forward(req, resp))

--------------------------------------------------------删除完毕-----------------------------------------------------

1.先在查询的jsp里 写一个修改入口

进入回显

一.

进入showServert>>数据查询操作>>跳转至update.jsp

1.String id =req.getParameter("id");

2.service.findOne(id);

3. 对象2= dao. findOne (id)

4. 传递数据 req.setAttriBute("对象",对象2);

跳转至update.jsp

req.getRequestDispatcher("/update.jsp").forward(req, resp);

二.类似与添加 区别(回显数据)

三 执行修改操作

四 跳转 list


增删改查
由:免费论文网互联网用户整理提供,链接地址:
http://m.csmayi.cn/show/171024.html
转载请保留,谢谢!
相关阅读
最近更新
推荐专题