加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

mysql之UPDATE,SELECT,INSERT语法

发布时间:2020-12-11 23:58:20 所属栏目:MySql教程 来源:网络整理
导读:h3 class="title" 一 :UPDATE语法 ?是一个修改表中行的DML语句。 table_reference , table_reference2 value: () {expr | DEFAULT } #值可以是表达式或默认值 例如 col1 assignment: col_name = value # col_name 列名 assignment_list: assignment [,as

<h3 class="title">一 :UPDATE语法

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

table_reference , table_reference2
value:  ()
    {expr | DEFAULT} #值可以是表达式或默认值   例如   col1 

assignment:
col_name = value # col_name 列名

assignment_list:
assignment [,assignment] ...

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

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

,... row_count

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

语法解析:

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

  例如: table.列名? (映射)

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

(? t3.`CATEGORY` = 2?? `T`.`ADDRES`? NULL?) 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语法

     VALUE} (value_list) 语法2 () tbl_name ...)] ...
   ...

解析语法:

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

? ? ?例如 :?

classes(id) ? classes c c.id=4; # 插入一条空数据,

1:[ ] : 顾名思义 ignore是忽略的意识,结合官方文档和自己的理解如下

        如果用insert 插入数据,并且用‘ignore’关键字修饰了insert,则当插入数据发生错误时mysql服务器会忽略该错误并转换为warning信息,并继续执行下条插入信息。

  例如 :? 执行插入?? teacher(tid,class_id,NAME) (14,1,'teacher12'),(15,'teacher11');? (teacher表信息 tid 为主键? 且tid=14已经存在,tid=15不存在)

     执行结果:

     分析:当执行插入tid=14时发生了错误,服务器忽略了该错误并转化为警告信息,并继续执行了tid=15的数据

 可利用该特性:,即当该条数据(id)已经存在发出警告,否则就执行插入

2:[??] :当key发生DUPLICATE (重复错误)时执行 update语句 》

  例如: teacher(tid,NAME) (14,'teacher12') class_id=1,NAME='teacher1233333';

    即当tid=14已经存在就执行更新语句,否则就执行insert语句;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读