python-Web-数据库-oracle
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的更多相关文章
- 【简说Python WEB】数据库
目录 [简说Python WEB]数据库 数据库表 docker安装MySQL Flask-SQLAlchemy操纵MySQL数据库 初始化 定义模型 定义关系 数据库的CRUD操作 创建表 inse ...
- Python+Pandas 读取Oracle数据库
Python+Pandas 读取Oracle数据库 import pandas as pd from sqlalchemy import create_engine import cx_Oracle ...
- python web开发——django学习(一)第一个连接mysql数据库django网站运行成功
1.新建一个项目 2.新建一些文件夹方便管理 3.新建一个项目叫message 4.连接数据库 python web开发Django连接mysql 5.在数据库里自动生成django的表 6.运行 ...
- 【简说Python WEB】视图函数操作数据库
目录 [简说Python WEB]视图函数操作数据库 系统环境:Ubuntu 18.04.1 LTS Python使用的是虚拟环境:virutalenv Python的版本:Python 3.6.9 ...
- tornado 学习笔记2 Python web主流框架
2.1 Django 官方网址:https://www.djangoproject.com/ 简介:Django is a high-level Python Web framework that e ...
- Python进阶----数据库的基础,关系型数据库与非关系型数据库(No SQL:not only sql),mysql数据库语言基础(增删改查,权限设定)
day37 一丶Python进阶----数据库的基础,mysql数据库语言基础(增删改查,权限设定) 什么是数据库: 简称:DataBase ---->DB 数据库即存放数据的仓库, ...
- 【简说Python WEB】Web应用部署
目录 [简说Python WEB]Web应用部署 应用层 缓存层 数据层 Gunicorn 的应用 1.安装Gunicorn 2.Gunicorn的启动 Nginx 的应用 1.docker方式部署安 ...
- 2020 python web开发就业要求锦集
郑州 Python程序员 河南三融云合信息技术有限公司 6-8k·12薪 7个工作日内反馈 郑州 1个月前 本科及以上2年以上语言不限年龄不限 微信扫码分享 收藏 Python程序员 河南三融云合信息 ...
- 2018年要学习的10大Python Web框架
通过为开发人员提供应用程序开发结构,框架使开发人员的生活更轻松.他们自动执行通用解决方案,缩短开发时间,并允许开发人员更多地关注应用程序逻辑而不是常规元素. 在本文中,我们分享了我们自己的前十大Pyt ...
- Redis的Python实践,以及四中常用应用场景详解——学习董伟明老师的《Python Web开发实践》
首先,简单介绍:Redis是一个基于内存的键值对存储系统,常用作数据库.缓存和消息代理. 支持:字符串,字典,列表,集合,有序集合,位图(bitmaps),地理位置,HyperLogLog等多种数据结 ...
随机推荐
- python改成了python3的版本,那么这时候yum就出问题了
既然把默认python改成了python3的版本,那么这时候yum就出问题了,因为yum貌似不支持python3,开发了这个命令的老哥也不打算继续写支持python3的版本了,所以,如果和python ...
- Linux文件系统之目录管理mkdir命令
mkdir命令 mkdir命令mkdir命令简介mkdir命令用来创建指定的名称的空目录,要求创建用户在当前目录具有权限,并且制定的目录名不能是当前目录中已有的目录. 命令格式mkdir [选项] [ ...
- BZOJ5017 [Snoi2017]炸弹[线段树优化建边+scc缩点+DAG上DP/线性递推]
方法一: 朴素思路:果断建图,每次二分出一个区间然后要向这个区间每个点连有向边,然后一个环的话是可以互相引爆的,缩点之后就是一个DAG,求每个点出发有多少可达点. 然后注意两个问题: 上述建边显然$n ...
- centos 7 + Net Core 3.0 + Docker 配置说明(不含https)
1.新建Core3.0项目 1.1 使用visual studio 2019 创建一个名为core3.web.httpapi 的"ASP.NET Core Web应用程序" 1.2 ...
- Eclipse中给jar包导入JavaDoc注释文档的方法
原文链接:http://www.apkbus.com/android-124056-1-1.html 第一步:将jar加入到Referenced Libraries 右键点击jar --> 选择 ...
- FreeRTOS任务优先级说明
https://www.cnblogs.com/yangguang-it/p/7156445.html#4217682 下面对 FreeRTOS 优先级相关的几个重要知识点进行下说明,这些知识点在以后 ...
- 题解 [51nod1607] 卷积和
题面 解析 神仙LZF随机找出的毒瘤题. 一开始读题过于草率导致\(naive\)了. step 1 看上去特别像数位DP(实际上也有一点). 先预处理出有\(i\)位的数(最高位不为\(0\))的数 ...
- git lfs setpu(4)
reference: https://packagecloud.io/github/git-lfs/installhttps://zzz.buzz/zh/2016/04/19/the-guide-to ...
- MIME协议(二)
MIME协议 RFC822文档定义了邮件内容的主体结构和各种邮件头字段的详细细节,但是,它没有定义邮件体的格式,RFC822文档定义的邮件体部分通常都只能用于表述一段普通的文本,而无法表达出图片.声音 ...
- Java基础_通过模拟售票情景解决线程不安全问题
用代码来模拟铁路售票系统,实现通过四个售票点发售某日某次列车的100张车票,一个售票点用一个线程表示 第一种方法:通过继承Thread类的方法创建线程 package com.Gary1; publi ...