数据库中增加操作insert into的用法和查询select的用法

摘要:
insertinto的用法1.一条insertinto可以插入多条记录2.insertinto能判断主键是否冲突,和做出冲突处理如果主键冲突的话会报错,还能写成如果冲突就更新的形式格式为:insertinto表名(字段列表)values(字段值列表)onduplicatekeyupdate字段=值,字段=值(列表);3.insertinto表名select语句注意,并不是一定要字段数一致,才可以完

insert into的用法

1.一条insert into 可以插入多条记录数据库中增加操作insert into的用法和查询select的用法第1张

数据库中增加操作insert into的用法和查询select的用法第2张

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

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

数据库中增加操作insert into的用法和查询select的用法第3张

3.insert into 表名 select 语句

数据库中增加操作insert into的用法和查询select的用法第4张

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

select的用法

1.基本查询语句的结构

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

2.字段表达式字句

如下:在select 后面可以出现表达式;
数据库中增加操作insert into的用法和查询select的用法第5张

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

数据库中增加操作insert into的用法和查询select的用法第6张

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

数据库中增加操作insert into的用法和查询select的用法第7张

关系运算符:

数据库中增加操作insert into的用法和查询select的用法第8张

也可以是一个列表:

数据库中增加操作insert into的用法和查询select的用法第9张

每个表达式可以有一个别名,在显示字段列表的时候,显示的别名
用的是as关键字 as也是可以省略的 但是不建议省略
数据库中增加操作insert into的用法和查询select的用法第10张

4.from字句

from后面是查询的来源,也就是表名
from后面可以写表的列表用逗号分开;
数据库中增加操作insert into的用法和查询select的用法第11张
因为这个时候没有条件约束约束
所以就形成了一个笛卡尔积:也就是A集合和左右的B级和里面的元素分别对应;
所有的两个集合中所有字段都会显示出来(包括重名的)

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

数据库中增加操作insert into的用法和查询select的用法第12张

dual问题

dual表示的虚表名
例如下面的语法:
数据库中增加操作insert into的用法和查询select的用法第13张

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

where 字句,条件查询字句

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

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

有like就会有not like
数据库中增加操作insert into的用法和查询select的用法第14张

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

数据库中增加操作insert into的用法和查询select的用法第15张

in 在某个集合之内
in(集合列表)
not in 不在某个集合中
not in (集合列表)
数据库中增加操作insert into的用法和查询select的用法第16张
注意between和in 的区别,between 是区间 in 是集合
关于null的判断
无论什么算术运算 只要有null的参与,就肯定是null
数据库中增加操作insert into的用法和查询select的用法第17张

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

数据库中增加操作insert into的用法和查询select的用法第18张

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

数据库中增加操作insert into的用法和查询select的用法第19张

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

数据库中增加操作insert into的用法和查询select的用法第20张

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

免责声明:文章转载自《数据库中增加操作insert into的用法和查询select的用法》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇[python-flask]Flask框架笔记Asp.net中基于Forms验证的角色验证授权下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

SQL查询案例:多行转换为一行(转)

SQL查询案例:多行转换为一行 使用通常的方式测试表与测试数据 CREATE TABLE TestTitle ( name   VARCHAR(10), titleVARCHAR(10) ); INSERT INTO TestTitle VALUES ('张三', '程序员'); INSERT INTO TestTitle VALUES ('张三', '...

数据库(二)

修改表格   如果SQL server 2008中无法修改表结构,提示错误为:不允许保存修改,…… 解决方案:工具→选项→左侧的Designers→表设计器和数据库设计器 去掉“阻止保存要求重新创建表的更改”前面的钩,重新启动系统。 --修改数据库的名字将student的名字修改成xueshengsp_renamedb student,xuesheng 增...

利用MSSQL排序规则,查询区分大小写的数据 枫

1、查询MSSQL所有排序规则: SELECT * FROM fn_helpcollations() 2、排序规则含义说明: BIN 二进制排序CI(CS) 是否区分大小写,CI不区分,CS区分AI(AS) 是否区分重音,AI不区分,AS区分   KI(KS) 是否区分假名类型,KI不区分,KS区分 WI(WS) 是否区分宽度 WI不区分,WS区分  3...

在clickhouse中更新和删除

ck 目前支持了更新和删除,但是与传统sql语法 略有不同,我也记录下来,防止后面忘记。 测试数据 :) select count(*) from system.columns where table='test_update'; ┌─count()─┐ │ 332 │ └─────────┘ :) select count(*) from t...

关于SQL脚本编写建议

最近在做安装包的时候编写sql脚本自动生成库,发现没有在写sql脚本没有一定的规范,写出来的脚本可能会害了同事和自己,所以总结了以下内容,以供参考。1、创建表的脚本范例IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[DIMRoles]') AND xtype = 'U'...

oracle 的用户管理 sqlplus的常用命令

创建用户:create user 用户名 identified by 密码; SQL> create user scw identified by 123; 用户已创建。 SQL> 在oracle中创建用户只能由管理员或者具有管理员的权限的用户创建 修改密码: 1.修改自己的密码: SQL> passw; 更改 SCW 的口令 旧口令...