SQL语言共分为四大类
-
1.DDL(Data Definition Language)数据库定义语言
-
CREATE,ALTER,DROP,RENAME
-
2.DML(Data Manipulation Language)数据操纵语言
-
SELECT,INSERT,UPDATE,DELETE
-
3.DCL(Data Control Language)数据库控制语言
-
GRANT 授权
REVOKE 取消授权
-
4.TCL(Transaction Control Language)事务控制语言
-
ROLLBACK 回滚
COMMIT 提交
步骤
1.进入数据库sqlplus环境
sqlplus
sys as sysdba
pwd......
2. 创建与删除表空间
创建
create tablespace cmdemo datafile 'c:\cmdemo.dbf' size 30m autoextend on next 30m maxsize unlimited; create tablespace 表空间名 datafile '存储数据文件路径' size 空间大小 autoextend on next 自动扩展空间大小 maxsize unlimited;
删除
在删除表空间时首先需要判断的是该用户是否有删除的权限 如果没有则切换到sys as sysdba用户
删除没有任何数据的表空间的方法
--删掉名为myDemo的表空间 drop tablespace myDemo;
删除有数据的表空间的方法
--删掉名为myDemo的表空间 并且删除下面的数据 drop tablespace myDemo including contents and datafiles; --如果drop tablespace语句中含有datafiles,那datafiles之前必须有contents关键字,不然会提示ora‐01911错误
3. 创建/查看/修改/切换普通用户
创建/查看/修改用户
create user 用户名 identified by 密码 default tablespace 表空间名; create user cmd identified by cmd default tablespace cmdemo; --查看当前用户 show user; --修改用户的密码,首先要以超级管理员的身份进入oracle,然后输入以下代码 sys as sysdba; --cmd为您的账户名 alter user cmd identified by password;
给普通用户授权
grant connect,resource to cmd; --grant 权限 to 用户名; --权限 connect 临时权限 resource 资源使用权限 sysdba 管理员权限
切换用户
conn cmd/cmd;
权限的常用类型
- sysDBA 数据库管理员
- Connect 最终用户
- Resource 开发人员(默认有八大权限)
- create sequence 创建序列
- create trigger 创建触发器
- create cluster 创建聚集
- create procedure 创建存储过程
- create type 创建自定义类型
- create operator 类似于函数
- create table 创建表
- create indextype 创建索引
- exp_full_database 可以导出数据库的权限
- imp_full_database 可以导入数据库的权限
4. 创建/删除/显示当前数据库的表
----创建
create table 表名(
列名1 类型 [约束],
列名2 类型 [约束], ......
);
--类型一般如下
--整数 int 字符串 varchar(20) 日期 date 小数 float
--最后一列后没有逗号
--举个例子
create table userinfos(
userid number(10) primary key not null,
username varchar(20) not null
);
----删除
drop table userinfos;
--这里需要注意的是userinfos这个表是否有外键,如果有得话需要先删除外键
----显示当前数据库的表
select table_name from all_tables; --返回所有的表
select table_name from user_tables; --返回当前用户的所有表(方法一)
select table_name from tabs; --返回当前用户的所有表(方法一)
5. 显示/修改表结构
显示表结构
desc userinfos; --这里userinfos为表名
修改表结构
字段名的修改
alter table 表名 rename column 旧的字段名 to 新的字段名名; alter table userinfos rename column mybirthday to youbirth;
字段数据类型的修改
alter table 表名 modify 字段名 数据类型; alter table userinfos modify youbirthday date;
字段的增加
alter table 表名 add 字段名 数据类型; alter table userinfos add name varchar;
6. 增删改查(CRUD)
--增加
insert into 表名 values(对应列的数据1,对应列的数据2,......);
insert into userinfos(uid) values(2); --只增加id
--删除
delete from 表名 ;
delete from 表名 where 条件;
--修改某列数据
update 表名 set 列名=值;
update 表名 set 列名=值 where 条件;
--查看表中的所有数据
select * from 表名;