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]...)][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 (可⽤于快熟复制⼀天记录)update语法大全
例如 : INSERT INTO classes(id) SELECT NULL  FROM classes c WHERE c.id=4; # 插⼊⼀条空数据 ,因为id 不能为空所以需值定该值

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。