Mysql(一)

  1. 插入语法

Insert into 表名(列名1,列名2,...)values('值1',‘值2’,...)

  1. 删除语法

delete from 表名 where 条件

  1. 修改语法

update 表名 set 列名=更新值 where 条件

  1. 查询语法

select 列名 from 表名 where 条件 order by asc/desc

  1. 模糊查询

  1. select * from a where name like '赵%'

  1. select * from a where age between 18 and 20

  1. select name from a where address in ('北京','上海','唐山')

  1. SELECT name,SUM(OrderPrice) FROM Orders GROUP BY name (将Orders表中name相同的人订单价格合并,查询name和总价)

  1. SELECT name,SUM(OrderPrice) FROM Orders GROUP BY name having SUM(OrderPrice) >10000(将Orders表中name相同的人订单价格合并,查询总价大于1w的name和总价)

  1. 聚集函数一般与ORDER BY一起使用

  1. 内连接

  1. SELECT * FROM users AS u INNER JOIN consume AS c ON u.id=c.user_id

INNER和AS可以省略

  1. SELECT * FROM users u JION consume c ON u.id=t.user_id

  1. 等价于 SELECT * FROM users,comsume WHERE users.id=topics.user_id

  1. 外连接

  1. 左连接:SELECT * FROM users AS u LEFT JOIN consume AS c ON u.id=c.user_id

  1. 右连接:SELECT * FROM consumer AS c RIGHT JOIN users AS u ON u.id=c.user_id

  1. 什么是sql注入

SQL注入就是通过在服务段修改where条件,来非法操作的攻击手法。

比如:SELECT * FROM user WHERE username = 'ls' AND password = '123456'改为

select * from user where username='' or 1=1 #' and password='123456' #是注释的意思

避免:

1、严格的参数校验

2、使用预编译 ,将参数使用占位符先编译,然后注入的参数系统会认为它是一个参数而不是sql语句(mybatis的preparedStatement)

  1. 将一张表的部分数据更新到另一张表,该如何操作呢?

可以采用关联更新的方式,将一张表的部分数据,更新到另一张表内。参考下面三种方式:

  1. update b set b.col=a.col from a,b where a.id=b.id;

  1. update b set col=a.col from b inner join a on a.id=b.id;

  1. update b set b.col=a.col from b left Join a on b.id = a.id;

  1. 什么是第一范式、第二范式和第三范式。

  1. 第一范式:数据表的列不可再分

  1. 第二范式:在第一范式的基础上,非主键列不存在对主键的部分依赖(可以是完全依赖,所有非主键列依赖于主键)

  1. 第三范式:在第二范式的基础上,表中的列不存在对非主键列的传递依赖

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值