删除数据
DELETE语句
操作实例
DELETE FROM TABLE_NAME
[WHERE conditions];
删除表的全部数据
无条件删除
--复制一张表
CREATE TABLE TESTDE1
AS
SELECT * FROM USERINFO;
删除复制的那张表
DELETE FROM TESTDEL;
有条件删除
DELETE FROM USERINFO
WHERE USERNAME='YYY';
修改数据
UPDATE语句
操作实例
UPDATE table_name
SET column1=value1,...
[where conditions]
无条件更新
修改一个值
update userinfo
set userpwd='11111';
查询
select userpwd from userinfo;
修改多个值
update userinfo
set userpwd='111',email='111@126.com';
查询
select userpwd,email from userinfo;
有条件更新
update userinfo
set userpwd='123456'
where username='xxx';
select username,userpwd from userinfo;
复制表数据
在建表时复制
在添加时复制
CREATE TABLE table_new as SELECT column1,...|*FROM table_old;
create table userinfo_new
as
select * from userinfo;
create table userinfo_new1
as
select id,username from userinfo
select * from userinfo_new1;
在添加时复制
INSERT INTO table_new
[(column1,...)]
SELECT column1,...|*FROM table_old
insert into userinfo_new
select * from userinfo;
insert into userinfo_new(id,username)
select id,username from userinfo;
select id,usernmae from userinfo_new;
操作数据
添加数据
修改数据
删除数据
添加数据
INSERT语句
操作实例
复制表数据
INSERT语句
INSERT INTO table_name
(column1,column2,...)
VALUES(value1,value2,...)
向表中所有字段添加值
insert into userinfo
values(1,'xxx','123','xxx@.com',sysdate);
--查看插入的字段
select * from userinfo;
向表中指定的字段添加值
insert into userinfo(id,username,userpwd)
vaues(2,'yyy','123');
查看数据
select username,userpwd from userinfo
向表中添加默认值
create table userinfo1
(id number(6,0),
regdate date default sysdate);
insert into userinfo1
values(1);
报错,没有把值和字段进行一一对应
insert into userinfo1(id)
values(1);
--修改表
alter table userinfo
modify email default '无';
insert into userinfo(id)
values(3);
select id,email from userinfo;
insert into userinfo(id,email)
values(4,'aaa');
decode函数的使用
select username,decode(username,'aaa','计算机部门','bbb','市场部门','其他') as 部门
from users
case...when 语句的使用
select username ,case username when 'aaa' then '计算机部门'
when 'bbb' then '市场部门' esle '其他部门' end as 部门
from users;
select username ,case when 'aaa' then '计算机部门'
when username = 'bbb' then '市场部' else '其他部门' end as 部门
from users;
select username,case when salary <800 then '工资低'
when salary > '5000' then '工资高' end as 工资水平
from users;
对查询的结果排序
SELECT ... FROM ... [WHERE...]
ORDER BY column1 DESC/ASC,
select * from users order by od desc;
select * from order by id desc.salary asc;
insert into users values(4,'aaa' ,1000);
select * from order by usernmae desc ,salary asc;
范围查询
between...and
select * from users where salary between 800 and 2000;
select * from users where salary not between 800 and 2000;
in/not in
select * from users where username in ('aaa','bbb');
select * from users where username in not ('aaa','bbb');
模糊查询
username = 'aaa'
select * from users where username like 'a%';
select * from users where username like 'a_';
select username from users where username like '_a%';
select username from users where username like '%a%'
带条件的查询
单一条件的查询
select salary from users where username = 'aaa';
select username ,salary from users where id = 3;
多条件的查询
查询员工姓名是aaa,或者工资大于2000的员工信息
select * from users where username = 'aaa' or salary >2000;
select * from users where username='aaa' or ( salary>800 and salary <=2000);
select * from users where username='aaa' or salary>800 and salary <=2000;
逻辑运算符的优先级 not ,and ,or的顺序依次递进
比较运算符
select * from users where not (username='aaa');
select id,username,salary+200 from users;是在查询结果中显示,不是修改数据
使用比较运算符
select username from users where salary>800;
使用逻辑运算符
select username from users where salary>800 and salary <> 1800.5;
select username from users where salary>800 or salary<> 1800.5;
运算付和表达式
表达式 = 操作数 * 运算符
算数运算符
比较运算付
给字段设置别名
显示在查询结果当中,
SELECT COLUMN_NAME AS new_name from table_name;
select id as 编号,username as 用户名,salary as 工资
from users;
select distinct username as 用户名 from user;
查询表中的所有字段及指定的字段
查询表中的所有字段
select *
desc users;
col id heading 编号;
col username heading 用户名;
col salary heading 工资;
查询指定的字段
select username ,salary from users;
在SQL*PLUS中设置格式
COLUMN column_name HEADING new_name
注意: column 可以简写成col
COLUMN column_name FORMAT dataformat
注意:字符类型只能设置显示的长度
col username format a10;
col salary format 9999.9;
col salary format $9999.9
COLUMN column_name CLEAR
col username clear;
col salary clear;
select * from user;
基本查询语句
SELECT [DISTINCT] column_name1,.....|*
FROM table_name
[WHERE conditions]
查询
基本查询语句
在SQL*PLUS中的设置格式
查询表里所有的字段和指定的字段
给字段设置别名 (显示字段的查询结果,不是给字段更改名字)
运算符和表达式
在SELECT中使用运算符
带条件的查询
模糊查询
范围查询
对查询结果排序
CASE...WHEN 语句的使用
decode函数的使用
修改数据文件
增加数据文件
删除数据文件
ALTER TABLESPACE tablespace_name
ADD DATAFILE 'xx.dbf' SIZE xx;
select file_name from dba_data_files where tablespace_name = 'test1_tablespace';
删除数据文件
ALTER TABLESPACE tablespace_name
DROP DATAFILE 'test2_file.dbf;
修改表空间
修改表空间的状态
设置联机或脱机=状态
ALTER TABLESPACE tablespace_name offline;
desc dba_tablespaces
select status from dba_tablespaces wherespace_name = 'test1_tablespace';
ALTER TABLESPACE tablespace_name online;
设置只读或可读写转态
ALTER TABLESPACE tablespace_name
READ ONLY;
select status from dba_tablespaces wherespace_name = 'test1_tablespace';
ALTER TABLESPACE tablespace_name
READ write;
查看用户的表空间
dba_tablespaces
user_tablespaces 数据字典
select tablespace_name from dba_tablespaces;
desc user_tablespaces;
dba_users 数据字典
user_users数据字典
select default_tablespace,temporary_tablespace from dba_users where username = 'SYSTEM'
ALTER USER username
DEFAULT|TEMPORARY
TABLESPACE tablespace_name
表空间
表空间概述
查看用户的表空间
创建,修改,删除表空间
表空间概述
理解表空间
表空间分类
理解表空间
数据库与表空间
表空间与数据文件
表空间的分类
永久表空间
临时表空间
UNDO表空间
启用scott用户
启用用户的语句
alter user username account unlock
alter user scott account unlock
使用scott用户登录SQL plus
show user 查看用户
desc dba_users 查看数据字段
select username from dba_users;
用户与表空间
用户
表空间
用户
登录SQL PLUS
查看登录用户
启用scott
登录sql plus
系统用户
使用系统用户登录
系统用户
sys,system (权限比较高) 密码可以自己设定 统一的密码
[username/password] [@servier] [as sysba|sysoper] 注:如果是在本地,则不需要@serve
如果数据库不在本机
system/root @orcl as sysdba
orcl就是自己设置的服务名
sysman (操作管理器) 密码可以自己设定 统一的密码
scott 默认的密码是tiger
用户与表空间
用户
表空间
表与约束
表
约束在表中的作用
查询语句
查询的作用
强大的select
模糊查询通配符
优先级
查询 distinct 关键字:去重关键字
约束总结
放在alter table后
约束名不区分大小写