Html:
超文本标记语言。是一种浏览器解读的语言。
<a>百度</a>
<h3>神州十一</h3>
xml:可扩展的标记语言
<persons>
</persons>
Web:
Http:超文本传输协议
200:ok,可以获取服务端的数据了
404:访问的网址不存在。
URL地址:
协议:主机ip:端口/具体路径
http://10.0.166.127:8080/Day21_Server/aa.jpeg
需求:登录:
思路:
step1:创建一个页面:html
form表单:
submit:提交
step2:创建服务端的java程序:Servlet(专门用于做服务端的java程序:提供处理客户端的请求)
所谓的Servlet程序,就是一个java的class。继承HttpServlet。
step3:接收客户端传来的数据:
用户名,密码
step4:查询服务端的数据库:是否有该数据
有:登录成功
没有:登录失败
IO流:将数据写给客户端
跳转:
url-mapping:
键:要访问的数据资源:图片,音频,Servlet。。
值:对应的url地址
服务端:
aa.jpeg:http://10.0.166.127:8080/Day21_Server/chutian.jpeg
LoginSerlvt:http://10.0.166.127:8080/Day21_Derver/bbb
map:
映射:名-值
HttpServletRequest request
客户端发送到服务端的请求对象
本次请求的各种数据信息:
用户名,密码
HttpServletResponse response
服务端给客户端的响应
text/html:minitype:描述数据类型:格式:大类型/小类型
image/jpg
step1:创建Dynamic Web Project工程
step2:在webContent下,创建html页面
form表单:submit--->action:servlet的地址
step3:创建Servlet程序:
重写doGet()/doPost()
A:设置编码:
request.setCharacterEncoding("GBK/UTF-8");
response.setCharacterEncoding();
response.setContentType("text/html;charset=gbk");
B:获取客户端传来的的数据:操作request对象
request.getParamter("参数名");--->String 参数值
C:理应查找数据库:
D:给予客户端响应:操作response对象
从response获取IO流
response.getWriter()--->PrintWriter
数据库:用于数据的持久化。
存储结构化的数据
存储数据的仓库:增加,删除,修改,查找
存储数据以数据表为单位。
猫名,年龄
墨墨,2岁
姓名,专业,学号
张三,化学专业,1001
字符串:Java:String,StringBuffer,StringBuilder
char(20):数据库中的字符串
varchar(20):
整数类型:Java:int,Integer
int
Integer:字段的数值自增:auto_increment
小数类型:Java:float,double
主键:primary key
非空,唯一。
自增:自增1。
sqlite3.exe:工具本身的命令
数据库的sql语句:
SQL(STRUCTURED QUERY LANGUAGE)
数据定义语言(DDL):用于定义数据表的结构。
create语句:创建数据表
alter语句:修改表结构
add:
drop语句:删除数据表
数据操作语言(DML:Data Manipulation Language),用于对数据库进行操作。更改数据的内容
insert语句:增加,插入数据
delete语句:删除
update语句:修改,更新
数据查询语言(DQL:Data Query Language),用于查询数据库,对数据库中的数据没有影响的。
select语句:用于查询数据库
操作步骤:
step1:双击打开sqlite3.exe工具。用于操作my1610.db这个数据库
step2:使用sqlte3.exe的命令
以.开头,回车结束。
SQL语句:以;结束。
A:打开数据库my1610.db
.open my1610.db
.tables:表示显示该数据库中的所有的表名称。
B:创建数据表:使用SQL语句
创建表:
create table 表名(字段名 数据类型,字段名 数据类型);
create table users (id integer primary key autoincrement,username varchar(20),password varchar(30));
插入数据:
insert into 表名(字段名,字段名,字段名。。) values (数值1,数值2,数值3.。。);
insert into users(id,username,password) values(1,'admin','admin123');
insert into users(username,password) values('zhangsan','zhangsan123');
insert into users(username,password) values('lisi','lisi123'),('wangwu','123'),('zhaoliu','1234');
修改数据:
update 表名 set 字段=新值,字段=新值 [where 修改条件];
update users set username='rose',password='rose123'where id = 3;
删除数据:
delete from 表名 [where 删除条件];
delete from users where id = 3;
查询数据:
select 字段名,字段名 from 表名[where 查询条件];
select id,username,password from users;
select * from users;
修改表结构
alter tabke 表名 add 字段 数据类型;
alter table users add note varchar(50);
删除表:
drop table 表名;
DDL:
create
alter
drop
DML:
insert
update
delete
DQL:
select
表名:student
id
name
age
sex
classno
1
leo
21
male
1
2
rose
20
female
1
3
jessica
18
female
2
4
smith
23
male
2
5
tom
22
male
3
6
jack
22
male
3
7
james
24
male
3
8
kate
19
female
2
select 字段 from 表 where ?;
A:数学的关系符号:
>,<,>=,<=,=,!=,<>
B:and:同时满足--->&
or:选择一个条件满足即可--->|
C:in:字段的值in(数值)
D:between 数值 and 数值
E:like,像
模糊查询:
通配符:
_:匹配的一个任意字符。
%:匹配0-多个任意字符。
F:排序:order by 字段 升序(asc,默认)/降序(desc);
位于sql语句的末尾。
1.查询:student表中的name,sex,age。age大于20岁的。
select name,sex,age from student where age > 20;
查询所有的学生信息,要求age 小于22岁。
select * from student where age < 22;
2.查询student表中,年龄大于20岁的男同学。
年龄比20大,性别是男的。同时满足。
select * from student where age > 20 and sex ='male';
查询3班,年龄大于22岁的学生信息。
select * from student where classno = 3 and age > 22;
3.查询student表中,年龄大于20的男同学,或者年龄小于19的女同学。
select * from student where age > 20 and sex = 'male' or age < 19 and sex = 'female';
查询1班的女生,或者是2班的男生的学生信息。
select * from student where classno = 1 and sex ='female' or classno =2 and sex ='male';
4.查询表中,年龄为21,22,23的学生信息。
select * from student where age = 21 or age = 22 or age = 23;
select * from student where age in (21,22,23);
select * from student where age >=21 and age <= 23;
查询1班的,或者是3班的学生信息。
select * from student where classno in (1,3);
5.查询表中,年龄在22到24之间的学生信息。
select * from student where age >= 22 and age <= 24;
select * from student where age between 22 and 24;
查询1班,到2班的学生信息。
select * from student where classno between 1 and 2;
6.查询表中,名字为jack,或者tom的学生信息。
select * from student where name = 'jack' or name ='tom';
select * from student where name like 'jack' or name like'tom';
7.查询表中,name以j开头的学生信息。
通配符:
_:匹配的一个任意字符。
%:匹配0-多个任意字符。
j
ja
jabc
abcj
j_
ja,jb,jc,jj
j%
j,ja,jaa,jaaaaaaaaaaa
select * from student where name like 'j%';
查询name以t开头的学生信息。
8.查询表中,name的第二个字母为o的学生信息。
select * from student where name like '_o%';
9.查询表中,name中有o字母的学生信息。
'%o%';
name中包含字母e的。
10.查询表中,学生的信息,按照age降序排序。
降序:从大到小:desc
升序:从小到大:asc
排序:order by 字段名 desc;默认升序
11.查询所有的女同学的信息,按照年龄降序排序。
select * from student where sex ='female' order by age desc;
12.查询男同学的信息,名字中包含m。按照年龄升序排序。
sqlite> select * from student where sex ='male' and name like '%m%' order by age
asc;
13.查询年龄的最大值,最小值,平均值。
统计函数:
max(字段名):
min();
sum()
avg()
count(*):计数
select max(age),min(age),sum(age),avg(age) from student;
14.查询所有班级的人数。
select count(*) from student;
15.查询班级里男人的人数,女生的人数。
分组:group by 字段名;
按照该字段的取值的种类。
性别:2组
班级号:3组
group by sex;
sex:
male:
female:
classno:
1
2
3
age:
18
19
20
21
22
23
24
select sex, count(*) from student group by sex;
分组之后使用统计函数,结果就是分组后的。数据的条数取决于分组的组数。
16.查询每个班级的人数。并且显示班级号。
sqlite> select classno,count(*) from student group by classno;
17.查询男生的人数,女生的人数,以及男生中的最大年龄,女生中最大年龄。
select sex, count(*),max(age),min(age) from student group by sex;
18.按照班级编号,统计每个班级的人数,并且显示班级人数大于2的班级。
select classno,count(*) from student group by classno having count(*)>2;
分组后再限定条件:having
19.限定查询:limit。,
count()-->总的数据量:118
每页20,共6页。
limit m, n;//跳过m条,查询n条
1页:limit 0,20;
2页:limit 20,20;
3页:limit 40,20;
4页:limit 60,20;
。。。。
总结:
1.Servlet
Html:超文本标记语言。
form表单:
<form action="submit按钮点击后,出发的路径" method="get/post">
<input type="text/passwor/radio/checkbox/file/button/reset/submit/image">
<select>
<option></otption>
</select>
<textarea></textarea>
</form>
按钮:
button,image:点击后无效果。配合js
reset,submit:点击后有事件。
get/post
get:
A:默认的请求方式
B:数据追加在url后边
url?参数名=参数值&参数名=参数值
C:传递的数据量少量。
D:容易乱码
E:数据不安全
post:
A:将要传递数据写给服务端。
B:可以传递大量的数据。
C:数据安全
D:可以传递大量数据。
Servlet:服务端的java程序。(了解原理)
能够处理客户端的请求:继承HttpServlet
doGet(),doPost()
Request:请求对象
Response:响应对象
step1:先设置编码:
request.setCharacterEncoding("");
response.setCharacterEncoding("");
response.setContentType("text/html;charset=..");
step2:接收客户端传递来的数据:
request.getParater("");-->String
step3:查询数据库:
step4:给予响应:response对象
response.getWriter()--->PrintWriter
2.SQLite:重点掌握
SQL:
DDL:数据库定义语言:定义数据表的结构
create
alter
drop
DML:数据库操纵语言:操作数据表中的数据:增删改
insert
delete
update
DQL:数据库查询语言:查询
select
增删改查:CRUD
create, read, update, and delete (CRUD)
建表语句:(重点)
create table 表名 (字段 数据类型 ,字段 数据类型);
主键:修饰一个字段:要求该字段的值不能为空,也不能重复。id
自增:
修改表:(了解)
alter table 表名 add 字段名 数据类型
alter table 表名 rename to 新名;
删除表:重点
drop table 表名;
插入数据:重点
insert into 表名(字段名) values (数值);
删除数据:
delete from 表名 [where 删除条件];
修改数据:
update 表名 set 字段=新值,字段=新值 [where 修改条件];
查询数据:
select 字段名,字段名from 表名 [where 查询条件];
A:关系运算符;>,<,>=,<=,=,!=,<>
B:and or
C:in
D:between and
E:order by 字段 升序(asc)/desc(降序)
F:模糊查询:
like ''
_:匹配任意1个字符
%:匹配任意0到多个字符
G:分组:
group by 字段;
H:统计函数:
max(),min(),sum(),avg(),count()
I:分组后限定条件:having
J:limit
Http协议:
find_elements根据超文本查找 超文本的信息查询
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章