嵌入式数据库实训八分析.doc
文本预览下载声明
嵌入式数据库
实训八 语言扩展JAVA综合练习
在充分了解foods数据库结构的前提下,编写Java程序实现下列操作。
查询饮料、肉类食品、水果(drink,meat,fruit)这三种类型食品的数量各是多少,要求查询结果的输出格式为:
饮料类食品的数量为:**
肉类食品的数量为:**
水果类食品的数量为:**
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class p1 {
public static void main(String[] args)
{try
{
Class.forName(org.sqlite.JDBC);
Connection conn=DriverManager.getConnection(jdbc:sqlite:foods.db);
System.out.println(数据库连接成功!);
Statement stat=conn.createStatement();
ResultSet rs=stat.executeQuery(select type_id,count(*) from foods where type_id in(select id from food_types where name=Drinksor name=Meat or name=Fruit) group by type_id;);
while(rs.next())
{
System.out.println(rs.getString(type_id)+类食品的数量为+rs.getString(count(*)));
}
rs.close();
conn.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
查询食品数量超过20的食物类型及其数量,要求结果按降序排列,输出格式为:
**类食品的数量为:**
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class p1 {
public static void main(String[] args)
{try
{
Class.forName(org.sqlite.JDBC);
Connection conn=DriverManager.getConnection(jdbc:sqlite:foods.db);
System.out.println(数据库连接成功!);
Statement stat=conn.createStatement();
ResultSet rs=stat.executeQuery(select food_types.name,count(*) from foods,food_types where foods.type_id=food_types.id group by type_id having count(*)=20 order by count(*) desc;);
while(rs.next())
{
System.out.println(rs.getString(food_types.name)+类食品的数量为+rs.getString(count(*)));
}
rs.close();
conn.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
在数据库中创建表foodsbak,在表中存放所有食物名称以字母“B”开头的食物数据。
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class p1 {
public static void main(String[] args)
{try
{
Class.forName(org.sqlite.JDBC);
Connection conn=DriverManager.getConnection(jdbc:sqlite:foods.db);
System.out.prin
显示全部