文章目录
一、数据定义语言:(Data Definition Language,DDL)
是SQL语言几种负责数据结构定义与数据库对象定义的语言,由CREATE、ALTER与DROP三个语法组成
二、数据类型
1. 字符类型:
- char:固定长度字符型数据,长度的大小以字节为单位,默认最小长度为1,最大长度为2000(以固定长度占用内存空间)
- varchar2:可变长度,最小长度为1,最大长度为4000(不占用多余的空间,以实际长度占用内存空间)
- clob:可变长度,最大可存储4G数据
2. 数值类型:(number)
注意:根据参数区分存储怎样的值
-
number:既可以表示整数,也可以表示小数,范围-10的125次方到10的126次方
-
number(n):只能存储整型。例如number(3),-999到999
-
number(p,s):存储小数,p代表总长度,包括小数位数,s代表小数位数。例如number(5,2),-999.99到999.99
(1)p的范围1到38,s的范围-84到127
(2)s>0:只能表示小数,四舍五入到s位,有效位<=p
(3)s<0:只能表示整数,并且精确到小数点左边s位,有效位数<=p+|s|。
例如number(5,-2),1234567->1234600,12345.345->12300
(4)s=0:只能表示整数
(5)p<s:只能表示绝对值小于1,小数点后s-p为必须为0,保留s位小数。例如number(2,3):0.012
3. 日期类型:
- date:精确到年月日时分秒
- timestamp:9i后新制的,精确到毫秒
4. 图片类型:
blob:最大可存储4G二进制的数据,可存储图片、声音、文件
三、维护表
1. 创建表:
create table table1(
id number(4),
name varchar2(8),
birthday date,
weight number(5,2),
country_code char(2) default '01'
);
2. 通过子查询创建表:(可以用来复制表)
create table emp1
as
select id,ename from emp;
create table emp1
as
select * from emp
where 1=0; (条件不成立,只会创建表结构)
create table emp1
as
select * from emp
where 1=1;(条件成立,数据全部复制,默认情况为条件成立)
--含有表达式需要取别名
create table emp1
as
select empno,ename,sal,sal+100 newsalary
from emp;
3. 引用另一个用户中的表(用户名.表名)
select * from scott.empl;
4. 修改表
--1.添加列:
alter table dossier
add(gender varchar2(2) default '男'); --新添加的列在表的最后
--2.修改列:
alter table dossier
modify (gender varchar2(4)); --要比之前的大
--3.删除列
alter table dossier
drop(gender);
5. 删除表
drop table dossier;
6. 查表
select * from dossier;
7. 重命名:重命名表名
rename dossier to dossier1;