sql增删改

创建表的语法:
CREATE TABLE 用户名.表名称(
字段名称 字段类型[DEFAULT 默认值] ,
字段名称 字段类型[DEFAULT 默认值] ,…) ;
对于表名称及列名称的定义要求如下:
必须以字母开头;长度为1~30个字符;
表名称由字母(A-Z、a-z)、数字(0-9)、_、$、#组成,而且名称要有意义;
对同一个用户不能使用相同的表名称;
不能是Oracle中的保留字,像CREATE、SELECT等都是作为保留字;
表名列名尽量不要用中文

也可以使用复制创建表语法:
CREATE TABLE 表名称 AS 子查询
如果只想创建表形式,不需要数据,可以在where后面加入恒假条件,如1=2rename 旧表名 to 新表名
create属于ddl语言,执行后事务立即提交,无法回滚及回滚之前的操作。

向表中插入数据:
insert into 表名 values(每个列的数值)
insert into 表名(列名1,列名2,…) values(对应列的数值)
最后需要使用commit提交完成事务或使用rollback指令回滚

更新表中数据
UPDATE 表名称 SET 字段=值 [,字段=值…][WHERE 更新条件(s);
例:UPDATE myemp SET sal=sal*1.2WHERE sal<(SELECT AVG(sal) FROM myemp) ;

删除表中的行:
语法:DELETE FROM 表名称 [WHERE 删除条件];要使用commit提交,不写where表示全部删除
例:DELETE FROM myemp WHERE empno=7566

截断表:
删除表的数据,使用delete from 表名删除后,表中的高水位线没有全部删除。
可以使用截断操作将表的内容删除,此为ddl语言,只能删除表的全部内容。ddl语言执行后所有事务自动提交,无法进行回滚操作。
语法:TRUNCATE TABLE 表名称

删除表:
drop table 表名 [purge]
加入purge参数表示不放入回收站,立即删除。

闪回:
删除后默认回到回收站内,可以通过闪回进行表的恢复。
SELECT object_name,original_name,operation,type,droptime FROM recyclebin ; 查看回收站内的文件
FLASHBACK TABLE 表名 TO BEFORE DROP 恢复回收站的名字
DROP TABLE myemp PURGE ; 直接删除表
PURGE TABLE employee ; 从回收站中删除PURGE recyclebin ; 清空回收站

修改表结构
ALTER TABLE 表名称 ADD (字段名称 字段类型 DEFAULT 默认值,字段名称 字段类型 DEFAULT 默认值…) ;
例:ALTER TABLE member ADD (age NUMBER(3)) ;

如果现在发现表中的某一列设计不合理的时候,也可以对已有的列进行修改,通过如下的语法完成
例:ALTER TABLE 表名称 MODIFIY(字段名称 字段类型 DEFAULT 默认值) ;
修改列名:ALTER TABLE 表名 RENAME COLUMN 列名 TO 新列名

如果现在要想删除表中的一个列,可以通过如下的语法完成。
ALTER TABLE 表名称 DROP COLUMN 列名称 ;
例:ALTER TABLE member DROP COLUMN age ;
将表的某一列设置成无用列(等待以后删除):
ALTER TABLE 表名称 SET UNUSED(列名称) ;
ALTER TABLE member DROP UNUSED COLUMNS ; 删掉表中的无用列
查看表中的列名select column_name from user_tab_columns where table_name=’ 表名’

添加注释
范例:为member表添加注释
COMMENT ON TABLE member IS ‘用于记录参加活动的成员信息’ ;
范例:为member表的mid添加注释信息
COMMENT ON COLUMN member.mid IS ‘参加活动的成员编号’ ;
查看表的注释:
select * from user_tab_comments;
查看每个列的注释:
select * from user_col_comments;

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值