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() 也是可以判断的;;
---恢复内容结束---