1,在数据库中建立一个表,表名为学生,其结构为:学号、姓名、性别、年龄、成绩。
create table student
(
num char(4),
name char(10),
sex char(6),
age int,
score float
)
2,在学生表中输入4条记录
insert into student values ('0001','Susan','Female',19,89)
insert into student values ('0002','Merry','Female',20,87)
insert into student values ('0003','Tom','Male',18,44)
insert into student values ('0004','Jack','Male',20,90)
3,将每人的成绩增加10%
update student set score = score + score*0.1
4,将每条记录按照成绩由大到小的顺序显示到屏幕上
select * from student order by score desc
5,删除成绩不及格的学生记录
delete from student where score <60
import java.sql.*import java.awt.*
import javax.swing.*
import javax.swing.table.*
//import java.awt.event.*
public class DisplayDemo extends JFrame
//implements ActionListener
{
// private String dbURL="jdbc:microsoft:sqlserver://202.115.26.181:1433"// 数据库标识名
private String user="devon"// 数据库用户
private String password="book" // 数据库用户密码
private JTable table
private JButton ok,canel
public DisplayDemo(){
super("显示数据库查询结果")//调用父类构造函数
String[] columnNames={"用户名","年龄","性别","Email"}//列名
Object[][] rowData=new Object[5][4]//表格数据
ok=new JButton("确定")
canel=new JButton("取消")
// ok.addActionListener(this)
// canel.addActionListener(this)
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver")
Connection con=DriverManager.getConnection("jdbc:odbc:example","sa","")
// Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver") //加载驱动器
// Connection con=DriverManager.getConnection(dbURL,user,password)//获取连接
String sqlStr="select * from users"//查询语句
PreparedStatement ps=con.prepareStatement(sqlStr)//获取PreparedStatement对象
ResultSet rs=ps.executeQuery()//执行查询
String name,sex,email//查询结果
int age
int count=0
while (rs.next()){ //遍历查询结果
rowData[count][0]=rs.getString("name")//初始化数组内容
rowData[count][1]=Integer.toString(rs.getInt("age"))
rowData[count][2]=rs.getString("sex")
rowData[count][3]=rs.getString("email")
count++
}
con.close() //关闭连接
}
catch(Exception ex){
ex.printStackTrace() //输出出错信息
}
Container container=getContentPane() //获取窗口容器
//container.setLayout(null)
container.add(ok)container.add(canel)ok.setBounds(10,120,70,20)
canel.setBounds(100,120,70,20)
table=new JTable(rowData,columnNames)//实例化表格
table.getColumn("年龄").setMaxWidth(25) //设置行宽
container.add(new JScrollPane(table),BorderLayout.CENTER)//增加组件
setSize(300,200) //设置窗口尺寸
setVisible(true) //设置窗口可视
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)//关闭窗口时退出程序
}
public static void main(String[] args){
new DisplayDemo()
}
}
-----------------
这是其中一个例子 你照着上面做就可以了
数据库的开发对于后台编程程序员来说是必备能力之一了,而今天我们就一起来了解一下,关于数据库开发的设计规范都有哪些类型,山西北大青鸟http://www.kmbdqn.cn/希望通过对本文的阅读,大家对于数据库开发有更多的了解。
一、数据库命令规范所有数据库对象名称必须使用小写字母并用下划线分割所有数据库对象名称禁止使用mysql保留关键字(如果表名中包含关键字查询时,需要将其用单引号括起来)数据库对象的命名要能做到见名识意,并且后不要超过32个字符临时库表必须以tmp_为前缀并以日期为后缀,备份表必须以bak_为前缀并以日期(时间戳)为后缀所有存储相同数据的列名和列类型必须一致(一般作为关联列,如果查询时关联列类型不一致会自动进行数据类型隐式转换,会造成列上的索引失效,导致查询效率降低)二、数据库基本设计规范1、所有表必须使用Innodb存储引擎没有特殊要求(即Innodb无法满足的功能如:列存储,存储空间数据等)的情况下,所有表必须使用Innodb存储引擎(mysql5.5之前默认使用Myisam,5.6以后默认的为Innodb)Innodb支持事务,支持行级锁,更好的恢复性,高并发下性能更好2、数据库和表的字符集统一使用UTF8兼容性更好,统一字符集可以避免由于字符集转换产生的乱码,不同的字符集进行比较前需要进行转换会造成索引失效3、所有表和字段都需要添加注释使用comment从句添加表和列的备注从一开始就进行数据字典的维护4、尽量控制单表数据量的大小,建议控制在500万以内500万并不是MySQL数据库的限制,过大会造成修改表结构,备份,恢复都会有很大的问题可以用历史数据归档(应用于日志数据),分库分表(应用于业务数据)等手段来控制数据量大小5、谨慎使用MySQL分区表分区表在物理上表现为多个文件,在逻辑上表现为一个表谨慎选择分区键,跨分区查询效率可能更低建议采用物理分表的方式管理大数据6、尽量做到冷热数据分离,减小表的宽度MySQL限制每个表多存储4096列,并且每一行数据的大小不能超过65535字节减少磁盘IO,保证热数据的内存缓存命中率(表越宽,把表装载进内存缓冲池时所占用的内存也就越大,也会消耗更多的IO)更有效的利用缓存,避免读入无用的冷数据经常一起使用的列放到一个表中(避免更多的关联 *** 作)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)