insert into的用法

1.一条insert into 可以插入多条记录

2.insert into 能判断主键是否冲突,和做出冲突处理

如果主键冲突的话会报错,
还能写成如果冲突就更新的形式
格式为  : insert into 表名 (字段列表) values (字段值列表) on duplicate key update 字段=值,字段=值(列表);

3.insert into 表名 select 语句

注意,并不是一定要字段数一致,才可以完成操作,只要是字段数量与字段类型一致,就可以完成插入!

select的用法

1.基本查询语句的结构

select [字段表达式列表] [from子句] [where 子句] [group by子句] [having 子句] [order by子句] [limit 子句]

2.字段表达式字句

如下:在select 后面可以出现表达式;

如果为字段名那么字段名是一个变量的概念能参与运算;

因此可以利用多种运算符来形成sql中的表达式;

关系运算符:

也可以是一个列表:

每个表达式可以有一个别名,在显示字段列表的时候,显示的别名 
用的是 as关键字 as也是可以省略的 但是不建议省略

4.from字句

from后面是查询的来源,也就是表名
from后面可以写表的列表用逗号分开;

因为这个时候没有条件约束约束
所以就形成了一个笛卡尔积:也就是A集合和左右的B级和里面的元素分别对应;
所有的两个集合中所有字段都会显示出来(包括重名的)

可以为访问的表名起别名,select后面可以【表名.字段名】的格式来选出不同表中的值例如:

dual问题

 
dual表示的虚表名
例如下面的语法:

规定小这个语法就是为了使语法更加规范;

where 字句,条件查询字句

where 条件表达式
当忽略where,什么都不写的时候表示永远为真;
where 找到每条记录并依次执行条件表达式,按照根据条件结果返回数据;

形成条件表达式基本要素:
数据 (变量) 运算符 ,函数调用;
典型的运算符:
关系运算符: < >  <=  >=   =  !=
like模糊查询 like 模式匹配符‘
可以使用% 和_作为通配符

有like就会有not like

between a  and b  在某某区间上  【闭区间】

in 在某个集合之内
in(集合列表)
not in 不在某个集合中
not in (集合列表)

注意 between 和 in   的区别,between 是区间 in 是集合
 
关于null的判断
无论什么算术运算 只要有null的参与,就肯定是null

做位运算的时候 null和非空相与为1  其余都为null

应该是使用is null 或者 is not null 来判断

函数isnull()和not isnull() 也是可以判断的;;

---恢复内容结束---

数据库中增加操作insert into的用法和查询select的用法的更多相关文章

  1. 在数据库中添加数据以后,使用Mybatis进行查询结果为空

    在数据库中添加数据以后,使用Mybatis进行查询结果为空,这是因为数据库中添加数据忘记commit的缘故.

  2. PHP json的插入和解析在数据库中的操作

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. PHP中往数据库中存储json数据在项目开发中也经常遇到,下面我就 ...

  3. mysql数据库中插入数据INSERT INTO SET的优势

    往mysql数据库中插入数据.以前常用 INSERT INTO 表名 (列名1,列名2…) VALUES(列值1,列值2); 如果在PHP程序中,就会写成如下示例(往商品库里增加商品) $sql = ...

  4. 浏览器中上传Excel文件,服务器获取Excel字段。写入的数据库中。操作Excel的方式jxl和poi。

    从Excel中获取字段,官方给我们提供了方法,地址https://poi.apache.org/components/spreadsheet/quick-guide.html#CellContents ...

  5. mysql数据库中常用操作汇总

    一.查询数据库的基本信息: 1.    /* 查询数据库 ‘boss’ 所有表及注释 */SELECT TABLE_NAME,TABLE_COMMENT FROM information_schema ...

  6. android源码中,在系统多媒体数据库中增加一个字段

    由于项目需求,在系统多媒体管理数据库里的存储图像文件的表中需要新增加一个字段,源码在:项目\packages\providers\MediaProvider\MediaProvider.java下,在 ...

  7. delphi数据库进行增加操作时,怎么判断插入的这个值是否已经存在?

    //增 procedure TForm1.btnAddClick(Sender: TObject); begin ADOQuery1.Close; ADOQuery1.SQL.Clear; ADOQu ...

  8. 数据库中查出来的时间多8小时&查询数据正常展示少8小时

    将serverTimezone的配置改为Asia/Shanghaiurl: jdbc:mysql://127.0.0.1:3306/bfc?useUnicode=true&characterE ...

  9. 【mybatis】service层中一个方法中使用mybatis进行数据库的 多个修改操作,可能是update也可能是delete操作,但是sql语句命名执行并且在控制台打印出来了,但是数据库中未更新到数据【事务的问题】

    问题描述: service层中一个方法中使用mybatis进行数据库的 多个修改操作,可能是update也可能是delete操作,但是sql语句命名执行并且在控制台打印出来了,但是数据库中未更新到数据 ...

