1. 表空间的创建
表空间的创建,格式:
create tablespace 表空间名
datefile '路径名/表空间名.dbf' size 60M(初始空间大小为:60M)
autoextend ON NEXT 30M(每次扩容的空间大小:30M)
maxsize unlimited(最大空间大小: unlimited 无限大);
-- 表空间的创建: 创建表空间my_tabs2
CREATE TABLESPACE my_tabs2
DATAFILE 'd:/software/Oracle/Space/my_tabs2.dbf' size 60M
AUTOEXTEND ON NEXT 30M MAXSIZE UNLIMITED;
2. 创建用户
格式:
create user 用户名
identified by 用户密码
default tablespace 默认表空间
-- 创建用户user2
create user user2
identified by 123456
default tablespace my_tabs2
-- 创建用户user1
create user user1
identified by user1
default tablespace my_tabs2
3. 给新创建的用户授权
给用户授权格式:
grant 权限名1,权限名2,权限名3 to 用户名
Oracle用户权限:
connect -> 只能连接数据库,不能对表进行增删改查操作
resource -> 可以做增删改查操作,不能修改数据库结构
dba -> 系统管理员权限,可以修改数据库结构
-- 给新创建的用户授权
grant connect,resource to user2;
-- 回收权限
revoke connect,resource from use2;
-- 修改创建用户的密码
alter user user2 IDENTIfiEd by use231;
-- 锁定用户 lock
ALTER USER user1 ACCOUNT LOCK;
-- 解锁用户 UNLOCK
ALTER USER user1 ACCOUNT UNLOCK;
-- 删除用户:
DROP USER user1;
4. 通过命令创建表
格式:
create table 表名(
字段名1 数据类型 约束1 约束2 约束3 ,
字段名2 数据类型 约束1 约束2 约束3 ,
字段名3 数据类型 约束1 约束2 约束3 -> 注意最后一个字段这儿没有逗号,
);
-- 通过命令创建student表
CREATE TABLE student(
sid int primary key , -- sid int类型 主键
sname char(20), -- sname 字符类型(最多20个字符)
sex char(2) -- sex 字符类型(最多2个字符)
)
5. 对表中数据进行增删改查
表插入数据格式:
insert into 表名 (字段名1,字段名3) ,values(值1,值2);
如果values()中插入的是全字段的值,则可以省略前面的()例如:
-- 插入数据 1001 李四 女
insert into student values(1001,'李四','女');
更新表数据格式:
update 表名 set 字段名1=值1, 字段名2=值2 where 更新条件;
-- 更新student表的所有学生的性别为女
update student set sex = '女';
-- 将student表学号为1001的学生名字改为张三
update student set sname = '张三' where sid = 1001;
查询表格式:
select 要查询的内容 from 表名 where 条件名;
-- 查询学号为1001的姓名
select sname where sid=1001;
删除表数据格式:
delete from 表名 where 条件
-- 删除id=1001的学生数据
delete from student where id = 1001;
6. 对表或字段的增删改查操作:
-- 创建一个QQUser表
create table QQUser(
QQID number ,
QPassWord char(10) ,
ListLogWordTime date ,
QOnline number(2),
QLevel number(2)
)
-- 更新表的字段
alter table QQUser alter column QQID Number(10);
-- 插入数据
insert into QQUser values(123456,1,null,2,99);
insert into QQUser values(123456,1,null,2,99);
-- 查询
select * from QQUser ;
-- 重命名表名
rename 表一 to 表二
-- 截断表 , 清空表中所有的数据,但是表结构还是存在的
truncate table user
-- 添加列
alter table QQUser add sex char(2)
-- 修改列
alter table QQUser modify sex varchar(2)
-- 删除列
alter table QQUser drop column sex;
-- 添加QQname字段
alter table QQUser add constraint QQName varchar(100);
-- 添加一个唯一约束
alter table QQUser add constraint QQName unique(QQName);
-- 设置主键约束
alter table QQUser add constraint QQid primary key(QQID);
-- 添加年龄字段
alter table QQUser add QQage number(3);
-- 检查约束: 限定年龄的范围为10到40
alter table QQUser add constraint QQage check(QQage between 10 and 40);
-- 单行函数 length(字段) 返回字段的长度
select length(QQName), QQname from QQUser;
-- 限定name字段的长度>=2
alter table QQUser add constraint QQname check(length(QQName)>=2);
-- 模糊查询,查询名称以张的开头的内容
select * from QQUser where QQname like '%张%';
-- 查询QQUser表中QQID以1开头的所有内容
select * from QQUser where QQID like '1%';
另:设置主外键约束
1.创建表时设置外键约束
create table A (
anumber int primary key , -- 字段名 primary key
aname char(11) unique ,
bnumber int
);
create table B (
Bnumber int primary key ,
bname varchar(11),
anumber int,
-- constraint 约束名 forgin key(主键) reference 从表名(从表主键)
constraint a_b foreign key(bnumber) references B(bnumber)
);
-- 2.表已经创建成功后再添加外键约束
-- 添加外键约束: alter table 从表名 add constraint 外键约束名称 foreight key(列名) references 主表名称(主键列名)
alter table B add constraint B_A foreign key(bnumber) references A(anumber);