加油,新时代打工人!
环境安装请看这章文章:【详细】 Oracle Database 19c 安装步骤
最近忙着毕设,更新不及时了。
来了 新出炉,亲测学习 oracle基础语句
--创建表空间
create tablespace itboywh
datafile 'E:\itboywh.dbf'--虚拟机的路径
size 100m --表空间大小
autoextend on --自动扩展大小
next 20m; --每次扩展20m
drop tablespace itboywh4--删除表空间
select * from dba_data_files; --查看表空间路径
drop tablespace itboywh; --删除空的表空间,但是不包含物理文件
drop tablespace itboywh including contents; --删除非空表空间,但是不包含物理文件
drop tablespace itboywh4 including datafiles; --删除空表空间,包含物理文件
drop tablespace itboywh4 including contents and datafiles; --删除非空表空间,包含物理文件
--如果其他表空间中的表有外键等约束关联到了本表空间中的表的字段,就要加上CASCADE CONSTRAINTS
drop tablespace tablespace_name including contents and datafiles CASCADE CONSTRAINTS;
create user itboywh --用户名
identified by itboywh --创建密码
default tablespace itboywh; --来自哪个表空间
--给用户登录授权
-- connect role(连接角色) resource role(资源角色) dba role(数据库管理员角色)
--grant 权限 to 用户名
grant dba to itboywh;
--创建表
create table person(
pid number(20),
pname varchar2(10)
);
--修改表结构
--添加一列
alter table person add (gender number(1),address varchar2(20));
--修改列类型
alter table person modify gender char(1);
--修改列名称
alter table person rename column gender to sex;
--删除一列
alter table person drop column sex;
--查询表
select * from person;
--增删改操作
--添加一条记录
insert into person (pid, pname, address) values (1, '小米', '河南');--插入时中文乱码,
commit;--增删改 提交事务
--解决方案
--查看字符集
select userenv('language') from dual;--将结果复制,添加系统变量即可
select*from V$NLS_PARAMETERS;
--修改
update person set pname ='小明' where pid=1;
commit
--三个删除
--删除表全部记录
drop from person
--删除表结构
drop table person
--先删除表,再次创建表。效率等同于删除表中全部记录。
--在数据量大的情况下,尤其是在表结构中带索引的情况下,该操作效率高
--索引 好处 可以提高查询效率 ,缺点:但是会影响增删改效率
truncate table person
--序列不真属于任何一张表,但是可以逻辑和表做绑定
--序列:默认从1开始,依次增加,主要用于给主键赋值使用
--dual 虚表,只是为了补全语法,没有任何意义
--currval 当前 nextval 下一行
create sequence s_person;
select s_person.nextval from dual;
insert into person (pid, pname, address) values (s_person.nextval, '小米', '河南');--插入时中文乱码,
commit;--增删改 提交事务