1.oracle体系结构

--------全局数据库,这里指物理磁盘上的数据库(物理结构,一个真实存在的磁盘目录),一般一台oracle服务器有1个全局数据库,文件占1G多。oracle允许一台

-------- 一台电脑安装多个全局数据库,但是不建议这样做。因为一个全局数据库可以放所有的数据。

-------- 这里与mysql不一样,mysql是随意创建数据库。 一个全局数据库包含N多个数据文件。

--------用户,用户在oracle里面是来隔离数据的,mysql通过数据库为单位隔离数据,而oracle以用户为单位隔离数据。

--------表空间,是逻辑结构,用户的数据存放在表空间上的,表空间的数据是在数据文件上的。表空间可以在逻辑上

-------- 给数据文件划分多个区域,每个区域是一个表空间。数据文件的数据是有多个表空间组成。

--------数据文件,是全局数据库里面一个数据文件(物理结构,一个真实存在的磁盘文件)。一个全局数据库包含N多个数据文件。

--------数据库实例服务(数据库实例),是一个服务进程,用于执行sql命令,将变化更新到数据文件上。

–2.使用oracle存取数据步骤

第1步骤:创建表空间

–创建语法:

create tablespace 表空间名字

datafile ‘磁盘数据文件地址’ size 数据文件大小

autoextend on next 自动增长的大小

–例子

create tablespace itheima91

datafile ‘c:\itheima91.dbf’ size 100m

autoextend on next 10m

第2步骤:创建用户

–创建语法:

create user 用户名 identified by 密码

default tablespace 表空间名字;

–例子

create user ith identified by itheima91

default tablespace itheima91;

–使用新用户登录试一下:结果登录不了,因为权限不够

第3步骤:授权

–语法1

grant 权限1,权限2,… to 用户名;

–语法2

grant 角色1,角色2,… to 用户名;

–角色,一个角色包含多个权限

–oracle系统内置3个就是,connect,resource,dba

-------connect角色,连接到oracle的权限

-------resource角色,操作自己的数据对象(创建自己的表,增删改查里面的数据),不可以操作其他用户数据

-------dba角色,超级管理员角色,当前system就是dba.拥有一切权限

–为了方便,将dba给到用户

grant dba to itheima91;

-------------------------以itheima91/itheima91登录进行如下操作-------------------------------------

select * from session_privs;–查看当前用户所属角色权限列表,dba拥有161个权限

SELECT * FROM USER_ROLE_PRIVS;–查看当前用户的所属角色

3.表的管理create,drop,alter

创建表语法:

语法:

create table 表名(

字段1 数据类型 [default默认值]

字段2 数据类型 [default默认值]

字段n 数据类型 [default默认值]

);

–创建一个person表

create table person(

id number(8) primary key,

name varchar2(100) not null,

gender varchar2(2),

birthday date

);

表删除

–方式1:删除表数据

delete from person;

–方式2:移出表结构

drop table person;

表修改

–增加一个字段

alter table person add (address varchar2(100));

–修改字段名字

alter table person rename column address to address2;

–修改字段数据类型

alter table person modify (address2 varchar2(200));

表的更新(增、删、改)

4数据的管理:delete,update,select,insert into

–删除

delete from person where id=2;

–修改

update person set address2=‘东莞’ where id=1;

–查询

select * from person;

–增加数据

insert into person(id,name,gender,birthday,address2)

values(1,‘张三’,‘男’,to_date(‘2018-01-01’,‘yyyy-MM-dd HH24:mi:ss’),‘广州’);

insert into person

values(2,‘李四’,‘女’,to_date(‘2018-01-01’,‘yyyy-MM-dd HH24:mi:ss’),‘深圳’);

–oracle有事物机制,需要对每条增、删、改数据手动提交事物。

