insert 插入数据
2015-12-06 19:57
309 查看
语法格式:
insert into 表名称[(字段名称1,字段名称2……)]values[(值1,值2,……)]
创建备份表myemp
标准语法:对于没有数据的列就不写进字段列表
简略语法:如果插入时没有明确的写出字段,则没有值得字段用null来代替
两种写法比较:
推荐使用标准写法,不推荐使用简略写法。
简略写法再添加表字段的时候容易出问题。
给myemp 表添加字段住址字段 address
此时再执行上面的两条insert 语句
而
没有足够的值
检查下就可以发现,添加表字段后,myemp增加了字段address,而简略写法中,没有预留该字段值,故出错。
所以,推荐标准写法,按照列插入数据。
insert into 表名称[(字段名称1,字段名称2……)]values[(值1,值2,……)]
创建备份表myemp
create table myemp as select * from emp;
标准语法:对于没有数据的列就不写进字段列表
insert into myemp(empno,ename,job,mgr,hiredate,sal,comm,deptno) values(7899,'张三丰','清洁工',7369,to_date('2005-02-20', 'yyyy-mm-dd'),1200,300,40);
select * from myemp;
简略语法:如果插入时没有明确的写出字段,则没有值得字段用null来代替
insert into myemp values(9991, '陈寅恪', '教师', null, to_date('1902-01-03', 'yyyy-mm-dd'), 1200, null, 30);
select * from myemp;
两种写法比较:
推荐使用标准写法,不推荐使用简略写法。
简略写法再添加表字段的时候容易出问题。
给myemp 表添加字段住址字段 address
alter table myemp add address varchar2(100);
此时再执行上面的两条insert 语句
insert into myemp(empno,ename,job,mgr,hiredate,sal,comm,deptno) values(7899,'张三丰','清洁工',7369,to_date('2005-02-20', 'yyyy-mm-dd'),1200,300,40);可以顺利插入表中
而
insert into myemp values(9991, '陈寅恪', '教师', null, to_date('1902-01-03', 'yyyy-mm-dd'), 1200, null, 30);
没有足够的值
检查下就可以发现,添加表字段后,myemp增加了字段address,而简略写法中,没有预留该字段值,故出错。
所以,推荐标准写法,按照列插入数据。
相关文章推荐
- ORACLE SQL-UPDATE、DELETE、INSERT优化和使用技巧分享
- 让你的insert操作速度增加1000倍的方法
- SQL Server中的XML数据进行insert、update、delete
- SQL Server中的XML数据进行insert、update、delete操作实现代码
- 正确使用MySQL INSERT INTO语句
- mysql中insert与select的嵌套使用方法
- Insert Date and Time into Access
- 数据库插入数据之select into from与insert into select区别详解
- MySQL中REPLACE INTO和INSERT INTO的区别分析
- 使用MySQL的LAST_INSERT_ID来确定各分表的唯一ID值
- mysql快速添加百万条记录的语句
- 对有insert触发器表取IDENTITY值时发现的问题
- mysql insert的几点操作(DELAYED,IGNORE,ON DUPLICATE KEY UPDATE )
- oracle+mybatis 使用动态Sql当插入字段不确定的情况下实现批量insert
- C++ primer基础之容器insert
- MySql中使用INSERT INTO语句更新多条数据的例子
- MySQL的Replace into 与Insert into on duplicate key update真正的不同之处
- mysql 操作总结 INSERT和REPLACE
- Lua的table库函数insert、remove、concat、sort详细介绍
- mysql中insert与select的嵌套使用解决组合字段插入问题