赞
踩
盘符为自己安装的盘符(此处是在虚拟机装在了C盘)
C:\app\lwc\product\11.2.0\dbhome_1\deinstall
系统用户(权限) sys->system->sysman->scott(默认密码tiger)
登录[username/password][@server][as sysdba|sysoper]
SQL Plus中登录
system/密码
切换登录连接语气
connect sys/密码 as sysdba
查看当前用户
show user命令
数据字典是数据库提供的表,用于查看数据库的信息
dba_users
desc dba_users
查看所有用户(sys->system->sysman)
select username from dba_users;
启用scott用户语气
alter user uername account unlock(解锁)/lock(锁定);
alter user scott account unlock;
数据库与表空间(数据库中可以有多个表空间)
表空间与数据文件(多个数据文件构成表空间)
永久表空间(表,视图,永久储存的数据)
临时表空间(操作中间执行过程,操作结束后释放)
UNDO表空间(保存被修改之前的值)
dba_tablespaces(管理级) user_tablespaces(普通用户级)数据字典
desc dba_tablespaces
selcet tablespace_name from dba_tablespaces;
dba_users user_users 数据字典
查看默认表空间和临时表空间
select default_tablespace,temporary_tablespace from dba_users where username=‘SYSTEM’;
设置用户的默认或者临时表空间
ALTER USER username (当前用户名)
DEFAULT|TEMPORARY TABLESPACE tablespaces_name;
例如:ALTER USER system
DEFAULT TABLESPACE USERS;
CREATE [TEMPORARY] TABLESPACE tablespace_name(表空间名字)
TEMPFILE|DATAFILE ‘XX.dbf’(文件名字) SIZE xxx
创建默认表空间
CREATE TABLESPACE tablespace_name
DATAFILE ‘XX.dbf’ SIZE xxx
创建临时表空间
CREATE TEMPORARY TABLESPACE tablespace_name
TEMPFILE ‘XX.dbf’ SIZE xxx
设置联机或脱机状态
ALTER TABLESPACE tablespace_name
ONLINE|OFFLINE
设置只读或可读写状态
ALTER TABLESPACE tablespace_name
READ ONLY(只读)|READ WRITE(可读写);
增加数据文件
ALTER TABLESPACE table_name
ADD DATAFILE ‘xx.dbf’ SIZE xx;
删除数据文件
ALTER TABLESPACE table_name
DROP DATAFILE ‘xx.dbf’;
DROP TABLESPACE
tablespace_name INCLUDING CONTENTS
1.基本存储单位 2.二维结构 3.行和列
约定
1.每一列数据必须具有相同数据类型
2.列名唯一
3.每一行数据的唯一性
字符型
CHAR(n),NCHAR(n)固定长度
VARCHAR2(n) NVARCHAR2(n)
数值型
NUMBER(p,s) p有效数字 s小数点后的位置
FLOAT(n)
日期型
DATE 可以精确到秒
TIMESTAMP 时间戳
其他类型(存放大对象)
BLOB 4gb二进制形式存放
CLOB 4gb字符串形式存放
create table table_name(
column_name1 datatype,
column_name2 datatype,…
)
添加字段
alter table table_name
add column_name datatype;
例如:
alter table userinfo
add remarks varchar2(500);
更改字段数据类型
alter table table_name
modify column_name datatype;
例如:
alter table userinfo
modify remarks varchar2(400);
删除字段
alter table table_name
drop column column_name;
例如:
alter table userinfo
drop column remarks ;
修改字段名
alter table table_name
rename column column_name to new_column_name;
例如
alter table userinfo
rename column email to new_email;
修改表名
rename table_name to new_table_name;
tuncate table table_name(删除表中的全部数据 截断表)
drop table table_name
insert into table_name
(column1,column2,…)
values(value1,value2,…)
例如
insert into userinfo
values(1,‘xxx’,‘123’,‘xxx@126.com’,sysdate);
添加默认值
1.重新创建表
create table userinfo1
(id NUMBER(6,0),
regdate date default SYSDATE
);
insert into userinfo1(id)
values(2);
2.直接修改字段
alter table unserinfo
modify email default ‘无’;
1.在建表时复制
create table table_new
as
select column1,… | *(复制全部) from table_old;
2.在添加时复制
insert into table_name
[(column1,…)]
select column1,… | * from table_old
update table_name
set column1=value1,…
[where conditions]
无条件更新例如update userinfo set userpwd=‘111’,email=‘111@126.com’;
有条件更新例如
delete from table_name; [where conditions]
无条件删除等同于tuncate table table_name(删除表中的全部数据 截断表)
例如delete from testdel;
有条件删除例如delete from userinfo where username=‘李红’;
1.定义规则
2.确保数据完整性
非空约束 not null
主键约束 primary key
外键约束 references
唯一约束 unique
检查约束 check
非空约束只能在列级设置,其它约束既可以在列级设置也能在表级设置
数据字典 user_constraints
1.在创建表的时候设置非空约束
create table table_name(
column_name datatype not null,…
)
2.在修改表的时候添加非空约束
alter table table_name modify column_name datatype not null;
3.在修改表的时候去除非空约束
alter table table_name modify column_name datatype null;
作用:确保表当中每一行数据的唯一性(非空,唯一)
一张表只能设计一个主键约束
主键约束可以有多个字段构成(联合主键或符合主键)
1.在创建表的时候设置主键约束
create table table_name(
column_name datatype primary key,…
)(列级设置)
联合主键或符合主键
constraint constraint_name
primary key(column_name1,…)(表级设置)
constraint_name(主键约束的名字)
2.在修改表时添加主键约束
alter table table_name
add constraint constraint_name
primary key(column_name1,…)
3.更改约束的名称
alter table table_name
rename constraint old_name to new_name;
4.删除主键约束
alter table table_name
disable | enable constraint constraint_name;(禁用约束)
alter table table_name
drop constraint constraint_name(删除约束)
alter table table_name
drop primary key[cascade]
1.在创建表的时候设置外键约束
注意设置外键约束的时候,主表的字段必须是主键
主从表中相应的字段必须是统一数据类型
从表中外键字段的值必须来自主表中的相应字段的值,或者为null值
table_name1从表
table_name2主表
列级
create table table_name1(
column_name datatype references table_name2(column_name),… references后面是你将引用哪个表中的什么字段括号内为引用的字段必须是主表的主键
);
表级(写在create table创建表时的括号内)
constraint constraint_name foreign key(column_name) references
table_name(column_name) [on delete cascade] 级联删除
constraint_name(主键约束的名字)
2.在修改表的时候添加外键约束
alter table table_name
add constraint constraint_name foreign key(column_name) references
table_name(column_name)[on delete cascode]
3.删除外键约束
alter table table_name
disable | enable constraint constraint_name;(禁用约束)
alter table table_name
drop constraint constraint_name(删除约束)
作用:保证字段值的唯一性
唯一约束和主键约束的区别:1.主键字段值必须是非空的2.唯一约束允许有一个控制3.主键在每张表中只能有一个4.唯一约束可以有多个
唯一约束要求每个字段不能有重复值,可以有空值,但是空值只能有一个
1.在创建表时设置唯一约束
列级
create table table_name (
column_name datatype unique,…
)
表级
constraint constraint_name unique(column_name)
2.在修改表时添加唯一约束
constraint_name 约束的名字
alert table table_name
add constraint constraint_name unique(column_name);
3.删除唯一约束
alter table table_name
disable | enable constraint constraint_name;(禁用约束)
alter table table_name
drop constraint constraint_name(删除约束)
作用:表中的值更具有实际意义
1.在创建表时设置检查约束
列级
create table table_name (
column_name datatype check(expressions),…) expressions条件语句
例如
create table userinfo_c(
id varchar2(10) primary key,
username varchar2(20),
salary number(5,0) check(salary>0)
);
表级
constraint constraint_name check(expressions)
2.在修改表时添加检查约束
alert table table_name
add constraint constraint_name check(expressions);
3.删除检查约束
alter table table_name
disable | enable constraint constraint_name;(禁用约束)
alter table table_name
drop constraint constraint_name(删除约束)
select [distinct] column_name1,… | * from table_name [where conditions]
distinct不显示重复的数据
column 也可以设置别名
column column_name heading new_name;
column column_name format dataformat;
(a10 字符长度 9代表数字位置 999.9$)
清除设置的格式
column column_name clear;
查询所有字段select * from table_name;
查询指定字段 select column_name,… from table_name;
elect column_name as new_name,… from table_name;
例如select id as 编号,username as 用户名,salary as 工资 from users;
算术运算符(+,-,*,/)
比较运算符(>,>=,<,<=,=,<>)
逻辑运算符(and,or,not)优先级 not,and,or的顺序依次递减
使用算术运算符select id,username,salary+200 from users;
使用比较运算符select * from users where salary>800; 优先级高于逻辑运算符
使用逻辑运算符select * from users where salary>800 and salary <>1800.5;
单一条件的查询select salary from users where username=‘aaa’;
多条件的查询select * from users where username=‘aaa’ or salary>2000;
select * from users where username=‘aaa’ or (salary>800 and salary<=2000);
通配符(_,%) _任意一个字符
使用like查询
select * from users where username like ‘a%’;
between…and
800-2000
select * from users where salary between 800 and 2000;
不在800-2000
select * from users where salary not between 800 and 2000;
in/not in
查询用户名是aaa或者bbb的用户信息
select * from users where username in(‘aaa’,‘bbb’);
select…from…[where] order by column1 desc/asc,…
desc降序 asc升序
select * from users order by id desc, salary asc;
case column_name
when value1 then result1,…
[else result] end
select username,case username when ‘aaa’ then ‘计算机部门’
when ‘bbb’ then ‘市场部门’ else ‘其它部门’ end as 部门 from users;
case
when column_name=value1
then result1,…[else result] end
select username,case when username=‘aaa’ then ‘计算机部门’
when username=‘bbb’ then ‘市场部门’ else ‘其它部门’ end as 部门 from users;
decode(column_name,value1,result1,…defaultvalue)
select username,decode(username,‘aaa’,‘计算机部门’,‘bbb’,‘市场部门’,‘其它部门’) as 部门 from users;
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。