一、表:
表是DB用来存储数据的结构模型,
表是一个二维结构。
有行:也叫记录(record)
有列:也叫字段(Field)
二、SQL:结构化查询语言,用途就是通过DBMS来操作DB的。
里面含有
(1)DDL语言:数据定义语言
create:用来创建表等。
alter: 用来修改表结构的。
drop: 用来删除表结构的
truncate:用来清空表数据,保留表结构,(数据不能还原)
DDL语言,每一个sql中前两个都是关键字
(2)DML语言:用来操纵数据,也就是增,删,改操作。
insert:用来向表中增加记录的。
delete:用来删除表中记录的。
update:用来修改表中记录的。
(3)DQL: 用来查询数据。
select * from tname
(4)TCL:事务控制语言。
在使用DML语言时,都会触发一个事务。
commit:提交数据。
rollback:回滚数据
savepoint:保存点。
(5)DCL:数据控制语言
grant:授权
revoke:撤销权限
create user:创建用户
三、oracle数据中常用的数据类型
(1)number(p[,s]):表示数字类型。
p:表示数字的有效长度
s:表示小数点后的位数。
整数位最大位数:p-s
reg:
number(5,2):最大值999.99
number(2):最大值为99。
(2)char表示定长字符串类型
不规定默认为1个字节。
规定:char(n)
最大字节数:2000个
定长:在存储时,不满规定个数时,也会占用内存
规定的字节数。
reg:char(10),当存了'a'时,也占用内存10个字节。
(3)varchar2表示可变字符串类型
写法:varchar2(n):
可变:会按照实际存储的字节数占用内存。不可以超出规定长度。
最大字节数:4000个
(4)long类型:
最多存2G的字节数。
(5)clob类型
最多存4g的字节数。
(6)date类型:日期类型
默认格式:dd-mon-rr
占用7个字节。
(7)timestamp:时间戳类型
可以精确到时分秒。
四、 null关键字 not null 非空约束。
1:建表期间,可以对某一字段进行非空约束。
在insert时,此字段必须要是数据。
reg: create table temp(
id number(4),
name varchar2(20) not null
);
在insert时,name字段必须要有数据。
2:没有进行非空约束的字段,都可以插入数据 null
五、 default关键字
1:建表期间,可以对某一字段进行设置默认值。
在insert期间,如果不对此字段进行传值,那么此记录的这个字段值是默认值。
如果设置,默认值失效。
reg:
create table temp(
id number(4),
name varchar2(30) not null,
gender char(1) default 'm'
);
insert into temp(id,name) values(1001,'zs')。
此记录的gender的值为'm';
--:两个减号表示单行注释
/* 多行注释 */
/* sql脚本:是数据库的sql语句文件,扩展名为.sql*/
/*格式如下:
create table tname(
colName dataType,
colName dataType,
………………
colName dataType
);
*/
(2):alter,用来修改表结构
-- 1)增加表的字段
-- 格式: alter table tname add (colName dataType);
-- 练习:为表temp_1增加个字段 tage 类型为number,长度为2
alter table temp_1 add (tage number(2));
-- 2)删除表的字段
-- 格式: alter table tname drop column colName
-- 练习:删除temp_1表中的tage
alter table temp_1 drop column tage;
-- 3)修改字段的名称
-- 格式: alter table tname rename column oldName to newName
-- 练习:将表temp_1的tname修改成name
alter table temp_1 rename column tname to name;
-- 4)修改字段的数据类型
-- 格式:alter table tname modify colName dataType
-- 练习:修改temp_1表中的name 为varchar2(30);
alter table temp_1 modify name varchar2(30);
-- 5)修改表名
-- 格式:rename oldTname to newTname
-- 练习:修改temp_1为temp_2;
rename temp_1 to temp_2;
-- 6)删除表结构
-- 格式:drop table tname;
-- 练习:将temp_2删除
drop table temp_2;
-- 7)查看表结构
-- 格式: desc tname;
-- 练习:创建temp_1,查看表结构
desc temp_1;
表是DB用来存储数据的结构模型,
表是一个二维结构。
有行:也叫记录(record)
有列:也叫字段(Field)
二、SQL:结构化查询语言,用途就是通过DBMS来操作DB的。
里面含有
(1)DDL语言:数据定义语言
create:用来创建表等。
alter: 用来修改表结构的。
drop: 用来删除表结构的
truncate:用来清空表数据,保留表结构,(数据不能还原)
DDL语言,每一个sql中前两个都是关键字
(2)DML语言:用来操纵数据,也就是增,删,改操作。
insert:用来向表中增加记录的。
delete:用来删除表中记录的。
update:用来修改表中记录的。
(3)DQL: 用来查询数据。
select * from tname
(4)TCL:事务控制语言。
在使用DML语言时,都会触发一个事务。
commit:提交数据。
rollback:回滚数据
savepoint:保存点。
(5)DCL:数据控制语言
grant:授权
revoke:撤销权限
create user:创建用户
三、oracle数据中常用的数据类型
(1)number(p[,s]):表示数字类型。
p:表示数字的有效长度
s:表示小数点后的位数。
整数位最大位数:p-s
reg:
number(5,2):最大值999.99
number(2):最大值为99。
(2)char表示定长字符串类型
不规定默认为1个字节。
规定:char(n)
最大字节数:2000个
定长:在存储时,不满规定个数时,也会占用内存
规定的字节数。
reg:char(10),当存了'a'时,也占用内存10个字节。
(3)varchar2表示可变字符串类型
写法:varchar2(n):
可变:会按照实际存储的字节数占用内存。不可以超出规定长度。
最大字节数:4000个
(4)long类型:
最多存2G的字节数。
(5)clob类型
最多存4g的字节数。
(6)date类型:日期类型
默认格式:dd-mon-rr
占用7个字节。
(7)timestamp:时间戳类型
可以精确到时分秒。
四、 null关键字 not null 非空约束。
1:建表期间,可以对某一字段进行非空约束。
在insert时,此字段必须要是数据。
reg: create table temp(
id number(4),
name varchar2(20) not null
);
在insert时,name字段必须要有数据。
2:没有进行非空约束的字段,都可以插入数据 null
五、 default关键字
1:建表期间,可以对某一字段进行设置默认值。
在insert期间,如果不对此字段进行传值,那么此记录的这个字段值是默认值。
如果设置,默认值失效。
reg:
create table temp(
id number(4),
name varchar2(30) not null,
gender char(1) default 'm'
);
insert into temp(id,name) values(1001,'zs')。
此记录的gender的值为'm';
--:两个减号表示单行注释
/* 多行注释 */
/* sql脚本:是数据库的sql语句文件,扩展名为.sql*/
DDL语言的学习
-- (1)create关键字,用来创建表结构/*格式如下:
create table tname(
colName dataType,
colName dataType,
………………
colName dataType
);
*/
(2):alter,用来修改表结构
-- 1)增加表的字段
-- 格式: alter table tname add (colName dataType);
-- 练习:为表temp_1增加个字段 tage 类型为number,长度为2
alter table temp_1 add (tage number(2));
-- 2)删除表的字段
-- 格式: alter table tname drop column colName
-- 练习:删除temp_1表中的tage
alter table temp_1 drop column tage;
-- 3)修改字段的名称
-- 格式: alter table tname rename column oldName to newName
-- 练习:将表temp_1的tname修改成name
alter table temp_1 rename column tname to name;
-- 4)修改字段的数据类型
-- 格式:alter table tname modify colName dataType
-- 练习:修改temp_1表中的name 为varchar2(30);
alter table temp_1 modify name varchar2(30);
-- 5)修改表名
-- 格式:rename oldTname to newTname
-- 练习:修改temp_1为temp_2;
rename temp_1 to temp_2;
-- 6)删除表结构
-- 格式:drop table tname;
-- 练习:将temp_2删除
drop table temp_2;
-- 7)查看表结构
-- 格式: desc tname;
-- 练习:创建temp_1,查看表结构
desc temp_1;