Oracle数据库-简单代码
1.创建用户名:
create user 用户名 identified by 密码 [account unlock|lock];
给用户名授权
grant connect,resource to 用户名;
撤销权限
revoke connect,resource to 用户名;
修改用户名
alter user 用户名 identified by 新密码 [acount unlock|lock];
修改密码
password;
旧口令:
新口令:
重新键入新口令:
2.创建表
create table 表格
(
列名1 数据类型 [约束],
列名2 数据类型 [约束],
列名3 数据类型 [约束],
列名4 数据类型 [约束],
)
/
约束条件有:
1.非空约束 not null
2.主键约束 primary key
3.外键约束 foreign key...references ...
4.唯一约束 unique
5.检查约束 check
6.默认约束 default
设置约束的方法(用户名是jerry 密码:tiger)
1. 创建表的时候约束
create table 表名 (列名 数据类型 [约束]...)
2.修改表的方式添加约束
alter table 表名 add constraint 约束名 约束的关键字 (约束的列名);
【】设置主键
alter table infos add constraint infos_pk_stuid primary key (stuid);
【】设置检查约束
alter table infos add constraint infos_ck_gender
check(gender='男' or gender='女');
【】设置唯一约束
alter table infos add constraint infos_un_stuname unique (stuname);
【】设置外键
alter table scores add constraint scores_fk foreign key (stuid) references infos (stuid);
修改表的结构
【】增加列(字段)
alter table 表名 add 列名 数据类型 约束;
【】修改列名(字段名)
alter table 表名 rename column 旧列名 to 新列名;
【】修改列的数据类型
alter table 表名 modify 列名 新的数据类型;
【】删除列(字段)
alter table 表名 drop column 列名;
【】修改列的约束
alter table 表名 modify 列名 数据类型 新的约束;
【】增加约束
alter table 表名 constraint 约束名字;
【】删除约束
alter table 表名 drop constraint 约束名字;
【】修改表名
rename 旧表名 to 新表名;
3.插入数据
inser into 表名(列名...) values (值...);
提交
commit
?查询新增一个表名赋值法;---先忽略说法
insert into 新表名 select * from 旧表名;
查询所有表名的列名约束
select constraint_name,search_condition form all_constraints where table_name='大写表名';
创建表
create table 新表名 as select ... from 旧表名 --复制表,根据结果集创建表,约束没有复制
修改更新表格
updater ...set...
例子如下:
update infos set gender='女', stuaddress='梁山泊',classno='1002' where stuname='阮小二';
删除表名---不能恢复,请谨慎删除表名
truncate table 表名;
删除表名或列名---这个删除可以用回滚恢复上一步删除的内容
delete from 表名 [where 列名条件]
回滚
rollback
保存点
savepoint 一个字母;
回滚到保存点
rollback to 保存点的字母;
连字符
||
如:select 列名||''||列名 from 表名;
as的用法
select ename||'job is '||job as '员工详细信息' from emp;
!= 表示'不等于’
如:select * from emp where sal!=3000;
and 的用法
如:select * from emp where sal!=3000 and job!='SALESMAN';
distinct 消除重复行
如:
DEPTNO
------
20
30
30
20
30
30
10
20
10
30
20
30
20
10
14 rows selected
select distinct deptno from emp;
运行如下结果:
DEPTNO
------
30
20
10
not null的用法
如:select * from emp where comm is not null;
in的用法
如:select * from emp where job in('SALESMAN','PRESIDENT','ANALYST');
between...and... 的用法
如:select * from emp where sal between 2000 and 3000;
4.笛卡而集
select * from t1 cross join t2;
内连接[inner] join....on...
如:select * from (select * from dpt) t1 join (select * from emp) t2 on t1.deptno=t2.deptno;
左连接 left [outer] join...on....(译:左表全部连接,不匹配的不连接)
如:select * from (select * from dpt) t1 left join (select * from emp) t2 on t1.deptno=t2.deptno;
右连接 right[outer] join...on....(译:右表全部连接,不匹配的不连接)
如:select * from (select * from dpt) t1 right join (select * from emp) t2 on t1.deptno=t2.deptno;
SQL语言--结构化查询语言 增add 删drop 改alter 查select
DDL--数据定义语言 create创造 ,alter修改, drop删除
DML--数据操作语言 insert into增加,delete from删除,update修改更新
DQL--数据查询语言 select...from... where... order by ... group by . having ..
TCL--事务控制语言 commit提交,rollback回滚,savepoint创建保存点
DCL--数据控制语言 grant授权,revoke撤销权限