2013年4月30日 21:27:48

本文介绍了SQL中的日期类型、索引及数据库完整性等概念,并详细解析了实体完整性、域完整性与引用完整性的实现方法。此外,还分享了JDBC的基础操作流程,包括连接数据库、执行SQL语句的具体步骤。

不就个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和数据库联系起来,可以做些简单的实用界面系统了~

事繁勿慌,事闲勿荒,有言必信,无欲则刚;和若春风,肃若秋霜,取象于钱,外圆内方

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值