JavaWeb28天之MySQL

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

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值