一、數據類型
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;