Oracle学习之DDL,DML(四)

一. DDL

一. 定义

DDL(Data Definition Language,数据定义语言)
用于定义数据的结构,比如 创建、修改或者删除数据库对象。

语句描述
CREATE TABL创建表
ALTER TABLE修改表结构
DROP TABLE删除表
RENAME TO重命名表
TRUNCATE TABLE删除表中数据

以上DDL命令,都不可rollback

二. 表的增删改查

  • 创建表

表名和列名必须以字母开头
只能包含A-Z,a-z,0-9,_,$和#

#方法一:CREATE TABLE
CREATE TABLE emp1(
id number(10),
name varchar2(20),
salary number(10,2),
hire_date date);
#方法二:CREATE TABLE ... AS...
CREATE TABLE emp2
AS 
SELECT  employee_id id, last_name name,hire_date,salary
from employees;

#创建时指定需要的数据
CREATE TABLE emp3
AS 
SELECT  employee_id id, last_name name,hire_date,salary
from employees
where department_id = 80;

#创建空表
CREATE TABLE emp4
AS 
SELECT  employee_id id, last_name name,hire_date,salary
from employees
where 1=2;
  • 删除表
drop table emp5;
  • 清空表
truncate table emp3;
  • 修改表名
rename emp2 to employees2;

三. 列的增删改查

  • 增加列
    ALTER TABLE
ALTER TABLE emp1
ADD (email varchar2(20));
  • 修改列
ALTER TABLE emp1
modify (id number(15));

#设置默认值
ALTER TABLE emp1
modify (salary number(20,2) default 2000);

要想修改列的类型,要修改的列必须为空

  • 删除列
ALTER TABLE emp1
drop column email;
  • 重命名列
ALTER TABLE emp1
rename column salary to sal;

设置列不可用
ALTER TABLE emp1 set unused column sal;
删除不可用的列
ALTER TABLE emp1 drop unused columns;

二. DML

一. 定义

DML(Data Manipulation Language – 数据操纵语言)
用于向表中插入数据,修改现存数据,删除现存数据

二. DML使用

  • INSERT INTO … VALUES()…
    添加数据要按照表得顺序添加
insert into emp1 
values(1001,'AA',to_date('2019-12-16','yyyy-mm-dd'),10000);

#添加空值
insert into emp1 
values(1003,'CC',to_date('2018-12-16','yyyy-mm-dd'),NULL);

#从其他表中拷贝数据
insert into emp1(employee_id,last_name,hire_date,salary)
select * from employees
where department_id = 80;
  • DELETE FROM…
    如果不加过滤条件,则删除全部数据
delete from employees1
where department_id = (
                        select department_id 
                        from departments
                        where department_name like '%Public%'
                       );
  • UPDATE…SET…
    如果没有过滤条件,默认全部数据都更新
update emp1
set salary = 12000
where employee_id = 179;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值