一 :UPDATE语法
UPDATE
是一个修改表中行的DML语句。
#单表语法(常用) UPDATE [LOW_PRIORITY] [IGNORE] table_reference SET assignment_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
SET assignment_list [WHERE where_condition]
value: ()
{expr | DEFAULT} #值可以是表达式或默认值 例如 col1 = col1 + 1,(这就是表达式)
assignment:
col_name = value # col_name 列名
assignment_list:
assignment [, assignment] ...
二:SELECT语法(常用语法,与官方有点差别,主要是删除了一些可选参数)
SELECT
用于检索从一个或多个表中选择的行
SELECT select_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 (聚合函数和别名 连接多列的字段),和直接调用其他集合函数
例如:(CASE WHEN 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 不能为空所以需值定该值
文摘归档
- 2019年02月(1016)
- 2019年01月(1698)
- 2016年10月(1)
- 2016年09月(11)
- 2016年07月(43)
- 2016年06月(37)
- 2016年05月(77)
- 2016年04月(62)
- 2016年03月(32)
- 2016年02月(4)
- 2016年01月(10)
- 2015年12月(3)
- 2015年11月(6)
- 2015年10月(8)
- 2015年09月(14)
- 2015年08月(453)
- 2015年07月(41)
- 2015年06月(36)
- 2015年05月(44)
- 2015年04月(46)
- 2015年03月(51)
- 2015年02月(24)
- 2015年01月(45)
- 2014年12月(34)
- 2014年11月(40)
- 2014年10月(56)
- 2014年09月(52)
- 2014年08月(66)
- 2014年07月(55)
- 2014年06月(83)
- 2014年05月(79)
- 2014年04月(64)
- 2014年03月(48)
- 2014年02月(46)
- 2014年01月(28)
- 2013年12月(63)
- 2013年11月(77)
- 2013年10月(72)
- 2013年09月(62)
- 2013年08月(83)
- 2013年07月(60)
- 2013年06月(21)
阅读排行榜
- Cocos2D-x之开发环境配置 (4689)
- TLS 协议所定义的严重错误代码是 10。Windows SChannel 错误状态是 1203 (3753)
- UART和RS232、RS485的基础知识 (3493)
- 本地文件数据加载到hive (3261)
- WAS8.0与IHS集群安装与配置指导手册 (3021)
- C/C++常见编译链接错误解决方法 (2419)
- 如何重定向Keepalived日志的输出路径 (2278)
- devstack安装报错解决方法:pkg_resources.DistributionNotFound: pip==1.4.1 (1480)
- HAProxy 研究笔记 -- HTTP请求处理-2-解析 (1206)
- iOS项目开发实战——Swift实现多个TableView的侧滑与切换 (1060)