没有合适的资源?快使用搜索试试~ 我知道了~
首页java课堂笔记_自己总结的
java课堂笔记_自己总结的
需积分: 6 118 下载量 45 浏览量
更新于2023-07-25
评论 2
收藏 2.35MB DOC 举报
这里是我06.09到07.02期间,在西安itfuture培训机构学习的完毕时候整理的笔记!<br>主要内容:<br>1:基本sql语句,sqlserver和mysql的操作<br>2:java基础,从最基本的数据类型到数据结构,容器线程。<br>3:jsp实用代码,以及老师写的BaseDAO!反射机制,基本的rmi等<br>4:还有struts实用程序!<br>5:最重要的是我在学习和程序开发中积累的错误经验!<br><br>可能笔记写的很烂,请大家多提意见,多多包涵!<br>希望大家在共享一些经典书籍的时候,也把自己总结的东西和大家分享!<br>4:
资源详情
资源评论
资源推荐
Hjcwww 学习 JAVA 笔记
第一章 SQL Servers 的基本操作
SQL :Structured Query Language,结构化查询语言
SQL Server 操作须知:
1:安装文件不能放在“中文目录下”,也不能把文件安装倒“中文目录”下,否则会出错!
2:如果安装后一开始能用,后来不能用,说明版本的有效期已过,我们把系统时间改变一下就
可以了!
3:数据库如果真的启动不了,就删除(不能通过控制面板直接删除),需要通过启动安装程序
来卸载!
4:Sa:是 sql server 的超级管理员(Super administer)
5:如果连接不上,就需要打补丁,
6:把企业管理器打开,点 Local 属性,->安全性->把身份验证选为 sql server + windows
1.1 基本查询语句
//主键:实现了唯一性约束 //外键:一个表中的字段的值必须对于另一个表主键当中的一个值!
//下划线能“_”能通配一个字符 //百分号“%” 能通配多个字符
//like:起一个模块查询的作用 //in : 表示在一个范围之中;not in:表示不在某个范围中;or:表示
或者
select deptid,deptname from dept where deptid=1
select * from emp where sex='男' and age>20 //字段是 char.time,datetime,date 型的,要加单引号!
select * from emp where address='西安'
select * from emp where phone like '132%'
select * from emp where phone like '%132%'
select * from emp where phone like '132_1%'
select * from emp where phone like '%13%13%'
select * from emp where phone ='135256765875'
select * from emp where age=30 or age=20
select * from emp where age in (30,20,25)
select * from emp where age not in (30,20)
select * from emp where age>=20 and age<=50
select * from emp where age between 20 and 50
1.2 基本的增删改语句
约束:1,表中的主键约束:实现唯一性约束
2,非空约会速 not null:保证自动必须输入值
3,外键约束:实现完整性约束
4,check 约束:
5,upiques 约束:
select * from dept;
/--字段列表--/
insert into dept(deptid,deptname,deptnum,deptdesc) values('33','开发二部','30','软件开发相关!');
insert into dept(deptid,deptname,deptnum) values(4,'销售部',30);
insert into dept values(5,'人事部',20,'人事相关');
insert into dept values(4,'销售部',30);/--错误--/
insert into dept(deptid,deptname,deptnum) values(6,'推广部',30,'产品推广');/--错误--/
1
Hjcwww 学习 JAVA 笔记
insert into dept(deptid,deptname,deptnum,deptdesc) values(7,'应用部',30);/--错误--/
insert into dept(deptid,deptname,deptdesc)values(8,'测试部','测试相关');
//一般主键是不能更行的,因为我们通过它可以访问一个具体的字段!
update dept set deptdesc='销售相关' where deptid='4'
update dept set deptname='咨询部',deptnum=5,deptdesc='咨询相关' where deptid=33
update dept set deptname='咨询部',deptnum=5,deptdesc='咨询相关' where deptid=10
delete from dept where deptid=10
delete from dept where deptnum>50 and deptdesc like '%部%'
1.3 基本的关联查询
select * from emp; //模糊的关联查询
select A.empid,A.empname,A.sex,A.age,A.phone,A.address,B.deptname
from emp A,dept B
where A.deptid=B.deptid and B.deptname='行政管理部' and A.age>25 and A.empname like '%张%';
select * from userinfo;
select A.uid,A.uname,A.passwd,A.email,A.state,B.empname,C.gpname
from userinfo A,emp B,usergroup C
where A.empid=B.empid and A.gpid=C.gpid and A.state=0 and B.sex='男'
select A.uid,A.uname,A.passwd,B.empname,C.deptname,D.gpname //精确关联查询
from userinfo A,emp B,dept C,usergroup D
where A.gpid=D.gpid and B.deptid=C.deptid and A.empid=B.empid
select A.uid, A.uname, A.passwd,B.empname, //另一种关联
C.deptname, D.gpname
from userinfo A inner join emp B on A.empid=B.empid inner join dept C on B.deptid=C.deptid inner
join usergroup D on A.gpid=D.gpid
select A.empid,A.empname,B.deptname from emp A,dept B where A.deptid=B.deptid
select A.empid,A.empname,B.deptname from emp A inner join dept B on A.deptid=B.deptid
//视图:基于物理表,从中选一些需要的数据出来,形成一个新的逻辑表!
create view u3(a,b,c,d,e,f) //建立视图
as //as 的作用是把下面基于 sql 查询的字段,作为视图的字段!
select A.uid,A.uname,A.passwd,B.empname,C.deptname,D.gpname
from userinfo A,emp B,dept C,usergroup D
where A.gpid=D.gpid and B.deptid=C.deptid and A.empid=B.empid
delete from classteacher where classid=1 and tid=1
select B.* from class A,teacher B,classteacher C where A.classid=1 and A.classid=C.classid and
2
Hjcwww 学习 JAVA 笔记
B.tid=C.tid;
select A.* from teacher A,classteacher B where B.classid=1 and A.tid=B.tid;
select A.* from class A,classteacher B where B.tid=2 and A.classid=B.classid
delete from classteacher where tid=1
1.4 基本的函数操作
//一对一可以是一对多的一个特例!
//双主键:两个键的值结合起来才能是唯一的!
//多对多的关系可以通过中间表来建立关联!
◎select 1=1; 聚合函数表示条件永久满足!
部门表到底又多少条记录
select count(*) as a(* 虚拟的列名)from dept
部门编号的最大值
select max deptid from dept;
最小值
select min deptid from dept;
部门人数的平均值
select avg(deptnum) from dept;
部门人数的总和
select sum(deptnum) from dept;
left join:左连接:表示两个表关联,以左表为主;左连接有主次之分,左表里的数据全部显示,右表
里没有相关的数据将部分显示
inner join:内关联,查到相关联的数据
right join:以右边为主来查询…………………………………………….
full join;这两个表里的记录可以不对应,一个可能表 2 中不对应表 1 的任何一个记录!
select * from emp a left join dept b
on a.deptid=b.deptid
/*-查所有的部门,记录不能为最小的,也不能为最大的,--*/
select *from dept wheredeptid ont in (select max(deptiid)fromdept,select min(deptid) from dept);错误
/*-用 not in 里面只能由一个 SELECT 语句正确--*/
select * from dept wheredeptid>(select min(deptid) frondept) and deptid<(select max(deptid) from
dept);
/*--聚合函数 max,min,avg,sum,count--*/
select max(deptid),min(deptid),avg(deptid),sum(deptid),count(deptid) from dept;
3
Hjcwww 学习 JAVA 笔记
select * from dept where deptid!=max(deptid) and deptid!=min(deptid)/***错误的**/
select * from dept where deptid > (select min(deptid) from dept) and deptid<(select max(deptid) from
dept);
select * from dept where deptid not in (select min(deptid) from dept) and deptid not in(select
max(deptid) from dept);
select * from dept where deptid !=(select min(deptid) from dept) and deptid !=(select max(deptid)
from dept);
select deptname,max(deptid) from dept group by deptname
delete from dept where deptid not in(select max(deptid) from dept group by deptname)
select * from dept where deptid=1;
select * from dept where 1<>1; //表示条件永远不成立
1.5 多表的复杂操作
select distinct F.* from yhjs A,jsymcz B,ymcz C,xtymb D,xtmkb E,zxtb F
where A.jsbh=B.jsbh and B.czbh=C.czbh and C.ymbh=D.ymbh and D.mkbh=E.mkbh and
E.zxtbh=F.zxtbh
and A.yhbh=2
**如何想得到用户编号为 1 的用户,所能操作的子系统返回。
select distinct f.* from yhjs a,jsyecz b,ymcz c,xtymb d,xtmkb e,zxtb f
where a.jsbh=b.jsbh and b.czbh=c.czbh and c.ymbh=d.ymbh and d.mkbh=e.mkbh
and e.zxtbh=f.zxtbh and a.yhbh=1
**如何得到用户编号为 1 的用户,能操作的模块,页面,操作
select distinct f.* from yhjs a,jsyecz b,ymcz c,xtymb d,xtmkb e,zxtb f
where a.jsbh=b.jsbh and b.czbh=c.czbh and c.ymbh=d.ymbh and d.mkbh=e.mkbh
and e.zxtbh=f.zxtbh and a.yhbh=1
/*--由用户编号得到该用户能操作的子系统--*/
select distinct F.*
from yhjs A,jsymcz B,ymcz C,xtymb D,xtmkb E,ZXTB F
where A.jsbh=B.jsbh and B.czbh=C.czbh and C.ymbh=D.ymbh and D.mkbh=E.mkbh and
E.zxtbh=F.zxtbh and A.yhbh=1;
/*--由用户编号得到该用户能操作的模块--*/
select distinct E.*
from yhjs A,jsymcz B,ymcz C,xtymb D,xtmkb E
where A.jsbh=B.jsbh and B.czbh=C.czbh and C.ymbh=D.ymbh and D.mkbh=E.mkbh and A.yhbh=1;
/*--由用户编号得到该用户能操作的页面--*/外键的连接查询
select distinct D.*
from yhjs A,jsymcz B,ymcz C,xtymb D
where A.jsbh=B.jsbh and B.czbh=C.czbh and C.ymbh=D.ymbh and A.yhbh=1;
4
Hjcwww 学习 JAVA 笔记
/*--由用户编号得到该用户能操作的页面操作(权限)--*/
select distinct C.*
from yhjs A,jsymcz B,ymcz C
where A.jsbh=B.jsbh and B.czbh=C.czbh and A.yhbh=1;
1.6 内关联
inner join 内连接,把两个表连接起来,等同于 from ymcz a,czby b
left join 左关联
right join 右关联
full join 满关联
select * from Dept A left join Emp B on A.deptid=B.deptid;
select * from Dept A inner join Emp B on A.deptid=B.deptid;
select * from Dept A right join Emp B on A.deptid=B.deptid; //right join 和 left join 可以互为调用
select * from Emp B left join Dept A on A.deptid=B.deptid;
select * from Dept A full join Emp B on A.deptid=B.deptid;
1.7 表之间的复制数据
/*--把 dept 的数据导入 dept2 中--*/
select * into dept2 from dept;
select * into deptnew from dept where 1<>1
**正常的查询结果,默认按正序排列!
/*---按倒序排列--*/
select * from emp order by empname desc
select * from emp order by age asc,phone desc
1.8 使用 SQL 语句建立表
create table dept(
deptid int identity(1,1), //让主键自动增加!
deptname varchar(20) not null,
deptnum int default 1,
deptdesc varchar(50),
constraint dept_PK primary key(deptid));
create table emp(
empid int,
empname varchar(50) not null, //不许为空约束
sex char(2) default '男',
age int check(age>=0 and age<200), //值不能小于 0 大于 200
phone varchar(20) unique,
address varchar(50) not null,
deptid int,
5
剩余63页未读,继续阅读
lars
- 粉丝: 11
- 资源: 53
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0