PS:一開始用 以爲Oracle和mysql一樣有show tables和databases這種命令的,是我想多了....
//創建表
create table userinfo
(id number(6,0),
username varchar2(20),
userpwd varchar2(20),
email varchar2(30),
regdate date);
//查看錶
desc userinfo;
//添加字段
alter table userinfo add remarks varchar2(500);
//修改字段
alter table userinfo modify remarks varchar2(400);
alter table userinfo modify userpwd number(6,0);
//刪除字段
alter table userinfo drop column remarks;
//修改字段名
alter table userinfo rename column email to new_email;
//修改表名
rename userinfo to new_userinfo;
//刪除表
truncate table new_userinfo;
drop table new_userinfo;
truncate命令是對錶的截斷,只刪除表的內容,速度較快;
drop是刪除整張表結構;
//向表中所有字段添加值
insert into userinfo values(1,'xxx','123','[email protected]',sysdate);
//sysdate即系統時間
//向表中部分字段添加值
insert into userinfo(id,username,userpwd) values(1,'xxx','123','[email protected]',sysdate);
//建表時複製表數據
create table userinfo_new1 as select*from userinfo;
//建表時複製部分表數據
create table userinfo_new2 as select id,username from userinfo;
//添加數據時複製表數據
insert into userinfo_new1 select * from userino;
//修改數據(無條件更新將所有都改變)
update userinfo set username='111',userpwd='111';
update userinfo set userpwd='111' where username='xx';
//刪除數據
delete from userinfo;//無條件刪除
delete from userinfo where username='yyy';//有條件刪除
修改表時添加非空約束 alter table table_name modify column_name datatype not null;
修改表時去除非空約束 alter table table_name modify column_name datatype null;
主鍵約束(數據字典爲user_constraints)
建表時在字段後面加上primary key
聯合主鍵語句 constraint pk_id_username primary key(id,username) //pk_id_username 是主鍵的名字
在修改表時添加主鍵約束 alter table table_name add constraint pk_id_username primary key(id,username)
修改約束名字alter table table_name rename constraint pk_id_username to new_name
禁用|啓用約束alter table table_name disable | enable constraint pk_id_username
刪除約束alter table table_name drop constraint pk_id_username
外鍵約束
//主表
create table typeinfo
(typeid varchar2(20) primary key,
typename varchar(20));
//從表1
create table userinfo_f1
(id varchar2(20) primary key,
username varchar2(20),
typeid_new varchar2(20) references typeinfo(typeid));
//從表2級聯刪除
create table userinfo_f2
(id varchar2(20) primary key,
username varchar2(20),
typeid_new varchar2(20),
constraint fk_typeid_new foreign key(typeid_new) references typeinfo(typeid) on delete cascade);
//修改表時添加外鍵約束
add constraint 約束名 foreign key(主鍵名) references 表名(主鍵名) on delete cascade;
//禁用|啓用|刪除外鍵約束
disable|enable|drop constraint 約束名
主鍵約束和唯一約束的區別:
- 主鍵約束只有一個,唯一約束可有多個;
- 主鍵約束非空空,唯一約束可爲空;