一、DML语句(数据操作语句)
1.添加数据到表中
insert into 表名(字段名) values(值)
注:1)使用values关键字只能插入一条数据
2)注意完整性约束
3)插入的值必须与字段的顺序一样
4)可以给表中的所有字段插入值,也可以给表中插入子表中的数据
5)先插入父表的数据再插入子表的数据
6)可以跟子查询,同时插入多条数据
//向s_stu插入一条数据
insert into s_stu
values(1,'tom',null,null,null,null);
insert into s_stu
values(2,'tom',null,null,'f',null);
insert into s_stu
values(3,'lucky',18,'18625034564','m',41);insert into s_stu(id,name,age)
values(4,'jack',18);
insert into s_stu(id,name)
select id,last_name
from s_emp
where id>5;
2.跟新表中的数据 updateupdate 表名set 字段名1=值1,字段名2=值2.........[where 条件]1)不加where会更新学生表中的所有当前字段的信息
更新学生表中的age=20
update s_stu
set age=20;2)加where 更新表中的某些数据更新满足where条件的数据
更新学生表中的id大于20的age为99
update s_stu
set age=99
where id>20;3)注意完整性约束
更新学生表中的id=10的age为50,phone为1111
update s_stu
set age=50,phone='1111'
where id=10;
3.删除数据delete [from] 表名
[where 条件]
1)加where 删除表中的某些数据
删除满足where条件的数据
//删除id=10的学生信息
delete from s_stu
where id=10;
2)不加where,删除表中的所有数据,表结构还在
3)先删除子表的数据,再删除父表的数据
4.事务
在同一个操作单元中的一系列操作,这些操作要么同时成功 要么同时失败并且这些操作是原子单位,是不可再分的
回滚事务:rollback
提交事务:commit
(1)事务什么时候开始:
1)一个事物结束代表另外一个事物开始
2)打开终端,一个新的事务就开始了
(2)事务什么时候结束:
1)正常情况结束
a.执行commit
b.执行rollback
c.执行DDL,DCL命令会自动提交
d.执行DML语句不会自动提交(需要手动提交或回滚)
e:exit 会自动提交
2)非正常结束
a.点击退出按钮
b.系统错误(3)事务四大特性:ACID原子性:事务是一个原子,事务不可再分
一致性:事务操作前和事务操作后的数据要保持一致性
隔离性:一个事务是看不见另外另一个事务的数据
持久性:将事务的数据持久化的报讯保存到磁盘上
insert into.....
savepoint a
update....
savepoint b
insert into....
delete
rollback to a/b
//设置a,b保存点 回滚到想要留下的操作
二、改变表(alter table,rename...)1.添加新的字段
alter table 表名
add (字段名 数据类型 默认值 约束
,字段名。。。。。。。。。)
向s_stu添加comments
alter table s_stu
add comments varchar2(100);
2.删除表中的字段
alter table 表名
drop column 字段名;
删除comments
alter table s_stu
drop column comments;
3.修改表中的字段
alter table 表名
modify(字段名 数据类型 默认值 约束 );
修改s_stu的dept_id约束改为not null
alter table s_stu
modify dept_id number(7) not null;
注意:值要注意一些情况(约束 数据类型 )
修改:数据类型(值都为null),约束(是否符合约束),数据类型的长度(长度是否能放下表中的数 据)
4.增加约束(表级约束,所以不能增加非空约束)
alter table 表名
add 取约束名字 约束类型(字段);
5.删除约束
alter table 表名
drop constraint 约束名字
6.使约束失效 ---->约束还在 只是不起作用
alter table 表名
disable constraint 约束名;
7.使约束生效 ---->判断存在的值是否符合约束
alter table 表名
enable constraint 约束名;8.删除表
drop table 表名;
a.删除表中的数据 以及表结构;
b.是DDL 不能回滚
c.drop可以删除任意对象
delete from 表名;
a.删除表中的数据 不会删除表结构;
b.是DML 可以回滚
c.删除数据效率低
truncate table 表名;
a.删除表中的数据 不会删除表结构;
b.是DDL 不能回滚
c.truncate只能删除表
d.删除效率高9.重命名rename
rename 旧名字 to 新名字 ;10.重命名(字段的名字)
alter table 表名
rename column 旧字段名 to 新字段名
11.给表增加注释
comment on table 表名
is '注释的内容';
comment on table s_stu
is 'This is a Student info';
//查看表的注释
select comments
from all_tab_comments
where table_name='TEST';
//表中的列加注释
comment on column test.id
is '序列号';
//查看列的注释
select comments
from user_col_comments
where table_name='TEST';
用户表:用户通过create table 创建的表
需要用户自己维护 自己增删改操作
数据字典表:数据库创建的表,数据库自己维护,数据库自己增删改操作。
eg:user_constraint
//查询s_stu表的注释
select comment
from all_tab_comments
where table_name='S_STU';//表名大写
内容来源于网络如有侵权请私信删除
文章来源: 博客园
- 还没有人评论,欢迎说说您的想法!