不就个5.1嘛,本来比较平淡的心被周围冲霄得放大了都要。。。
还是计划哈儿该做的东西。。不能心情太奔放了~~~
首先是毕业设计,嗯,必须搞完,3天之内。。或者2天之内,弄完吧,当然不可能只弄这个,java,sql还是要看,写的~~指导老师的意思大概就是再多添点资料吧,也就只能网上找了,最后把格式弄好估计问题就没啥了~希望这次给他看了直接过关吧,我可讨厌上课培训期间请假回学校的。。。
SQL里的日期类型,
date: 'xxxx-xx-xx'
time: 时分秒
datetime:年月日时分秒
timestamp:时间戳,若该列不插入,默认有当前时间属性
索引:一般给表中经常查询的列设定,加快查询速度SELECT,缺陷是update和delete和INSert速度慢
创:CREATE INDEX 索引名 ON 表名 (列名1,列名2...)
删:ALTER TABLE 表名 DROP INDEX 索引名
数据库完整性:
1、实体完整性:多行互相区别,比如主键约束,不null不重唯一主键
CREATE TABLE aa(id int primary key auto_increment,-- 设置主键
name archar(20) unique);-- 设置该列唯一性;
若要重新设用ALTER TABLE 表名 change 列名a 列名a archar(20) unique
2、域完整性(维护列)
非空约束:not null
默认约束:DEFAULT
检查约束:check (mysql不支持) s_age int check (s_age >18)
3、引用完整性:从表外键总分的数据,必须有主表主键内的
外键:只从表某列与主表某列存在的依附关系
外键约束:在外键关联主键上强制加一个约束,若违反,则不允许修改
建立外键,用从表的外键去关联主表的主键列
ALTER TABLE 表a ADD constraint fk.ed外键名 foreign key(某列) references dep(某列)
修改语法:update 某 set 修改操作 where id>2
SELECT 某 from where 各种
各种:a>5 and a<8
a=5 or a=6
a beteew 6 and 8
in (6,8) not in(6,8)
like '%李' like '李_'
is null is not null
升序排序:SELECT * from order by 列名,列名
降序就是列名后加desc
复制:CREATE TABLE 创表名 SELECT*from 表名
复制不了约束,可添where选择复制哪些
DML语句:
INSert into 表名(列1,列2...) alues (某1,某2...)
SELECT修改表名和列名可取别名
去掉重复的 SELECT distinct 列名 from 表名
JDBC:java中对象的数据与磁盘中数据的一种转换,JDBC是java链接数据库的一套API
jdbc是java链接数据库的一套标准,该标准定义了一系列的借口,这些接口由数据厂商各自提供实现类,用户根据接口调用某些实现类,所以,无论链接什么数据库都是一套api,用户就可以屏蔽数据库的差异。
jdbc的操作步骤:
try {
//1、加载驱动
Driver d=new Driver();
//2、建立连接
//localhost连接数据库的ip地址,localhost表示本机
//3306 mysql的端口号
//mydata 需要连接的数据库名
//root mysql的用户名
//lovo mysql的密码
Connection con=DriverManager.getConnection(
"jdbc:mysql://localhost:3306/mydata?characterEncoding=utf-8","root","lovo");
//System.out.println(con);
//3、执行sql语句
PreparedStatement ps = con.prepareStatement(
"insert into t_teacher(teacherName,edu,job)VALUES (?,?,?)");
//?是占位符。设置占位符,从T所指对象中取name属性值
ps.setString(1,t.getName());
ps.setString(2, t.getEdu());
ps.setString(3, t.getJob());
ps.executeUpdate();//将数据写入数据库
//4、关闭数据库
ps.close();
con.close();
} catch (Exception e) {
// TODO Auto-generated catch block
// e.printStackTrace();
System.out.println("连接数据库失败");
}
};
删除语句是:
PreparedStatement ps = con.prepareStatement("delete from t_teacher where id=?");
ps.setInt(1, id);
ps.executeUpdate();
修改的语句是:
PreparedStatement ps = con.prepareStatement("update t_teacher set edu=?,job=? where id=?");
ps.setString(1, edu);
ps.setString(2, job);
ps.setInt(3, id);
ps.executeUpdate();
好了,现在把java和数据库联系起来,可以做些简单的实用界面系统了~
事繁勿慌,事闲勿荒,有言必信,无欲则刚;和若春风,肃若秋霜,取象于钱,外圆内方