1、sql语句DML语言(增、删、改、查):
1-1、添加记录到数据库表:
insert [into] tableName(colName1,colName2,...) values(value1,value2...);
value的格式:
如果是数值类型的,直接写;
如果文本类型的,要加单引号;
时间格式:‘2012-01-01’
注意:
1)添加记录时,如果想用某个列的,默认值作为添加数据时,在
tableName(colName1,colName2,...)中的,列名列表中不要书写默认值列的列名,
其对应的values(value1,value2...)集合中,也不要再给默认值列指定值。
2)添加记录时,标识列,列名不需要写出,值也不需要人为给定。
1-2、查询记录:
select <colName1,...(*是指所有的列)> from tableName [where condition];
1)查询出学生表中班级编号这一项信息,不显示重复记录
select distinct colName1... from tableName [where condition];
2)查询时排序
select colName1... from tableName [where condition] order by 列名1 DESC降序
(ASC升序,等同于默认时) [,列名 DESC || ASC];
注意:
关键词:order by 列名,可以和where一起使用,也可以单独使用,但是如果
同时出现,只能where在前,order by在后。
可以按照多个列排序,当前面列值一样时,按照后面的列排序。
3)查询记录(行)个数,用内置函数
count(*) count(列名)返回的是整数,行的个数。
max(列名),求表的记录中列的最大值。
min(列名),求表的记录中列的最小值。
avg(列名),求表的记录中指定列平均值。
sum(列名),求表的记录中指定列和。
4)分组查询:关键词group by
select 列... from tableName [where conditon]
group by 列
[having condition];
注意:
4-1、where、group by、having可以同时出现,但是同时出现时必须按照
where > group by > having,相当于先过滤、再分组,分组后再过滤,
where可以没有。
4-2、出现在select后的列表,要么是出现在group by 之后的列,要么是能够为
分组结果行返回唯一值的表达式。
4-3、按照多列分组时,当分组中提到的列值都一样时,才是一个组。
5)多表连接查询:
5-1、内链接:指不同表,通过相同的列(名字可以不一样,但应该是同一
个意思)的关联查询。
5-1-1:
select colName1,... from tableName1,tableName2
where tableName1.colName=tableName2.colName
and condition;
5-1-2:
select colName1,... from tableName1 inner join tableName2
on(tableName1.colName=tableName2.colName)
and condition;
5-2、外链接:
左外链接:
假如表A示左表,表B是右表。
select colName1,... from leftTableName left join
rightTableName on(条件);
右外链接:
right join
交叉外链接:
cross join
左右各一次
完整外链接:
full cross join
相当于内链接
1-3、通配符:一些表达特定意义的原型符号。
%:若干个字符,可以是0个。
_:一个字符位。
[]:表达一个范围。
[^]:表示不在这个范围。
在构造通配符表达式的时候,一般使用 (not) like '表达式'格式。
可以实现模糊查询。
1-4、修改:
update tableName set colName1=value1,colName2=value2... [where conditon];
注意:
1)一次修改多个列时,用set 列名1=value1,列名2=value2...
2)条件如果不写,意味着表中的每一条记录都满足条件。
1-5、删除:
delete from tableName [where condition];
注意:
1)delete后不能写列的名字
2)条件如果没有写时,意味着表中所有的记录都要删除。
题目:创建一个电子商务数据库,创建一个商品表,购物表,通过sql语句,实现
增删改查的操作。
1-6、JDBC:统一访问数据库的类和接口集合。
通过JDBC访问数据库步骤:
1、装载驱动:
jar包,class文件,如果想访问某种类型的数据库的时候,要用到的类型
2、创建数据库链接对象
Connection con
3、创建操作数据库对象
PreparedStatement pstl
4、对数据进行操作(增删改查)
pstl调用相关的方法
5、关闭数据库链接
pstl.close();
con.close();
1-1、添加记录到数据库表:
insert [into] tableName(colName1,colName2,...) values(value1,value2...);
value的格式:
如果是数值类型的,直接写;
如果文本类型的,要加单引号;
时间格式:‘2012-01-01’
注意:
1)添加记录时,如果想用某个列的,默认值作为添加数据时,在
tableName(colName1,colName2,...)中的,列名列表中不要书写默认值列的列名,
其对应的values(value1,value2...)集合中,也不要再给默认值列指定值。
2)添加记录时,标识列,列名不需要写出,值也不需要人为给定。
1-2、查询记录:
select <colName1,...(*是指所有的列)> from tableName [where condition];
1)查询出学生表中班级编号这一项信息,不显示重复记录
select distinct colName1... from tableName [where condition];
2)查询时排序
select colName1... from tableName [where condition] order by 列名1 DESC降序
(ASC升序,等同于默认时) [,列名 DESC || ASC];
注意:
关键词:order by 列名,可以和where一起使用,也可以单独使用,但是如果
同时出现,只能where在前,order by在后。
可以按照多个列排序,当前面列值一样时,按照后面的列排序。
3)查询记录(行)个数,用内置函数
count(*) count(列名)返回的是整数,行的个数。
max(列名),求表的记录中列的最大值。
min(列名),求表的记录中列的最小值。
avg(列名),求表的记录中指定列平均值。
sum(列名),求表的记录中指定列和。
4)分组查询:关键词group by
select 列... from tableName [where conditon]
group by 列
[having condition];
注意:
4-1、where、group by、having可以同时出现,但是同时出现时必须按照
where > group by > having,相当于先过滤、再分组,分组后再过滤,
where可以没有。
4-2、出现在select后的列表,要么是出现在group by 之后的列,要么是能够为
分组结果行返回唯一值的表达式。
4-3、按照多列分组时,当分组中提到的列值都一样时,才是一个组。
5)多表连接查询:
5-1、内链接:指不同表,通过相同的列(名字可以不一样,但应该是同一
个意思)的关联查询。
5-1-1:
select colName1,... from tableName1,tableName2
where tableName1.colName=tableName2.colName
and condition;
5-1-2:
select colName1,... from tableName1 inner join tableName2
on(tableName1.colName=tableName2.colName)
and condition;
5-2、外链接:
左外链接:
假如表A示左表,表B是右表。
select colName1,... from leftTableName left join
rightTableName on(条件);
右外链接:
right join
交叉外链接:
cross join
左右各一次
完整外链接:
full cross join
相当于内链接
1-3、通配符:一些表达特定意义的原型符号。
%:若干个字符,可以是0个。
_:一个字符位。
[]:表达一个范围。
[^]:表示不在这个范围。
在构造通配符表达式的时候,一般使用 (not) like '表达式'格式。
可以实现模糊查询。
1-4、修改:
update tableName set colName1=value1,colName2=value2... [where conditon];
注意:
1)一次修改多个列时,用set 列名1=value1,列名2=value2...
2)条件如果不写,意味着表中的每一条记录都满足条件。
1-5、删除:
delete from tableName [where condition];
注意:
1)delete后不能写列的名字
2)条件如果没有写时,意味着表中所有的记录都要删除。
题目:创建一个电子商务数据库,创建一个商品表,购物表,通过sql语句,实现
增删改查的操作。
1-6、JDBC:统一访问数据库的类和接口集合。
通过JDBC访问数据库步骤:
1、装载驱动:
jar包,class文件,如果想访问某种类型的数据库的时候,要用到的类型
2、创建数据库链接对象
Connection con
3、创建操作数据库对象
PreparedStatement pstl
4、对数据进行操作(增删改查)
pstl调用相关的方法
5、关闭数据库链接
pstl.close();
con.close();