mysql+updata_mysql之update语法

一 :UPDATE语法

是一个修改表中行的DML语句。

#单表语法(常用)UPDATE [LOW_PRIORITY] [IGNORE]table_referenceSETassignment_list[WHERE where_condition]

[ORDER BY ...] #例如 ORDER BY id DESC; 若ID不重复且自增,故需要先增加的最大的id后增较小id避免因为重复id保存(不常用)

[LIMIT row_count]#多表语法UPDATE [LOW_PRIORITY] [IGNORE]table_references #若为多表需要‘,’分割 例如table_reference , table_reference2

SETassignment_list[WHERE where_condition]

value: ()

{expr | DEFAULT} #值可以是表达式或默认值 例如 col1 = col1 + 1,(这就是表达式)

assignment:

col_name =value # col_name 列名

assignment_list:

assignment [, assignment]...

二:SELECT语法(常用语法,与官方有点差别,主要是删除了一些可选参数)

SELECT用于检索从一个或多个表中选择的行

SELECTselect_expr[, select_expr ...]

[FROM table_references] #可以是多表

[WHERE where_condition]  #条件表达式

[GROUP BY {col_name | expr | position} #分组

[ASC | DESC], ... [WITH ROLLUP]][HAVING where_condition] #包含

[ORDER BY {col_name | expr | position} #排序

[ASC | DESC], ...][LIMIT {[offset,] row_count |row_count OFFSET offset}] #分页

注意:除select_expr其他都是可选参数

语法解析:

1.select_expr 选择表达式 (多个表达式需要用‘,’分割)

例如: table.列名  (映射)

例如: CONCAT(last_name,', ',first_name) AS full_name  (聚合函数和别名  连接多列的字段),和直接调用其他集合函数

例如:(CASEWHEN t3.`CATEGORY` = 2  THEN `T`.`ADDRES` ELSE NULL END) AS `ADDRES`  (选择表达式,可选着显示内容  例 当''t3.CATEGORY = 2 " 为真时显示THEN后值  为false时显示ELSE的值)

2.where_condition 条件表达式

例如 :id = 2 (当id等于2时为真时显示该数据)

例如 :NOT EXISTS ( select id form classes where id = 5)   (即一个子查询并判断查询的结果是否显示数据) 注意子查询可用父查询的表数据作为条件

3.  GROUP BY 分组 根据列进行分组(列的类型可以是字符串。。。。)

例如 :对单列分组》group by id  (默认是ASC升序,)指定分组方式 group by id ASC

例如: 对多列进行分组    GROUP BY c.id ASC ,t.`tid` DESC;  (并按不同方式)

4.  HAVING 包含

5.ORDER BY  排序可参考group by 都有按不同方式排序

6.LIMIT  分页

三:INSERT语法

语法1 (常用插入方式 )

INSERT [INTO]tbl_name #表明必选[(col_name [, col_name]...)]

{VALUES | VALUE} (value_list) [, (value_list)]... #必选[ON DUPLICATE KEY UPDATE assignment_list] #此次忽略语法2 ()

INSERT [INTO]tbl_name[(col_name [, col_name]...)]SELECT...[ON DUPLICATE KEY UPDATE assignment_list]value:

{expr| DEFAULT}

#解析 expr 可用算数运算符 如 score=score+1

value_list:

value[, value]...

assignment:col_name =value

assignment_list:

assignment[, assignment] ...

解析语法:

语法1    除table(表名)和value(值) 为必选其他都是可选

例如 : INSERT INTO tbl_name () VALUES(); 即插入一条数据(所有值都为默认值)

例如 : INSERT INTO tbl_name (col1,col2) VALUES(15,col1*2); #运用了算数运算符 (注意:col2(第二列)引用的第一列的值 ,因为第一列先插入了值所以第二列可以引用,若反过来VALUES(col2*2,15) 则不合法)

语法2 :可把select 语句查询出来的值 理解为语法1中的value (可用于快熟复制一天记录)

例如 : INSERT INTO classes(id) SELECT NULL  FROM classes c WHERE c.id=4; # 插入一条空数据 ,因为id 不能为空所以需值定该值

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值