SQL是一个结构化查询语言
DDL: 数据定义语言
create alter drop truncate
DML:数据操作语言
insert update delete merge
DQL:数据查询语言
select
TCL:事物控制语言
commit rollback savepoint
DCL:数据控制语言
grant revoke
DDL:
1、创建表结构(通过sql语句创建表结构)
语法
create table 表名称(
字段名 字段类型(长度),
…
字段名 字段类型(长度)
)
–注意:多个字段之间用英文“,”隔开,最后一个字段不需要“,”;
create table t_student(
sid number(3),
sname varchar2(20),
ssex char(1),
sage number(5)
);
--注意:在Oracle中是不区分大小写的,Oracle会将提交的sql语句同一转化为大写字母
Oracle数据库在实际开发中的,程序员所写的SQL语句都是大写的
通过工具创建表结构
插入数据,选中表名,右键编辑数据,添加数据,提交
2.1、对表添加注释
语法
comment on table 表名称 is '注释的内容'
comment on table t_student is '学生表';
2.2、对表中的字段添加注释
语法:
comment on column 表名称.字段名称 is '注释的内容';
--英文状态下的分好表示sql语句结束
comment on column t_student.sid is '学号';
comment on column t_student.sname is '学生姓名';
comment on column t_student.ssex is '性别';
常用的数据类型:
1、数值类型:number 可以不用指定长度,默认长度最长可以保存38位
number(5):保存最大长度为5的整型数据
number(5,2):表示的是数据长度为5位,小数点占2位,整数部分的长度(数据长度-小数部分的长度),
如果超过则添加不了
create table t_student_02(
sid number(5,2),
sname varchar2(20),
ssex char(1),
sage number(5)
)
2、字符类型
varchar2 可以保存最多4000个字节数据
必须要指定长度
指定长度保存数据时,会根据数据的长度来分配内存空间
char 可以保存最多2000个字节的数据
可以不指定长度,然而默认的长度是1
直接分配指定长度用来保存数据
create table t_student_04(
sid number(5,2),
sname varchar2(20),
ssex char(20),
sage number(5)
)
3、日期类型(时间)
date:年月日时分秒
timestamp:时间戳 年月日时分秒毫秒
对表结构的操作
1、向表结构中添加字段
语法
alter table 表名称 add 字段名 类型(长度)
alter table t_student add love varchar2(20);
2、修改表结构中的字段的类型
语法
alter table 表名称 modify 字段名 新类型(长度);
alter table t_student modify ssex varchar2(10);
3、修改表结构中字段的名称
语法
alter table 表名称 rename column 旧名称 to 新名称
alter table t_student rename column love to address;
4、删除表结构中的字段
语法
alter table 表名称 drop column 字段名;
alter table t_student drop column address;
5、删除表
语法
drop table 表名称
drop table t_student;
6、删除表结构
语法:
drop table 表明 cascade constraints;
–cascade constraints:表示级联删除(删除表的同时,会删除与表相关的约束)
约束
1、非空约束/默认约束
not null:表示指定某个字段不能够为空值
default:指定某一个字段,如果这个字段为空,则给这个字段默认值
default默认值在企业版Oracle中支持任意类型。
但是在精简版中Oracle数据库中不支持字符类型
create table t_student(
sid number(5) not null,–设定sid这个字段不能够为空
sname varchar2(20),
ssex char(5) default ‘男’,
sage number(5) default 20
)
2、唯一性约束(unique):设值某一个字段值与其他行的数据不相同
unique:字段的值是唯一的,可以设置多个字段为唯一性约束
可以添加空的值,可以出现多个空值(NULL)
create table t_student_06(
sid number(5) unique,
sname varchar2(20) unique,
ssex char(5),
sage number(5) default 20
)
3、主键约束(primary key):设定某一个字段的值与其他行相比是唯一的,通过该字段可以确定唯一的一条数据
一张表中只有一个主键,
并且不能够为空
创建表的同时设置主键约束
create table t_student_07(
sid number(5) primary key,
sname varchar2(20),
ssex char(5),
sage number(5) default 20
)
创建表之后设置主键约束
语法
alter table 表名
add constraint 约束名称 primary key(字段名称)
create table t_student_08(
sid number(5),
sname varchar2(20),
ssex ch