python-Web-数据库-oracle的更多相关文章

  1. 【简说Python WEB】数据库

    目录 [简说Python WEB]数据库 数据库表 docker安装MySQL Flask-SQLAlchemy操纵MySQL数据库 初始化 定义模型 定义关系 数据库的CRUD操作 创建表 inse ...

  2. Python+Pandas 读取Oracle数据库

    Python+Pandas 读取Oracle数据库 import pandas as pd from sqlalchemy import create_engine import cx_Oracle ...

  3. python web开发——django学习(一)第一个连接mysql数据库django网站运行成功

    1.新建一个项目 2.新建一些文件夹方便管理 3.新建一个项目叫message  4.连接数据库 python web开发Django连接mysql 5.在数据库里自动生成django的表  6.运行 ...

  4. 【简说Python WEB】视图函数操作数据库

    目录 [简说Python WEB]视图函数操作数据库 系统环境:Ubuntu 18.04.1 LTS Python使用的是虚拟环境:virutalenv Python的版本:Python 3.6.9 ...

  5. tornado 学习笔记2 Python web主流框架

    2.1 Django 官方网址:https://www.djangoproject.com/ 简介:Django is a high-level Python Web framework that e ...

  6. Python进阶----数据库的基础,关系型数据库与非关系型数据库(No SQL:not only sql),mysql数据库语言基础(增删改查,权限设定)

    day37 一丶Python进阶----数据库的基础,mysql数据库语言基础(增删改查,权限设定) 什么是数据库:    简称:DataBase ---->DB    数据库即存放数据的仓库, ...

  7. 【简说Python WEB】Web应用部署

    目录 [简说Python WEB]Web应用部署 应用层 缓存层 数据层 Gunicorn 的应用 1.安装Gunicorn 2.Gunicorn的启动 Nginx 的应用 1.docker方式部署安 ...

  8. 2020 python web开发就业要求锦集

    郑州 Python程序员 河南三融云合信息技术有限公司 6-8k·12薪 7个工作日内反馈 郑州 1个月前 本科及以上2年以上语言不限年龄不限 微信扫码分享 收藏 Python程序员 河南三融云合信息 ...

  9. 2018年要学习的10大Python Web框架

    通过为开发人员提供应用程序开发结构,框架使开发人员的生活更轻松.他们自动执行通用解决方案,缩短开发时间,并允许开发人员更多地关注应用程序逻辑而不是常规元素. 在本文中,我们分享了我们自己的前十大Pyt ...

  10. Redis的Python实践,以及四中常用应用场景详解——学习董伟明老师的《Python Web开发实践》

    首先,简单介绍:Redis是一个基于内存的键值对存储系统,常用作数据库.缓存和消息代理. 支持:字符串,字典,列表,集合,有序集合,位图(bitmaps),地理位置,HyperLogLog等多种数据结 ...

随机推荐

  1. hdu4612 Warm up[边双连通分量缩点+树的直径]

    给你一个连通图,你可以任意加一条边,最小化桥的数目. 添加一条边,发现在边双内是不会减少桥的.只有在边双与边双之间加边才有效.于是,跑一遍边双并缩点,然后就变成一棵树,这样要加一条非树边,路径上的点( ...

  2. [Luogu] 国王游戏

    https://www.luogu.org/problemnew/show/P1080 按照 a * b 排序 高精度 #include <bits/stdc++.h> using nam ...

  3. MySQL 5.7半同步复制技术

    一.复制架构衍生史 在谈这个特性之前,我们先来看看MySQL的复制架构衍生史. 在2000年,MySQL 3.23.15版本引入了Replication.Replication作为一种准实时同步方式, ...

  4. 生产者和消费者之间的线程通讯wait()

    生产者与消费者,采用notify()唤醒 package com.dwz.concurrency.chapter9; /** * 生产者和消费者之间的通信问题 * 执行wait()之后锁被释放 */ ...

  5. mysql: error while loading shared libraries: libnuma.so

    安装mysql后,执行初始化配置脚本,创建系统自带的数据库和表时报异常: [root@VM_0_12_centos mysql]# scripts/mysql_install_db --basedir ...

  6. Java String和hadoop的Text差异性比较

    Text类似于String,UTF-8编码.采用整型储存长度,最大长度为2GB. 补充编码知识: ASCII码 英语字母标点符号等256个字符,一个字节储存,取值0x00-0x7F; UNICODE编 ...

  7. 01 关于jupyter的环境安装

      jupyter notebook环境安装 一.什么是Jupyter Notebook? 1. 简介 Jupyter Notebook是基于网页的用于交互计算的应用程序.其可被应用于全过程计算:开发 ...

  8. 【sed】进阶

      sed的基本用法已能满足大多数需求,但当需要时,知道这些高级特效的存在及如何使用将提供莫大的帮助!   1. 多行命令         sed编辑器提供三个用于处理多行文本的特殊命令: N:将数据 ...

  9. legend3---11、php前端模块化开发

    legend3---11.php前端模块化开发 一.总结 一句话总结: 把常用的前端块(比如课程列表,比如评论列表)放进模块列表里面,通过外部php变量给数据,可以很好的实现复用和修改 页面调用 @p ...

  10. QT .pro文件中的变量说明

      https://blog.csdn.net/tanou3212/article/details/79942840 TEMPLATE:定义了工程的编译模式 赋值方式为:TEMPLATE=app (1 ...