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;

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章