您的位置:首页 > 数据库 > MySQL

MYSQL数据操作(三)

2016-09-20 17:27 274 查看
插入记录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

内连接-两表交集,符合所有条件的记录

左外连接-左表全部

右外连接-右表全部

自链接 别名.字段名
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mysql 增删改查