一. 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;