Oracle入门学习系列笔记(一)之数据定义语言(DDL)
文章目录
说明: 本文档为本人学习Oracle过程中整理的相关笔记,供大家学习时参考,如有不妥之处,请大家指正
介绍
数据定义语言,英文全称为:Data Definition Language,简称为:DDL,主要用于建立,修改和删除数据库对象,本文档中主要介绍的是关于数据表的相关操作,其他数据库对象将在其他文档中做描述
主要包含:
- Create:创建表或者其他对象的结构
- Alter:修改表或者其他对象的结构
- Drop:删除表或者其他对象的结构
- Truncate:删除表数据,保留表结构
创建表
Create 语句
-
Create语法为:
Create TABLE [schema].table_name(
column_name datatype [default expr][…]
);
-
作用:创建表或者其他对象的结构
-
例如如下建表语句:
CREATE TABLE DAVID.STU_INF
(
ID NUMBER(20,0) NOT NULL,
STU_NME VARCHAR2(150),
SEX VARCHAR2(1) DEFAULT 'M',
FEE NUMBER(18,2),
BIR_DATE DATE,
PHONE_NO VARCHAR2(20),
PRIMARY KEY (ID)
);
DESC 语句
-
DESC 语句的语法为
DESC tableName;
-
作用:用于查看表的结构
-
例如如下在sqlplus中的操作,用于查看stu_inf表的表结构
Default 语句
- 作用:创建表时,通过DEFAULT子句给列指定默认值
- 例如:上面创建表中的例子,给性别指定默认值为 ‘M’
SEX VARCHAR2(1) DEFAULT 'M',
NOT NULL 语句
- 作用:非空(Not Null)是一种约束,用于确保字段值不为空
- 例如:上面的例子中,ID 主键的约束就是非空
ID NUMBER(20,0) NOT NULL,
- 关于Not Null的额外几点说明
- 1.默认情况下,任何列都允许有空值
- 2.当某个字段被设置了非空约束条件,这个字段中必须存在有效值
- 3.当执行插入数据的操作时,必须提供这个列的数据
- 4.当执行更新操作时,不能给这个列的值设置为Null
修改表
Alter 语句
-
1.增加列
-
给表增加列可以通过Alter Table的Add字句实现
-
语法为:
Alter Table Table_Name ADD
(
column_name datatype [default expr][…],[]
)
-
例如:
-
ALTER TABLE DAVID.STU_INF ADD
(
E_MAIL VARCHAR(64)
);
-
2.删除列
-
使用ALTER TABLE的DROP子句删除不需要的列
-
语法为:
ALTER TABLE Table_Name DROP (column);
-
例如:
-
ALTER TABLE DAVID.STU_INF DROP
(
E_MAIL
);
-
3.修改列
-
使用ALTER TABLE的MODIFY 子句修改需要调整的列
-
语法为:
ALTER TABLE Table_Name MODIFY
(
column_name datatype [default expr][…],[]
);
-
例如:
-
ALTER TABLE DAVID.STU_INF MODIFY
(
E_MAIL VARCHAR(80)
);
- 关于MODIFY关键字的几点说明:
- 修改仅对以后插入的数据有效
- 如果把长度由大改小,有可能会不成功
- 适用于:建表之后,改变表中列的数据类型、长度和默认值
REAME 语句
-
在建表之后如果需要修改表名,使用RENAME关键字
-
语法为:
RENAME oldTableName TO newTableName
-
例如: 将stu_inf 修改为 stu_info
RENAME stu_inf TO stu_info;
删除表
Drop 语句
-
由于业务升级,摈弃原来的设计,需要删除原来的表,则使用DROP关键字来删除表操作
-
语法为:
DROP TABLE tableName;
-
例如: 将学生信息表删除stu_info
DROP TABLE stu_info;
清空表
Truncate 语句
-
清空表中的数据,保留表结构,则需要使用TRUNCATE关键字来进行操作
-
语法为:
TRUNCATE TABLE tableName;
-
例如: 清空学生信息表中的数据
TRUNCATE TABLE stu_info;
如果你觉得本笔记对你有帮助,请扫码给予支持,金额随意