MYSQL数据操作(三)

插入记录insert insert-set insert-select
第一种:
insert tb_name [column_name]values(…)[,(…),(….)];–比较常用,可以一次性插入多条记录,并且可以输入表达式甚至是函数,但是无法进行子查询。
第二种:
insert tb_name set column_name={exprdefault};–可以进行子查询,但是只能插入一条记录。
第三种:
insert table_name [(colname…)] select语句…..–这种方法就是把查询到的一个表结果插入到另一个指定数据表中。

单表更新UPDATE
UPDATE [LOW_PRIORITY] [IGNORE] table_reference SET col_name1={exp1DEFAULT}[,col_name2=…][WHERE where_condition];
多表
UPDATE table_references {[INNER | CROSS] JOIN | {LEFT|RIGHT} [OUTER] JOIN} tb2 ON condition链接表
SET col_name1={expr1 DEFAULT} [,col_name2={expr2 DEFAULT}]… 更新数据的内容
[WHERE where_condition]更新数据范围
Eg:update tdb_goods inner join tdb_goods_cates on goods_cate=cate_name set goods_cate=cate_id;//将 tdb_goods 表和 tdb_goods_cates 表通过 goods_cate=cate_name 连接,然后更新 goods_cate=cate_id

单表删除DELETE
DELETE FROM 表名 (WHERE 条件;//删除后,添加记录,自动编号是已有或曾经有过编号的最大加1。

SET NAME GBK; 客户端显示编码
查询表达式解析select
语法:
SELECT select_expr [,select expr2…] 只查找某一个函数或表达式
[
FROM table_references 查询表名
[WHERE where_conditon] 查询条件
[GROUP BY {col_nameposition} [ASCDESC],…] 按某个字段进行分组,相同的只显示第一个
[HAVING conditon] 分组时,给出显示条件(查询字段或者函数结果)
[ORDER BY {col_nameexprposition} [ASCDESC],…] 排序
[LIMIT {[offset,]row_countrow_count OFFSET offset}] 限制返回数量
}
ps:select * from user group by username having age>18 order by id asc limit 3; 限制返回数量的limit一定要放在最后

使用比较运算符的子查询:
(1)SELECT AVG( price ) FROM goods;
(2)SELECT ROUND( AVG(price),2 ); // 它是个聚合函数——AVG求平均值进行四舍五入,保留 2 位小数
(3)SELECT id,name,price FROM goods WHERE price >= (SELECT ROUND(AVG(price),2) FROM goods); // 子查询方式
(4)在子查询时的关键字ANY / SOME / ALL子查询返回多个结果
注意:
1. 子查询只能返回一行记录,不然会报错。
2. 子查询还可以包含子查询。

关键字 ANY   SOME   ALL
>、>= 最小值 最小值 最大值
<、<= 最大值 最大值 最小值
= 任意值 任意值
<>、!= 任意值

[NOT] IN引发的子查询
IN 等价于 =ANY
NOT IN 等价于 !=ALL <>ALL

[NOT] EXISTS 引发的子查询返回true false

链接
{[INNER | CROSS] JOIN | {LEFT|RIGHT} [OUTER] JOIN} tb2 ON condition
内连接-两表交集,符合所有条件的记录
左外连接-左表全部
右外连接-右表全部
自链接 别名.字段名

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值