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
扫描二维码关注公众号,回复:
11523704 查看本文章
删除约束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 约束名
主键约束和唯一约束的区别:
- 主键约束只有一个,唯一约束可有多个;
- 主键约束非空空,唯一约束可为空;