Oracle基础

1、


2、用户
2、0、系统用户:sys,system,sysman,scott
2、1、登陆SQL Plus:
使用system登陆:[username/password] [@server] 
请输入用户名:system/admin
SQL>connect sys/admin as sysdba
2/2查看登陆用户
show user
desc dba_users
select username from dba_users;
2/3启用用户语句
alter user `username` account unlock;
connect `username`/`password`


3、表空间
3/0表空间概述
永久表空间
临时表空间
UNDO表空间
3/1查看表空间
dba_tablespaces,dba_users;user_tablespaces,user_users;
select tablespace_name from dba_tablespaces;
3/2更改表空间
select default_tablespace,temporary_tablespace from dba_users where username='SYSTEM';
ALTER USER system DEFAULT TABLESPACE system;
3/3创建表空间
CREATE [TEMPORARY] TABLESPACE tablespace_name TEMPFILE | DATAFILE 'xx.dbf' SIZE xx;
例子:
create tablespace test1_tablespace datafile 'test1file.dbf' size 10m;
create temporary tablespace temptest1_tablespace tempfile 'tempfile1.dbf' size 10m;
desc dba_data_files;
select file_name from dba_data_files where tablespace_name='TEST1_TABLESPACE';
select file_name from dba_temp_files where tablespace_name='TEMPTEST1_TABLESPACE';
3/4修改表空间状态(默认ONLINE)
alter tablespace test1_tablespace offline;
desc dba_tablespaces;
select status from dba_tablespaces where tablespace_name='TEST1_TABLESPACE';
alter tablespace test1_tablespace read only;
alter tablespace test1_tablespace read write;
3/4修改数据文件
增加:ALTER TABLESPACE tablespace_name ADD DATAFILE 'filename.dbf' SIZE xx;
删除:ALTER TABLESPACE tablespace_name DROP DATAFILE 'filename.dbf';
例子:
alter tablespace test1_tablespace add datafile 'test2_file.dbf' size 10m;
select file_name from dba_data_files where tablespace_name='TEST1_TABLESPACE';
alter tablespace test1_tablespace drop datafile 'test2_file.dbf';
3/5删除表空间
DROP TABLESPACE tablespace_name [INCLUDING CONTENTS];


4、操作表
4/1数据类型
字符型:CHAR(n)--MAX2000 NCHAR(n)--MAX1000 VARCHAR2(n)--MAX4000 NVARCHAR2(n)--MAX2000
数值型:NUMBER(p,s)--p有效数字 FLOAT(n)
日期型:DATE--精确到秒 TIMESTAMP
其他类型:BLOB--4G--二进制 CLOB--4G--字符串
4/2管理表
新建表:
create table userinfo(
  id number(6,0),
  username varchar2(20),
  userpwd varchar2(20),
  email varchar2(30),
  regdate date);
添加字段:
ALTER TABLE table_name ADD column_name datatype;
eg:
alter table userinfo
add remarks varchar2(500);
更改字段:
ALTER TABLE table_name MODIFY column_name datatype;
删除字段:
ALTER TABLE table_name DROP COLUMN column_name;
修改字段名:
ALTER TABLE table_name RENAME COLUMN column_name TO new_column_name;
修改表名:
RENAME table_name TO new_table_name;
清空表:
TRUNCATE TABLE table_name;
删除表:
DROP TABLE table_name;
4/3添加数据
INSERT INTO table_name(column1,column2,...) VALUES(value1,value2,...);


5、约束
非空约束、主键约束、外键约束
ADD CONSTRAINT constraint_name PRIMARY KEY(column1,....);
RENAME CONTRAINT old_name TO new_name;
DISABLE|ENABLE CONSTRAINT constraint_name;
DROP CONSTRAINT constraint_name;
DROP PRIMARY KEY[CASCADE];
5/5外键约束
CREATE TABLE table1(column_name datatype REFERENCES table2(cloumn_name),...);
要么是主表存在的值,要么是空值


CONSTRAINT constraint_name FOREIGN KEY(column_name) REFERENCES table_name(column_name) [ON DELETE CASCADE]


5/9唯一约束
CREATE TABLE table1(column_name datatype UNIQUE,...);
CONSTRAINT constraint_name UNIQUE(column_name);
约束名字唯一,多个约束多个语句

创建表后添加唯一约束:(ALTER TABLE table_name)
ADD CONSTRAINT un_constraint_name(column);


5/12检查约束
CREATE TABLE table_name(column_name datatype CHECK(expression),...);

添加检查约束:
CONSTRAINT ck_constraint_name CHECK(expression);


6、查询
带条件的查询
模糊查询
范围查询

设置格式
COLUMN|COL column_name HEADING new_name
COLUMN|COL column_name FORMAT dataformat
COLUMN|COL column_name CLEAR


6/6运算符和表达式
+ - * / > >= < <= = <> and or not 
通配符'_ %'
范围查询 
[NOT] BETWEEN ... AND ... 
[NOT] IN
CASE column_name WHEN value THEN result,... [ELSE result] END
实例:select username ,case username when 'xiaoming' then '计算机' when 'daming' then '不知道' else '其他部门' end as 部门 from userinfo;
CASE WHEN column_name=value THEN result ... END
实例:select username ,case when username='xiaoming' then '计算机' when id=3 then 'unknown' else 'guizd' end as wtf from userinfo;
DECODE函数
DECODE(column_name,value1,result1,...,defaultvalue)
实例:select  username ,decode(username,'xiaoming','计算机','daming','位置','其他') as fuck from userinfo;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值