Oracle基本语法之DML(二)
来源:互联网 发布:linux vim 强制保存 编辑:程序博客网 时间:2024/05/16 15:48
增加数据
语法
INSERT INTO table_name(column1,column2,....) VALUES(value1,value2,....)
实例
向用户表中的所有字段都添加值
insert into uinfo (id,name,password,regdate) values(1,’shaoduo’,’123’,sysdate) ;
或者
insert into uinfo values(1,’shaoduo’,’123’,sysdate) ;
SQL> desc uinfo 名称 是否为空? 类型 ----------------------------------------- -------- ---------------------------- ID NUMBER(6) NAME VARCHAR2(20) PASSWORD VARCHAR2(30) REGDATE DATESQL> insert into uinfo (id,name,password,regdate) values(1,'shaoduo','123',sysdate) ;已创建 1 行。SQL>SQL> select * from uinfo ; ID NAME PASSWORD REGDATE---------- -------------------- ------------------------------ -------------- 1 shaoduo 123 02-4月 -17SQL>
其中sysdate 是当前时间,字符串需要用单引号引起。
向用户表中的指定字段添加记录
insert into uinfo (id,name,regdate) values(1,’shaoduo’,sysdate) ;
只添加除密码以外的字段。
SQL> insert into uinfo (id,name,regdate) values(2,'shao',sysdate) ;已创建 1 行。SQL> select * from uinfo ; ID NAME PASSWORD REGDATE---------- -------------------- ------------------------------ -------------- 1 shaoduo 123 02-4月 -17 2 shao 02-4月 -17SQL>
向用户表中的添加默认值
创建一个新表
creae table userinfo1(
id number(5,0) ,
regdate date default sysdate) ;
)
为 regdate 指定默认值 sysdate当前时间,插入时可以不写自动添加默认值。
insert into userinfo1 values(3) ;
SQL> create table userinfo1( id number(6,0), 2 regdate date default sysdate) ;表已创建。SQL>SQL> insert into userinfo1 (id) values(1) ;已创建 1 行。SQL> select * from userinfo1 ; ID REGDATE---------- -------------- 1 02-4月 -17SQL>
修改表的默认值
修改uinfo表中 注册时间 的默认时间是 sysdate当前时间。
alter table uinfo modify regdate default sysdate ;
SQL> alter table uinfo modify regdate default sysdate ;表已更改。SQL> insert into uinfo (id,name,password) values(3,'duo','222') ;已创建 1 行。SQL> select * from uinfo ; ID NAME PASSWORD REGDATE---------- -------------------- ------------------------------ -------------- 1 shaoduo 123 02-4月 -17 2 shao 02-4月 -17 3 duo 222 02-4月 -17SQL>
复制表数据
创建时复制
语法
CREATE TABLE table_new AS SELECT column1,...|*FROM table_old
实例
创建一个 user_new 的表 复制 uinfo表
SQL> create table user_new as select * from uinfo ;表已创建。SQL> select * from user_new ; ID NAME PASSWORD REGDATE---------- -------------------- ------------------------------ -------------- 1 shaoduo 123 02-4月 -17 2 shao 02-4月 -17 3 duo 222 02-4月 -17SQL> desc user_new 名称 是否为空? 类型 ----------------------------------------- -------- ---------------------------- ID NUMBER(6) NAME VARCHAR2(20) PASSWORD VARCHAR2(30) REGDATE DATESQL>
**由此可见 复制完后 ,新建的数据库 与被复制的数据库 表结构和数据都是一样的。
同样也可是选择 其中一些 字段来复制,这样选择的结构和数据与被复制的表是一样的。**
添加数据时复制
语法
INSERT INTO table_new [(column1,...)] SELECT column1,...|*FROM table_old
实例
SQL> insert into user_new select * from uinfo ;已创建3行。SQL> select * from user_new ; ID NAME PASSWORD REGDATE---------- -------------------- ------------------------------ -------------- 1 shaoduo 123 02-4月 -17 2 shao 02-4月 -17 3 duo 222 02-4月 -17 1 shaoduo 123 02-4月 -17 2 shao 02-4月 -17 3 duo 222 02-4月 -17已选择6行。
后边的三行是新复制上去的。
同样 可以自己选择某些字段来复制。select into user_new(id,name) select id,name from uinfo ;
SQL>
SQL> insert into user_new(id,name) select id,name from uinfo ;已创建3行。SQL> select * from user_new; ID NAME PASSWORD REGDATE---------- -------------------- ------------------------------ -------------- 1 shaoduo 123 02-4月 -17 2 shao 02-4月 -17 3 duo 222 02-4月 -17 1 shaoduo 123 02-4月 -17 2 shao 02-4月 -17 3 duo 222 02-4月 -17 1 shaoduo 2 shao 3 duo 已选择9行。
可见id 和name 复制到了表中
SQL>
修改数据
语法:
UPDATE table_name SET column1 =value1,... [where conditions] ;
实例:
- 有条件更新,将 name 是 shao 改 为gongshihang 并且 password 改为 111 。
SQL> UPDATE uinfo set name = 'gongshihang',password= '111' where name =shao' ;已更新 1 行。SQL> select * from uinfo ; ID NAME PASSWORD REGDATE---------- -------------------- ------------------------------ -------------- 1 shaoduo 123 02-4月 -17 2 gongshihang 111 02-4月 -17 3 duo 222 02-4月 -17SQL>
- 无条件更新, 一个字段的所有值都改变
update uinfo set password=’11111’ ;
SQL> update uinfo set password='11111' ;已更新3行。SQL> select * from uinfo ; ID NAME PASSWORD REGDATE---------- -------------------- ------------------------------ -------------- 1 shaoduo 11111 02-4月 -17 2 gongshihang 11111 02-4月 -17 3 duo 11111 02-4月 -17SQL>
可见password 字段被全部修改。
删除数据
语法
DELETE FROM table_name [WHERE conditions]
实例
1.无条件删除
将user_new 表所有的数据无条件全部删除
SQL> delete from user_new ;已删除9行。SQL> select * from user_new ;未选定行SQL> desc user_new ; 名称 是否为空? 类型 ----------------------------------------- -------- ---------------------------- ID NUMBER(6) NAME VARCHAR2(20) PASSWORD VARCHAR2(30) REGDATE DATESQL>
可见无条件删除把表中数据全部删除,但是desc查看表结构时,表结构还在。不删除表结构。
2.有条件删除
删除uinfo表中一个用户名为 ‘duo’ 的记录。
SQL> delete from uinfo where name ='duo' ;已删除 1 行。SQL> select * from uinfo ; ID NAME PASSWORD REGDATE---------- -------------------- ------------------------------ -------------- 1 shaoduo 11111 02-4月 -17 2 gongshihang 11111 02-4月 -17SQL>
可见,记录已经被删除。
版权声明
author :shaoduo
原文来自:http://blog.csdn.net/shaoduo/article/details/68952201
其他出处均为转载,原创作品欢迎读者批评指正
- Oracle基本语法之DML(二)
- oracle备忘录(二)--基础知识基本语法
- MySQL与Oracle 差异比较之二基本语法
- MySQL与Oracle 差异比较之二基本语法
- php学习(二) 之 基本语法
- Oracle基本语法之DDL(一)
- Oracle数据库语法之【DML】常用汇总-【更新】
- Oracle学习之基本语法(二)—操作符&数据类型
- JavaScript之二:基本语法
- Oracle自学之基本语法
- oracle数据库之初步(4)DML
- oracle之DML语句
- Oracle之DML
- oracle之DML
- 随笔二、oracle基本用法与语法
- velocity学习记录之二(velocity基本语法)
- (二)模板引擎之Velocity脚本基本语法全
- Oracle学习之基本语法(一)—内置函数
- 提高篇——冒泡排序(用指针变量作为函数参数,接收从数组传来的数组元素首地址)
- cas加入验证码以及强制密码到期修改流程
- source inisight无法跳转
- BIEE 11g catalog自动复制
- 非SSL协议 CAS服务端部署及客户端配置
- Oracle基本语法之DML(二)
- 散列函数与层级结构数据
- leetcode 494
- 服务端改造(登录页及登录方式的自定义)
- hdu 1003 Max Sum (dp)
- 二进制中1的个数
- 2017年中国国际信息通信展览会
- RecyclerView头布局添加
- 卷积神经网络入门一种全卷积神经网络(LeNet),从左至右依次为卷积→子采样→卷积→子采样→全连接→全连接→高斯连接测试 最后,为了检验 CNN 能否工作,我们准备不同的另一组图片与标记集(不能在训练