Oracle数据库知识整理----SQL基础(三)操作表


一、数据类型

1、字符型

(1)char(n)nchar(n)——固定长度类型
假如n=10,实际存放了3个字符,如图所示,3个字符占了3个位置,剩余7个字符位便是空着的
在这里插入图片描述

二者区别:
char(n)——n的max= 2000
nchar(n)——n的max= 1000,按照Unicode格式进行存放数据

(2)varchar(n)nvarchar(n)——可变长度类型
假如n=10,实际存放了3个字符,如图所示,3个字符占了3个位置
在这里插入图片描述
二者区别:
varchar(n)——n的MAX = 4000
nvarchar(n)——n的MAX = 2000,按照Unicode格式进行存放数据

2、数值型

(1)number(p,s)
p : 有效数字
s : 小数点后的位数

例如:number(5, 2):有效数字5位,保留2位小数,如123.45

(2)float(n)——用于存储二进制数据

(3)date
DATE类型表示范围:
公元前4712年1月1日到公元9999年12月31日

date类型在数据库中的存储固定为7个字节,格式为:
世纪+100 年 月 天 小时+1 分+1 秒+1

(4)timestamp

它与date的区别是不仅可以保存日期和时间,还能保存小数秒,小数位数可以指定为0-9,默认为6位,所以最高精度可以到ns(纳秒),数据库内部用7或者11个字节存储,如果精度为0,则用7字节存储,与date类型功能相同,如果精度大于0则用11字节存储。

格式为:
date的基础上加上第8-11字节:纳秒,采用4个字节存储,内部运算类型为整形

注:TIMESTAMP日期类型如果与数值进行加减运算会自动转换为DATE型,也就是说小数秒会自动去除。

(5)blob
可以存放4GB的数据,以二进制形式存放

(6)clob
可以存放4GB的数据,以字符串形式存放


二、管理表

1、创建表

创建用户信息表(Sys_User)
在这里插入图片描述

create table Sys_User
(
	UserID number(6,0),
	UserName varchar2(20),
	UserPwd varchar2(20),
	Email varchar2(20),
	Regdate date
);
desc Sys_User;

在这里插入图片描述

2、修改表

(1)添加字段

alter table Sys_User
add remarks varchar2(500);
desc Sys_User;

在这里插入图片描述

(2)更改字段数据类型

alter table Sys_User
modify remarks varchar2(400);
desc Sys_User;

在这里插入图片描述

(3)删除字段

alter table Sys_User
drop column remarks;
desc Sys_User;

在这里插入图片描述

(4)修改字段名

alter table Sys_User
rename column email to new_email;
desc Sys_User;

在这里插入图片描述

(5)修改表名

rename Sys_User to new_Sys_User;
desc Sys_User;
desc new_Sys_User;

在这里插入图片描述

3、删除表

(1)清空表中数据TRUNCATE TABLE table_name

比delete速度要快

truncate table new_Sys_User;
desc new_Sys_User;

在这里插入图片描述

(2)同时删除表结构和表中的数据DROP TABLE table_name

drop table new_Sys_User;`在这里插入代码片`
desc new_Sys_User;

在这里插入图片描述


三、操作表中的数据

1、添加数据

INSERT INTO table_name
(column1, column2, …)
 VALUES(value1, value2,)

(1)向表中所有字段添加值

做下面的操作时记得新建表

insert into Sys_User
values(1,'用户','123456','[email protected]',sysdate);
select * from sys_user;

在这里插入图片描述

(2)向表中指定字段添加值

insert into Sys_User(userid,username,userpwd)
values(2,'用户2','123456');
select * from sys_user;

在这里插入图片描述

2、设置表中数据的默认值

(1)新建表时设置字段的默认值

create table new_Sys_User
(
	UserID number(6,0),
	UserName varchar2(20),
	UserPwd varchar2(20),
	Email varchar2(20),
	Regdate date default sysdate
);
insert into new_Sys_User(userid,username)
values(1,'用户');
select * from new_sys_user;

在这里插入图片描述

(2)为已创建的表设置字段的默认值

alter table Sys_User
modify email default '无';
insert into Sys_User(userid,username)
values(3,'用户3');
select * from sys_user;

在这里插入图片描述

3、复制表数据

(1)在创建表时复制(复制表结构和数据)

Create table userinfo
as 
select * from sys_user;
desc new_sys_user;
select * from userinfo;

在这里插入图片描述

(2)在添加数据时复制

insert into sys_user
select userid, username, userpwd,email,regdate
from userinfo;

在这里插入图片描述

4、修改数据

UPDATE table_name
  SET column1 = value1, ...
  [WHERE conditions]

(1)无条件更新

update sys_user
set userpwd = '111111';
select userid,userpwd,username from sys_user;

在这里插入图片描述

(2)有条件更新

update sys_user
set userpwd = '121212'
where username = '用户2';
select userid,userpwd,username from sys_user;

在这里插入图片描述

5、删除数据

(1)无条件删除

delete from userinfo;
select * from userinfo;

在这里插入图片描述

(2)有条件删除

delete from sys_user
where username = '用户3';
select * from sys_user;

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/hyh17808770899/article/details/106582911