java学习day7(2)--ssm起步-->转向先学javaweb
spring是全栈,轻量级开源框架。以ioC(反转控制)和AOP(面向切面编程)为内核。
提供springMVC和springJDBC,业务层事务管理等技术。
spring的优势:方便解耦,简化开发。AOP编程支持。声明式事务的支持。方便程序设置。
Spring程序开发步骤:
1.导入Spring开发基本包左边
2.编写对象接口和实现类。
3.配置spring的xml文件,并配置对象进入xml文件
4.使用spring的api获得bena示例。
。
没招,第一步创建spring项目都卡壳了,先学javaweb,再继续ssm。
SQL语法
DDL语法(操作数据库和表的语句)
查询,创建,删除,使用。
操作数据库
show databases; --展示所有数据库
create database 数据库名称; --创建一个新的数据库//不能创建两个名称一样的数据库
create database if not exists 数据库名称;--可以用于判断数据库是否已经存在,若存在则不创建。
drop database 数据库名称; --删除目标数据库.删除也可以使用exists判断存在。
use 数据库名称;--选择目前使用的数据库
select database();--查询目前使用的数据库名称
操作表
show tables; --查询当前选中的数据库中有哪些表
desc func; --查询当前表有哪些字段,以及字段的类型(查询表结构)\
create table 表名(); --创建新表。注意最后一个字段不能要逗号
--创建表--
create table 表名(
字段名 数据类型,
字段名 数据类型,
...
字段名 数据结构
);
sql中的数据类型:数值,日期,字符串.
此表来源为黑马程序员:

drop table 表名; --删除表,也可以用if exists判断是否存在.
alter table 表名 rename to 新的表名; --表名重命名
alter table 表名 add 列名 数据类型; --增加新列
alter table 表名 modify 列名 新的数据类型; --修改列的数据类型
alter table 表名 change 列名 新列名 新的数据类型; --修改列名和数据类型
alter table 表名 drop 列名; --删除列
DML语法(对表中数据增删改操作)
insert into 表名(列名1,列名2,...)valuse(值1,值2,...); --给指定列添加数据
insert into 表名 values(值1,值2,...); -- 给表中所有列添加数据
insert into 表名 valuese(值1,值2,...),(值1,值2,...),(值1,值2,...)...; --批量添加
update 表名 set 列名1=值1,列名2=值2,...[where 条件]; --更新数据。使用方式如下。 注意:如果update语句不写where条件,会将表中所有数据全部修改。非常危险,注意注意。
update stu set sex = '男' where name = 'zhangsan';
delete from 表名 [where 条件]; --删除数据。同样也要注意加where条件,不然会把表中所有数据都删了。
DQL语法(查询操作)
SELECT
字段列表
FROM
表名列表
WHERE
条件列表
GROUP BY
分组列表
HAVING
分组后条件
ORDER BY
排序字段
LIMIT
分页限定
基础查询
select 列名1,列名2,...,列名n from stu; --查询列数据
select * from 表名; ---查询全部,但是*要少用,为了代码规范。
select distinct 列名 from 表名; --查询列中不重复数据。
如下查询方式,可以用as给列名起一个别名,方便阅读。as也可以省略。
select name,math as 数学成绩,english as 英语成绩 from stu;
select name,math 数学成绩,english 英语成绩 from stu;
条件查询
select 字段列表 from 表名 where 条件列表;、
注意:null值的比较不能使用等号(=)进行比较,需要使用is null 或 is not null 进行比较。

模糊查询:%表示任意个字符,_表示单个字符。
select * from stu where name like '张%';--查询名字开头是张的人
select * from stu where name like '_张%';--查询名字中第二个字是张的人
select * from stu where name like '%张%';--查询名字中有张的人
排序查询
select 字段列表 from 表名 order by 排序字段名1[asc/desc],排序字段名2[asc/desc]; --希望查询出的数据是有序的,使用排序查询,第一个条件相等时,启用第二个条件。
selcet * from stu order by name asc;
selcet * from stu order by name asc,score desc;
分组查询
使用分组查询就要知道聚合函数:
使用聚合函数需要注意:
聚合函数使用时都不考虑null数据。
--使用count时最好对主键使用,或者直接使用*--
select count(主键id) from stu;
select count(*) from stu;

select 字段列表 from 表名 [where 分组前条件] group by 分组字段名 [having 分组后条件];
分组之后查询出的字段为分组字段和聚合函数,查询其他字段无意义。
分组前条件用where,分组后条件用having(having可以对聚合函数进行判断,而where不行。这是因为代码的执行顺序,where>聚合函数>having,导致)。
select sex,avg(score) from stu group by sex;
select sex,avg(score),count(&) from stu group by sex;
select sex,avg(score),count(&) from stu where score >= 70 group by sex;
select sex,avg(score),count(&) from stu where score >= 70 group by sex having count(*) > 2;
分页查询
select 字段列表 form 表名 limit 起始索引,查询条目数;
在页面中的查询,就可以用动态的数据进行起始索引的计算,实现分页查询
起始索引 = (当前页码 - 1) * 每页显示的数据条数。
selcet * from stu limit 0 , 3; --查询前三条记录,此处的0是索引。
更多推荐




所有评论(0)