INSERT - 在表中创建新行
SYNOPSIS
INSERT INTO table [ ( column [, ...] ) ]
{ DEFAULT VALUES | VALUES ( { expression | DEFAULT } [, ...] ) | query }
DESCRIPTION 描述
INSERT 允许我们向表中插入新行。 我们可以一次插入一行或多行作为查询结果。
目标列表中的列/字段可以按任何顺序排列。 在目标列中没有出现的列/字段将插入缺省值, 可能是定义了的缺省值或者 NULL。
如果每行的表达式不是正确的数据类型,系统将试图进行自动的类型转换。
要想向表中插入数据,你必须有 INSERT 权限, 如果你使用了 query 子句插入来自查询里的数据行, 你还需要拥有在查询里使用的表的 SELECT 权限。
PARAMETERS 参数
- table
- 现存表的名称(可以有模式修饰)。
- column
- 表 table 中的字段名。
- DEFAULT VALUES
- 所有字段都会用它们的缺省值填充。
- expression
- 赋予 column 的一个有效表达式或值。
- DEFAULT
- 这个字段将被字段它的填充。
- query
- 一个查询(SELECT 语句),它提供插入的数据行。 请参考 SELECT 语句获取语法描述。
OUTPUTS 输出
成功完成后,一条 INSERT 命令返回一个下面形式的命令标签
INSERT oid count
count 是插入的行数。 如果 count 正好是一,并且目标表有 OID, 那么 oid 是赋予插入行的 OID。 否则 oid 是零。
EXAMPLES 例子
向表 films 里插入一行:
INSERT INTO films VALUES
('UA502', 'Bananas', 105, '1971-07-13', 'Comedy', '82 minutes');
在第二个例子里面省略了字段 len 因此在它里面将只存储缺省的 NULL 值:
INSERT INTO films (code, title, did, date_prod, kind)
VALUES ('T_601', 'Yojimbo', 106, '1961-06-16', 'Drama');
在第三个例子里,我们用 DEFAULT 值作为数据字段,而不是声明一个数值:
INSERT INTO films VALUES
('UA502', 'Bananas', 105, DEFAULT, 'Comedy', '82 minutes');
INSERT INTO films (code, title, did, date_prod, kind)
VALUES ('T_601', 'Yojimbo', 106, DEFAULT, 'Drama');
从表 tmp 中插入几行到表 films 中:
INSERT INTO films SELECT * FROM tmp;
插入数组:
-- 创建一个空的 3x3 游戏板来玩圈-和-叉游戏
-- (所有这些查询创建相同的游戏)
INSERT INTO tictactoe (game, board[1:3][1:3])
VALUES (1,'{{"","",""},{},{"",""}}');
INSERT INTO tictactoe (game, board[3][3])
VALUES (2,'{}');
INSERT INTO tictactoe (game, board)
VALUES (3,'{{,,},{,,},{,,}}');
INSERT - 在表中创建新行的更多相关文章
- InnoDB引擎,从大表中删除多行
官方建议: InnoDB Tables If you are deleting many rows from a large table, you may exceed the lock table ...
- EF Core使用CodeFirst在MySql中创建新数据库以及已有的Mysql数据库如何使用DB First生成域模型
官方教程:https://docs.microsoft.com/en-us/aspnet/core/data/?view=aspnetcore-2.1 使用EF CodeFirst在MySql中创建新 ...
- 排查在 Azure 中创建新 Linux 虚拟机时遇到的 Resource Manager 部署问题
本文内容 常见问题 收集活动日志 问题:自定义映像:预配错误 问题:自定义/库/应用商店映像:分配失败 后续步骤 尝试创建新的 Azure 虚拟机 (VM) 时,遇到的常见错误是预配失败或分配失败. ...
- SQL语句 在一个表中插入新字段
SQL语句 在一个表中插入新字段: alter table 表名 add 字段名 字段类型 例: alter table OpenCourses add Audio varchar(50)alter ...
- SQL中将某个表中的多行数据在一个字段显示
项目需求:将某个表中的多行数据在一个字段显示,如下: 比如表A中有字段 ID,NAME, 表B中有字段ID,PID,DES, 表A,表B中的数据分别如下: ID NAME1 张三2 李四 ID PID ...
- C# 往Datatable中添加新行的步骤
以一个实例说明 //录入年份绑定 public void YearList(FineUIPro.DropDownList ddlYear) { //年份从15年到当前年//起止年份 ; int yea ...
- SqlServer表中添加新字段
表中添加新字段ALTER TABLE 表名 ADD 字段名 VARCHAR(20) NULL 表中添加自增idalter table lianxi add id int primary key IDE ...
- 一定要 先删除 sc表 中的 某元组 行,,, 再删除 course表中的 元组行
一定要 先删除 sc表 中的 某元组 行,,, 再删除 course表中的 元组行 course表 SC表 删除 course表中的 元组行,,出现错误 sc ---->参 ...
- 向SQL Server 现有表中添加新列并添加描述.
注: sql server 2005 及以上支持. 版本估计是不支持(工作环境2005,2008). 工作需要, 需要向SQL Server 现有表中添加新列并添加描述. 从而有个如下存储过程. (先 ...
随机推荐
- redis事务命令
MULTI开启事务,相当于mysql 的START TRANSACTION; EXEC执行事务 ,相当于mysql的commit; DISCARD放弃执行事务,相当于mysql的rollback; W ...
- CocoaPods 安装及使用(亲测有效)
一.What is CocoaPods? CocoaPods is a dependency manager for Swift and Objective-C Cocoa projects. It ...
- VSCode添加 console.log 快捷键
file - preferences - keyboard shortcuts - keybindings.json: 添加: { "key": "ctrl+ ...
- 三十七:数据库之SQLAlchemy外建之多对多关系
准备工作 from sqlalchemy import create_engine, Column, Integer, String, Float, Text, ForeignKeyfrom sqla ...
- global和nonlocal的用法
1 nonlocal声明的变量不是局部变量,也不是全局变量,而是外部嵌套函数内的变量.写在内部嵌套函数里面,它实质上是将该变量定义成了全局变量,它等价于用两个global来定义该变量.只不过用两个gl ...
- 40组合总和II
题目:给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合.candidates 中的每个数字在每个组合中只能使用一 ...
- 想使用 MongoDB ,你应该了解这8个方面!
想使用 MongoDB ,你应该了解这8个方面! 应用性能高低依赖于数据库性能,MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言编写,旨在为 WEB 应用提供可扩展的高性能数据存储解 ...
- MyBatis框架原理4:插件
插件的定义和作用 首先引用MyBatis文档对插件(plugins)的定义: MyBatis 允许你在已映射语句执行过程中的某一点进行拦截调用.默认情况下,MyBatis 允许使用插件来拦截的方法调用 ...
- django.db.migrations.exceptions.BadMigrationError: Migration tests in app bl
这个错误基本上都是 替换文件后才会出现的问题 因为你替换后他的日志文件没有完全替换的话,那么日志对应不到就会出现这样的问题, 一个模糊的处理办法:重新进行数据迁移:首先删除migrations中除去_ ...
- [IJCAI-17 口碑商家客流量预测]
IJCAI-17 口碑商家客流量预测 第 1 赛季截止日期 2017/03/14 赛制介绍 重要时间2月8日 08:00: 评测启动3月7日 10:00: 报 ...