1、建立数据库
1)推荐使用第三方可视化软件Navicat
网盘资源: https://pan.baidu.com/s/1ZLae5dwkNj107Kv3KthvIw 提取码:31mb
2)创建表 并且添加属性值
2、对数据库的操作
1)对数据库的增删改查
#查询
SELECT * FROM info
SELECT id,name FROM info
#新增
INSERT into info VALUES (7,'周一',20,4000)
INSERT into info (id, name) VALUES (07,'周二')
INSERT into info (id,name) VALUES (08,'周三'),(09,'周四'),(10,'周五')
#修改
UPDATE Database set age=23 WHERE name='周一'
UPDATE Database set age=13,salary=2324 WHERE name='周一'
#删除
DELETE FROM info where id=2
#删除整个表
DELETE * FROM info
DELETE FROM info WHERE TRUE
DELETE FROM info WHERE 1=1
DELETE FROM info WHERE 'a'='a'
2)组合查询
#条件查询
SELECT * FROM info WHERE age>=10 and id<=4
SELECT * FROM info WHERE age between 20 and 30
SELECT * from info WHERE id in (1,8)
#聚合函数:最大值,最小值,总和,总数,平均值
SELECT min(age) from info
SELECT * from info WHERE age=(SELECT max(age)FROM info)
SELECT sum(age) FROM info --工资总和
SELECT count(*) FROM info --总人数
SELECT AVG(age) FROM info --平均年龄
#排序查询 ORDER BY asc升序 desc降序
SELECT * FROM info ORDER BY id desc
#模糊查询 like_匹配一个字符 %匹配任意字符
SELECT * FROM info WHERE name LIKE '周%'
SELECT * FROM info WHERE name like '_周%'
#分页查询 startRow起始行数 从0开始计数 size:每页查询的记录数
SELECT * from info limit 0,5
SELECT * from info limit 5,5
SELECT * from info limit 10,5
3)两个表的内连接和外连接
为了连接起来有意义 info表添加一个属性 并创建一个dept表并添加属性值
info表
dept表
如下操作对两个表进行连接操作
#内连接(仅使用于mysql)
#只会查出两个表相互匹配的数据
select *from info y ,dept d where y.dept_id=d.did
select * from info y inner join dept d on y.dept_id=d.did
#外连接(左外和右外)
#左外 关键字left左边的表为主表 主表的数据会全部展示
#右边的表为从表 从表的数据只有在匹配上才会展示
select * from dept d left join info y on d.did=y.dept_id
#右外 关键字right右边的表为主表 主表的数据会全部展示
#左边的表为从表 从表的数据只有在匹配上才会展示
select * from dept d right join info y on d.did=y.dept_id
#全外 maysql不支持全外 可以模拟
select * from dept d full join info y on d.did=y.dept_id
#union all或union 纵向合并结果集 只需要两个结果集的列数和列类型相同即可 无需名称相同
select id,name from info
union
select did,dname from dept
#模拟全外连接--左外和右外使用union纵向合并结果集
select * from dept d left join info y on d.did=y.dept_id
union
select * from dept d right join info y on d.did=y.dept_id
下一篇JavaWeb28天之JDBC