随机推荐

  1. 为什么给GIT库打TAG不成功

    首先,右击文件夹,选择“TortoiseGit”,再选择“Create Tag...".   然后在Tag一栏中输入Tag名.   接下来点”OK“确定设置项.   最后PUSH到服务器上, ...

  2. linux系统下php通过php_oci8扩展连接oracle数据库 Nginx

    相关版本信息: PHP Version 5.6.30 nginx version: nginx/1.10.3 Linux version 2.6.32-358.el6.x86_64 (mockbuil ...

  3. memcpy、memmove、memset、memchr、memcmp、strstr详解

    第一部分 综述 memcpy.memmove.memset.memchr.memcmp都是C语言中的库函数,在头文件string.h中.memcpy和memmove的作用是拷贝一定长度的内存的内容,m ...

  4. OpenShift-EFK日志管理

    1.准备工作 思路: 在OpenShift容器平台上以daemonset方式部署Fluentd收集各节点中的日志.更改其配置让日志输出到外部Elasticsearch中,最终通过Kibana展示. 资 ...

  5. [Usaco2009 Feb]Revamping Trails 道路升级 BZOJ1579

    分析: 比较裸的分层图最短路,我的实现方式是,每次求出1所有节点的最短路,之后用每一个节点更新与其相连的节点(取较小值),之后做K次,就求出了分层图的最短路了. 附上代码: #include < ...

  6. 感言&2

    我写下这些,不是为了向谁诉说我的苦难,我家庭的苦难,而只是想说,朋友,当你们能够坐在星巴克里点杯咖啡打开Macbook刷知乎,思考“人为什么努力”这样的问题时有无数个像我一样出身的孩子在拼命,不因为什 ...

  7. 【WPF】如何使用wpf实现屏幕最前端的绘图?

    原文:[WPF]如何使用wpf实现屏幕最前端的绘图? 引言 在知乎上面看到如何使用wpf实现屏幕最前端的绘图? 这么一个问题,觉得全屏弹幕很有趣,所以把它实现了. 实现 界面设置很简单,Window界 ...

  8. WPF编程,获取句柄将外部程序嵌入到WPF界面。

    原文:WPF编程,获取句柄将外部程序嵌入到WPF界面. 版权声明:我不生产代码,我只是代码的搬运工. https://blog.csdn.net/qq_43307934/article/details ...

  9. MySql+Socket 完成数据库的增查Demo

    需求: 利用MySql数据库结合前端技术完成用户的注册(要求不使用Web服务技术),所以 Demo采用Socket技术实现Web通信. 第一部分:数据库创建 数据库采用mysql 5.7.18, 数据 ...

  10. Eclispe与JDK

    一.Eclispe 1.1 Eclispe发布版本 下面是目前已知的版本代号 (Release)[2015年2月] Eclipse 3.1 版本代号 IO [木卫1,伊奥] Eclipse 3.2 版 ...