数据库基础及用户管理授权

数据库概念

关系型数据库 数据结构二维表格 库 -> 表 -> 列(字段):用来描述对象的的一个属性;行:用来描述一个对象的信息

mysql(5.7/8.0) maridb ocracle postgresql sqlserver(windows)

RDB阿里云数据库 高斯(华为的) TDBA(腾讯的)ocenabase(阿里的)人大金仓 达梦

非关系型数据库

缓存型的 redis memcache

文档型的 mongoDB

搜索型的 elasticserch

时序型的 prometheus(监控数据)

常见操作系统 欧拉,乌班图apt安装deb包,

键值对 k/y key/value 键/值

sql语句 DDL创建数据库对象 DML内容 DQL搜索 DCL控制语句

DDL 用于创建数据库的对象:库 表 索引

create database 库名;

create table 表明 (字段名1 数据类型 【字段属性】,【字段属性】 . . . .);

show databases;查看库

use 库名;

show tables;

show tables from 库名;

desc 表名;查表得结构

DML 用于管理表数据

insert into 表名 (字段1,字段2,. . . . )values(对应字段1的值,字段2的值, . . . . );

insert into 表名 values (按照字段顺序的所有字段的值);

delete from 表名 where 条件表达式;

update 表明 set 字段=值 ,. . . . where 条件表达式;

DQL 用于根据条件查询表数据

select 字段1,字段2 ,. . .  from 表名 where 条件表达式;

select * from 表明 limite N;N查看表前几行

select * from 表明 limite N,M;查看N行之后的多少行到M前那行(不包含第N行)

select * from 表明/G;按竖向结构查看

需改表结构 alter table 旧表名 rename 新表名;

增加表字段 alter table 表明 add 新字段 数据类型 字段属性;

修改表字段名 alter table 表明 cahnge 旧字段名 新子段名 字段属性;

删除字段 alter table 表名 drop 字段名;

 char和varchar的区别 char大小固定值,小的往后空格,varchar可变的最小为1

案例扩展
use school;
create table if not exists info (
id int(4) zerofill primary key auto_increment,     #指定主键的第二种方式
name varchar(10) not null,
cardid int(18) not null unique key,
hobby varchar(50));
------------------------------------------------------------------------------------------------------------------------
#if not exists:表示检测要创建的表是否已存在,如果不存在就继续创建
#int(4) zerofill:表示若数值不满4位数,则前面用"0"填充,例0001
#auto_increment:表示此字段为自增长字段,即每条记录自动递增1,默认从1开始递增;
自增长字段数据不可以重复;自增长字段必须是主键;如添加的记录数据没有指定此字段的值且添加失败也会自动递增一次
#unique key:表示此字段唯一键约束,此字段数据不可以重复:一张表中只能有一个主键,但是一张表中可以有多个唯一键
#not null:表示此字段不允许为NULL

主键字段:不能为空,一个表中只能有一个主键,所有字段中主键字段唯一

唯一键:可以空,一个表可有多个唯一键。但一个表内不能重复

自增长命令执行失败id会自增一边

create table if not exists ky27 (id int(4) zerofill primary key auto _increment,name char(10) not null default 'nobody',phone int not null,sex char(4));

insert into ky27 (name,phone,sex) values ('zhangsan',123456789,'男');

alter table ky27 add unique key(phone);

克隆表

法一create table test1(新表) like test2(旧表);

insert into test1 select * from test2 ;

法二

create table test2 (select * from test2);

会出现新旧表结构不一样

清空表法一

delete from  test1 ;用delete删除时自增长字段仍然会按照星空前的顺序自增,一条一条删,清空效率慢

法二 truncate table test1;直接重建表,清空效率快,新表自增长从1开始

创建临时表(当前会话当中)

show tables看不到表名

create temproary  table test1 (id int,name char(10),sex char(4))

mysql 六大常见约束

主键约束 primay key

唯一键约束 unique key

非空约束 not null

默认值约束 default

自增约束 auto_increment

外键约束 foreign key 两个表关联表的的内键与另一个表的外键捆绑。

外键的定义:如果同一个属性字段X在表一中是主键,而在表二中不是主键,则字段X称为表二的外键。

创建主表 profession

create table prof (pid int, pname char(10));

create table student (id int, name varchar(10),age int, proid int);

pid 与proid相关

alter table prof add primary key(pid);

desc prof;

alter table student add constraint FK_pro_foreign key (proid) references prof (pid);插入数据时必须先给主表插入数据insert into prof values (1,'大数据')

insert into student values (1,'yht',26,1);

外键表删delete from student

查看表结构 show create table student\G更详细。

alter table student drop foreign key FK_PRO;删除表结构

DCL

数据库用户管理

create user '用户名'@'源地址' identified by '密码';(源地址为localhost/%)

select user,local,authentcation_string form mysql.user;

查看用户

'root'@'localhost'默认用的localhost登录

'root'@'%' 不同ip链接用户

新建用户 create user 'zhangsan'@'localhost' identified by 'abc123';

select

 password('123456');

create user 'lisi'@''localhost’

select user()查看当前登录用户

rename user 'lisi'@'localhost' to 'wangwu'@'localhost'

drop user 'wangwu'@'localhost';

set password = password('123456');该当前用户密码

set password for 'zhangsan'@'localhost' =password('abc123')只等用户修改密码

寻找root密码

vim /etc/my.cnf 可以在【mysqld】下添加skip-grant-tables

修改

 

重启mysql

systemctl restart mysql

mysql

uae mysql

desc user

update user set authenticaton_string=paassword('abc123') where user='root' and host='localhost';

flush privileges;刷新

改完后

还原修改配置文件

vim /etc/my.cnf

 刷新数据库

数据库的用户授权

grant 权限1,权限2,. . . . on 库名.表明 to '用户名'@'源地址' [identified by '密码']

授权用户权限是 all privilege。这个all privilege 都有哪些权限?all privilege 权限如下

insert (插入数据)select (查询数据)

update (更新表的数据)

delete (删除表中数据)

create (创建库,表)

(删除库,表)drop

refernces

index(建立索引)alter(更改表属性)

create temp orary tableslock tables (锁表)

execute

create view (创建视图(显示视图)show viewcreate routine (创建存储过程alter routine(修改存储过程)event (事件)

trigger on(创建触发器)

grant select,insert,create on kgc.* to 'lisi'@'%' identified by '123456';

flush privileges;

mysql -ulisi -p123456 -h 192.168.232.105 -p 3306

查看用户自己有什么权限

show grants for 'lisi'@'%'

grant all privileges on *.* to 'zhagnsan'@'localhost';

撤销权限

revoke all on *.* from 'zhangsan'@'localhost';

删除用户

drop user 'zhangsan'@'localhost';

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
数据库设计报告 课题:超市会员管理系统 专业:通信工程 学号: 姓名: 小组成员: 指导老师: 完成日期:2013/7/1 摘要 本会员超市会员管理系统实际的业务流程为背景而设计的,后台数据库的设计用 2008,前台用来开发。本超市会员信息管理系统已超市会员信息的管理为核心,兼有各 种统计、查询、添加、修改和删除等功能,如对货物流量和消费人群的查询,对会员信 息的查询等。本系统利用视图、触发器,存储过程可以对数据库中的内容实现各种级联 修改与信息的实时更新,可以化繁为简,提高效率,避免大量的重复性的工作。 整个系统由会员信息管理模块、会员优惠度模块、购物信息模块和商品信息模块组成。 整个系统能独立运行,实现现实中的功能。 关键字: 会员信息管理 后台数据库 前台 前言 随着全球信息时代的到来,信息技术对社会发展和经济增长的作用愈来愈明显。商业 企业有效地采用信息技术手段,加速了商业领域的发展与进步,信息化建设已经成为当 前商业企业提高企业管理水平,谋求生存,参与市场竞争的必由之路。 经济的发展,社会的进步,计算机越来越深入到我们日常的工作学习及生活中,成为 我们日常生活中不可缺少的辅助工具。随着科学技术的不断提高,计算机科学日渐成熟, 其强大的功能已被人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作 用。它更加的深入到日常工作和生活的方方面面,比如文字处理、信息管理、辅助设计 、图形图像处理、教育培训以及游戏娱乐等。各行各业的人们无须经过特别的训练就能 够使用电脑完成许许多多复杂的工作。 会员管理系统用计算机管理会员的基本信息,以及对会员信息的编辑、查询等一系列 动作,它是一种计算机应用技术的创新。在计算机还未普及之前组织会员管理都是由工作 人员人工书写,查阅的方式来操作的。现在一般的会员管理都采用计算机智能化管理,采 用计算机作为工具的实用的计算机智能化管理程序来帮助管理员进行更有效的进行会员 管理工作。 1绪论 1.1 系统的背景 1.1.1 系统的提出 随着计算机软硬件技术的迅速发展,信息化己成为现代企业的一个重要标志和衡量企 业综合实力的重要标准。信息化建设悄然地改变着国内广大中小企业的生存和运营模式 。当今市场蓬勃发展,竞争激烈,各商家无不推出各种活动,务求争取更多忠实客户, 而会员管理系统也成为商家争取客户的必选。会员管理信息系统正在越来越多的被各种 企业应用于消费管理领域。随着众多企业的管理者对管理信息系统的重视程度的提高, 会员管理信息系统的管理功能也在不断的增强,发挥的作用越来越大。从开始的只能进 行数据的浏览、添加、修改等简单操作的管理信息系统逐步向着超大数量的数据存储、 数据的精确计算、积分换礼、信息更新和发布、会员之间交流、报表的自动化生成、人 性化的友好界面操作以及牢固的系统架构和安全的数据交换等方向发展,使企业员工提 高工作效率以及规范企业的多层次全方位管理,在企业与外界之间,它可帮助企业实现 电子商务模式,以此拓宽交流范围,缩短交流的时间、丰富交流方式,并可协助维护企 业与社会之间良好的关系。 1.1.2 系统的意义 网络管理可以实现信息资源共享,在网上发布会员信息,使会员在网上可以查看到自 己最新的会员积分以及商家发布的各种有礼兑换活动。通过此项目的研究与实践,使网 络管理更能为会员提供一个方便的自我管理环境,使会员能更好的对自己购物所获得的 积分的管理以及能清楚的了解自己购物的商品列表和兑换礼物情况。 商家可以利用系统对会员信息进行管理,例如对会员信息的添加、修改、查询以及积 分查询统计等。管理上更加规范,不再受时间和地理位置的限制,很大程度上提高了会 员管理的效率,不再像过去的手工操作浪费时间、人力以及物力,也无形当中提高了商 家对会员管理的效率,达到双赢的目的。 1.2 系统研究的目标 建立一个基于网络平台的,符合当代管理理念的,具有现代会员管理特色、综合会员卡 积分的新型会员管理模式。 1.3 技术实现手段 1.3.1 简介 是创建动态网页的新技术,它继承了公司的两项主要技术,即和。它不仅可以生成动 态页面,并且提供了大量易用并可复用的预定义控件,使开发变得更加快捷。 是建立在公共语言运行库上的编程框架,相对于而言,提供了更强的性能、更方便的 工具支持、更好的平台支持和灵活性。在进行用户界面开发和基础程序结构生成时具有 很多优势。首先,是一个已编译的、基于的开发环境,利用整个框架,开发人员可以方 便的进行程序开发;其次,在中利用框架中的的强大功能,可以高效便捷的访问数据库 ;再次,框架和中提供了默认授权和验证方案,可以根据需要方便地移除、添加或者替 换这些方案。因而它会逐渐成为上的主流开发工具。 1.3.2 简介 2008数据库管理系统具有以下主要特点。 (1) 丰富的图形
第一部分 Oracle SQL*PLUS基础 23 第一章 Oracle数据库基础 23 §1.1 理解关系数据库系统(RDBMS) 23 §1.1.1 关系模型 23 §1.1.2 Codd十二法则 24 §1.2 关系数据库系统(RDBMS)的组成 24 §1.2.1 RDBMS 内核 24 §1.2.2 数据字典概念 25 §1.3 SQL、SQL*Plus及 PL/SQL 25 §1.3.1 SQL和SQL*PLUS的差别 25 §1.3.2 PL/SQL语言 27 §1.4 登录到SQL*PLUS 27 §1.4.1 UNIX环境 27 §1.4.2 Windows NT和WINDOWS/2000环境 29 §1.5 常用SQL*PLUS 附加命令简介 32 §1.5.1 登录到SQL*PLUS 32 §1.5.2 EXIT和QUIT 32 §1.5.3 DESCRIBE(显示表、视图结构) 33 §1.5.4 LIST(列出)命令 33 §1.5.5 Change(替换字符串)命令 34 §1.5.6 Append(追加字符串)命令 34 §1.5.7 Save保存当前缓冲区命令到文件 35 §1.5.8 GET将命令文件读到缓冲区 35 §1.5.9 SPOOL将信息记录到文件中 36 §1.5.10 再运行当前缓冲区的命令 36 §1.6 常用数据字典简介 37 §1.7 ORACLE数据类型 38 §1.8 SQL 语句基础 44 §1.8.1 SQL语句所用符号 44 §1.8.2 简单select 查询 45 §1.9 伪列及伪表 46 §1.10 使用SQL Worksheet工作 46 第二章 查询基础 50 §2.1 SELECT语句 50 §2.2 SQL中的单记录函数 50 §2.2.1 单记录字符函数 50 §2.2.2 单记录数字函数 56 §2.2.3 单记录日期函数 62 §2.2.4 单记录转换函数 65 §2.2.5 其它的单记录函数 68 §2.3 SQL中的组函数 73 §2.3.1 多记录组函数 73 §2.3.2 带 GROUP BY 的计算 75 §2.3.3 用 HAVING 来限制分组的计算 75 §2.4 控制和格式化输出 76 §2.4.1 用 ORDER BY 子句来对结果进行排序 76 §2.4.2 用 BREAK 命令 来对结果进行排列 76 §2.4.3 用 COMPUTE 命令对结果进行格式化 79 §2.5 配置会话环境 82 §2.5.1 ARRAYSIZE(取回的行数) 82 §2.5.2 AUTOCOMMIT(自动提交) 83 §2.5.3 LINESIZE(行显示宽度) 83 §2.5.4 LONG(长类型显示字节数) 83 §2.5.5 PAGESIZE(页行数) 83 §2.5.6 PAUSE(暂停) 84 §2.5.7 SPACE(列间空格) 84 §2.5.8 Termout (启/停屏幕显示) 84 §2.5.9 ECHO (启/停命令显示) 84 §2.5.10 TRANSACTION (启动事务) 85 §2.5.11 SHOW ALL(列出所有参数) 85 §2.6 格式化输出 87 §2.6.1 一般数据的格式化输出 87 §2.6.2 日期的格式化输出 88 §2.7 加标题 89 §2.8 建立简单报告 90 §2.9 输入变量 91 第三章 表及索引的定义操作 94 §3.1 建立表结构 94 §3.1.1 建立表结构命令 94 §3.1.2 建立表结构例子 96 §3.1.3 建立临时表结构 97 §3.3 修改表结构 98 §3.3.1 修改表结构命令 98 §3.3.2 修改表结构例子 99 §3.3.3 删除表结构 101 §3.3.4 使用CHECK作限制约束 101 §3.3.5 使用UNRECOVERABLE创建表 102 §3.3.6 将表移动到新的数据段或新的表空间 102 §3.3.7 手工分配表的存储空间 104 §3.3.8 标记不使用的列和删除不使用的列 104 §3.3 主键 106 §3.3.1 创建主键 106 §3.3.2 改变主键 109 §3.3.3 删除主键 109 §3.4 外部键 110 §3.4.1 建立外部键 110 §3.4.2 修改外部键 112 §3.4.3 删除外部键 112 §3.5 索引 112 §3.5.1 建立索引 112 §3.5.2 修改索引 114 §3.5.3 删除索引 115 §3.6 新索引类型 115 §3.6.1 基于函数的索引 115 §3.6.2 反向键索引 117 §3.6.3 索引组织表 117 §3.7 抽象数据类型的使用 118 §3.8 大数据类型的使用 119 §3.8.1 可用数据类型 119 §3.8.2 为LOB数据类型指定存储 120 §3.8.3 操作和检索LOB数据 121 §3.9 表和索引有关的数据字典 124 §3.9.1 表和索引数据字典 124 §3.9.2 数据字典查询例子 125 第四章 视图、同义词和序列 128 §4.1 视图 128 §4.1.1 使用视图来修改表中数据 128 §4.1.2 创建一个新视图 128 §4.1.3 删除一个视图 130 §4.1.4 改变视图 131 §4.2 实体视图(MATERIALIZED VIEW) 131 §4.2.1 创建实体视图 131 §4.2.2 创建实体视图日志 137 §4.2.3 修改实体视图 139 §4.2.4 修改实体视图日志 141 §4.2.45 实体视图完整例子 142 §4.3 序号(sequence) 146 §4.3.1 建立序号 146 §4.3.2 修改序号 147 §4.3.3 使用序号 147 §4.3.4 删除序号 147 §4.4 同义词 148 §4.4.1 建立同义词 148 §4.4.2 删除同义词 149 §4.5 视图、同义词和序列有关的数据字典 149 第五章 簇与分区 150 §5.1 簇( cluster ) 150 §5.1.0 簇概念 150 §5.1.1 建立簇 152 §5.1.2 改变簇 155 §5.1.3 删除簇 155 §5.1.4 删除簇索引 156 §5.1.5 收集簇信息 156 §5.2 分区 158 §5.2.1 分区的优点 158 §5.2.2 分区的方法 159 §5.2.3 创建表的分区 159 §5.2.3 创建索引的分区 164 §5.2.4 维护表分区和索引分区 167 §5.3 簇与分区有关的数据字典 169 §5.3.1 分区、簇数据字典列表 169 §5.3.2 基本的分区、簇信息查询 169 第六章 使用SQL 进行数据操作 170 §6.1 INSERT操作 170 §6.1.1 用文字插入操作 171 §6.1.2 用子查询插入操作 171 §6.2 UPDATE操作 172 §6.2.1 用文字更新操作 173 §6.2.2 用查询更新操作 173 §6.2.3 用相关子查询更新操作 174 §6.3 DETELE操作 174 §6.3.1 用delete删除全部记录的操作 174 §6.3.2 用delete有条件删除部分记录 175 §6.3.3 用delete分段删除大量记录 175 §6.4 insert、delete及update 的提交和撤消 176 §6.4.1 自动提交的设置 176 §6.4.2 保留点和撤消 177 第七章 复杂查询语句的使用 180 §7.1 复杂查询语句的使用 180 §7.1.1 相关子查询 180 §7.1.2 外连接 180 §7.1.3 自我连接 181 §7.1.4 UNION,INTERSECT及MINUS 182 §7.2 创建复杂的视图 183 §7.2.1 分组视图 183 §7.2.2 合计视图 183 §7.2.3 组合视图 184 §7.3 家族树 184 §7.3.1 排除单一体和分枝 184 §7.3.2 遍历至根 185 §7.4 在from 中使用视图 187 第八章 一些高级的用法 188 §8.1 关于DECODE 188 §8.1.1 DECODE 中的if-then-else逻辑 188 §8.1.2 DECODE 的简单例子 188 §8.1.3 DECODE实现表的转置 189 §8.2 关于访问远程数据库 192 §8.2.1 数据库链接 192 §8.2.2 使用同义词获得本地透明 193 §8.2.3 在视图中使用user伪列 194 §8.2.4 使用COPY功能 195 §8.2.5 管理Oracle名称服务器 196 §8.3 关于上下文的使用 196 §8.3.1 设置上下文选项 196 §8.3.2 为上下文查询设置表 197 §8.3.3 优化文本索引 199 §8.4 关于维数(DIMENSION) 199 §8.4.1 CREATE DIMENSION语法 200 §8.4.2 创建维的例子 201 第九章 安全管理 203 §9.1 CREATE USER 命令 203 §9.2 建立用户 204 §9.2.1 外部验证(Authenticated )用户 204 §9.2.2 全局(Globally)验证用户-企业验证 204 §9.3 ALTER USER 命令 205 §9.4 DROP USER 命令 205 §9.5 GRANT 命令与REVOKE 命令 206 §9.5.1 GRANT 命令 206 §9.5.2 REVOKE 命令 206 §9.6 权限和角色 207 §9.6.1 建立角色 207 §9.6.2 给角色授权 208 §9.6.3 授权角色给用户 209 §9.7 有关的数据字典 209 §9.7.1 与用户、角色与权限有关的数据字典 209 §9.7.2 查询数据字典信息 209 第十章 其它一些常见问题及技巧 212 §10.1 一些常见问题 212 §10.1.1 Oracle与2000年问题 212 §10.1.2 如何正确插入日期数据 213 §10.1.3 在查询中只返回满足条件的部分记录 214 §10.1.4 快速大量删除数据Truncate 215 §10.1.5 Rowid的使用 215 §10.1.6 在查询中不让记录被更新 217 §10.1.7 EXCEPTIONS(违反完整性)问题 217 §10.1.8 Not in和Not Exists 218 §10.1.9 关于 COPY命令 218 §10.1.10 列值为NULL情形的处理 219 §10.1.11 使用 product_user_file来限制用户使用产品 220 §10.2 常用技巧 221 §10.2.1 long 类型的查询 222 §10.2.2 如何确定执行时间 222 §10.2.3 如何终止用户会话 222 §10.2.4 用TRANSLATE对数据加密和解密 224 §10.2.5 如何用查询来修改数据 225 §10.2.6 如何产生创建用户的脚本 226 §10.2.7 如何产生创建表结构的脚本 227 §10.2.8 如何产生创建视图的脚本 229 §10.2.9 如何产生创建序号的脚本 229 §10.2.10 如何为用户创建公共同义词 229 第二部分 Oracle PL/SQL基础 231 第十一章 PL/SQL 程序设计简介 231 §11.1 概述 231 §11.2 SQL与PL/SQL 231 §11.2.1 什么是PL/SQL? 231 §11.2.1 PL/SQL的好处 232 §11.2.1.1 有利于客户/服务器环境应用的运行 232 §11.2.1.2 适合于客户环境 232 §11.2.1.3 客户及服务器端的好处 232 §11.2.2 PL/SQL 可用的SQL语句 233 §11.3 运行PL/SQL程序 233 §11.4 PL/SQL内置包 234 第十二章PL/SQL 块结构和组成元素 235 §12.1 PL/SQL结构 235 §12.2 PL/SQL块 236 §12.3 标识符 236 §12.4 PL/SQL 变量类型 237 §12.4.1 变量类型 237 §12.4.2 复合类型(记录和表) 238 §12.4.3 使用%ROWTYPE 240 §12.4.4 LOB类型 240 §12.4.5 用户定义的子类型 241 §12.4.6 数据类型的转换 243 §12.5 运算符和表达式(数据定义) 243 §12.5.1 关系运算符 243 §12.5.2 一般运算符 244 §12.5.3 逻辑运算符 244 §12.6 变量赋值 245 §12.6.1 字符及数字运算特点 245 §12.6.2 Boolean 赋值 245 §12.6.3 数据库赋值 245 §12.6.4 可转换的类型赋值 246 §12.7 变量作用范围以可见性 248 §12.8 注释 248 §12.9 简单例子 249 §12.9.1 简单数据插入例子 249 §12.9.2 简单数据删除例子 249 第十三章PL/SQL 处理流程 250 §13.1 条件语句 250 §13.2 循环 251 §13.3 标号和GOTO 254 §13.4 NULL 语句 255 第十四章 光标的使用 255 §14.1 光标概念 255 §14.1.1 处理显式光标 255 §14.1.2 处理隐式光标 257 §14.2 光标循环 258 §14.2.1 简单循环 258 §14.2.2 WHILE循环 259 §14.2.3 光标 FOR 循环 260 §14.2.4 关于NO_DATA_FOUND和%NOTFOUND 260 §14.2.5 SELECT FOR UPDATE 光标 261 §14.3 光标变量 262 §14.3.1 声明光标变量 262 §14.3.2 为光标变量分配存储空间 262 §14.3.3 打开光标变量 262 §14.3.4 关闭光标变量 262 §14.3.5 光标变量例子 263 §14.3.6 光标变量 265 第十五章 错误处理 267 §15.1 异常处理概念 267 §15.1.1 预定义的异常处理 267 §15.1.2 触发异常情态 268 §15.1.3 处理异常情态 269 §15.1.4 用户定义的异常处理 270 §15.2 异常情态传播 271 §15.2.1 在执行部分引发异常情态 271 §15.2.2 在声明部分引发异常情态 272 §15.3 异常处理编程 273 §15.4 在 PL/SQL 中使用 sqlcode,sqlerrm 273 第十六章 存储过程和函数 276 §16.1 引言 276 §16.2 存储过程 276 §16.2.1 创建过程 276 §16.2.2 使用过程 278 §16.2.3 开发存储过程步骤 279 §16.2.3.1 编辑存储过程源码 279 §16.2.3.2 对存储过程程序进行解释 279 §16.2.3.3 调试源码直到正确 279 §16.2.3.4 授权执行权给相关的用户或角色 279 §16.2.4 与存储过程相关数据字典 280 §16.3 创建函数 281 §16.4 过程和函数中的例外处理 282 §16.4.1 使用系统定义的例外处理 282 §16.4.1.1 没有例外处理的缺点 283 §16.4.1.2 使用预定义的例外处理 283 §16.4.2 使用用户定义的例外处理+ 286 §16.4.2.1 定义的用户例外处理 286 §16.4.2.2 使用户EXCEPTION_INIT处理 286 §16.4.2.3 使用户raise_application_error处理 286 第十七章 创建包和使用包 287 §17.1 引言 287 §17.2 包的定义 288 §17.3 包的开发步骤 289 §17.4 包的头部说明 289 §17.5 包体的说明 290 §17.6 删除过程、函数和包 293 §17.7 包的管理 293 §17.7.1 包有关的数据字典 293 §17.7.2 包中无效对象的查询和编译 294 §17.7.3 包源代码的导出 296 第十八章 触发器 297 §18.1 触发器类型 297 §18.1.1 DML触发器 297 §18.1.2 替代触发器 298 §18.1.3 系统触发器 298 §18.2 创建触发器 298 §18.2.1 创建DML触发器 299 §18.2.2 创建替代(Instead_of)触发器 300 §18.2.3 创建系统触发器 300 §18.2.4 触发器触发次序 302 §18.2.5 使用触发器谓词 302 §18.3 删除和使能触发器 303 §18.4 创建触发器的限制 304 §18.5 变异表 305 §18.5.1 变异表典型例子 307 §18.5.2 变异表错误的处理 308 §18.6 触发器数据字典与管理 309 §18.6.1 触发器数据字典 309 §18.6.2 无效触发器的编译 310 第十九章 外部存储过程 311 §19.1 什么是外部例程 311 §19.2 C外部例程 311 §19.2.1 调用步骤 312 §19.2.2 参数映射( 转换) 317 第二十章 会话间通信 319 §20.1 DBMS_PIPE 319 §20.1.1 发送消息 319 §20.1.2 接收消息 320 §20.1.3 示例 321 §20.2 DBMS_ALERT 340 §20.2.1 使用警告 341 §20.2.2 警告所用的各个过程 341 §20.2.3 警告例子 342 §20.3 DBMS_PIPE 和 DBMS_ALERT 343 第二十一章 数据库作业和文件I/O 344 §21.1 数据库作业 344 §21.1.1后台进程 344 §21.1.2运行作业 344 §21.1.3失效作业 346 §21.1.4删除作业 347 §21.1.5修改作业参数 348 §21.1.6与作业参数有关数据字典 350 §21.2 文件I/O 350 §21.2.1 安全性 351 §21.2.2 打开和关闭文件 351 §21.2.3文件输出 353 §21.2.3文件输入 354 §21.2.4文件操作例子 354 第二十二章 在PL/SQL 使用SQL语句 355 §22.1在PL/SQL 使用DML语句 355 §22.2 伪列 357 §22.3 GRANT、REVOKE 和权限 358 §22.3.1 对象和系统权限 358 §22.3.2 GRANT和REVOKE命令语法 358 §22.4 事务控制 359 §22.4.1 COMMIT 和 ROLLBACK 359 §22.4.2 保留点 SAVEPOINT 360 §22.5 在PL/SQL中使用SQL函数 361 §22.5.1 错误处理函数 362 §22.5.2 数字函数 362 第二十三章 PL/SQL程序的测试和调试 363 §23.1 问题诊断 363 §23.1.1 调试指南 363 §23.1.2 显示在编译产生的错误 363 §23.2 插入测试表 364 §23.3 DBMS_OUTPUT的使用 364 §23.4 PL/SQL调试器 365 §23.4.1 Procedure Builder调试器 365 §23.4.2 SQL-Station调试器 366 §23.5 程序设计方法 366 §23.5.1 模块化程序设计 366 §23.5.2 自顶向下设计 366 §23.5.3 数据抽象 366 第二十四章 性能及其它问题 367 §24.1共享池 367 §24.1.1 共享池工作原理 367 §24.1.2 估计共享池大小 368 §24.1.3 将PL/SQL 驻留在共享池中 369 §24.2 SQL 语句调整 370 §24.3 网络问题 373 §24.4 PL/SQL wrap(转换器) 373 §24.4.1 运行 wrap实用程序 373 §24.4.2 输入和输出文件 374 §24.5 DBMS_OUTPUT的使用 374 第二十五章 对象类型 376 §25.1 对象类型定义 376 §25.1.1 定义对象类型头 376 §25.1.2 定义对象类型体 376 §25.1.3 定义对象类型例子 377 §25.1.4 初始化对象类型 378 §25.1.5 使用对象类型 379 §25.2 对象类型修改 381 §25.3 对象类型删除 381 第二十六章 动态PL/SQL简介 383 §26.1 概述 383 §26.1.1 静态SQL和动态SQL 383 §26.1.2 用DBMS_SQL 包实现动态 383 §26.1.3 用本地动态SQL实现动态 385 §26.2 使用DBMS_SQL进行动态编程 385 §26.2.1 执行DML、DDL及Alter session语句 385 §26.2.2 示例 388 §26.2.3 执行DDL 语句 389 §26.2.4 执行PL/SQL 块 390 §26.4 本地动态SQL 391 §26.4.1使用EXECUTE IMMEDIATE语句 391 §26.4.2向后兼容情况 392 §26.4.3指定参数模式 393 第二十七章 LOB和DBMS_LOB包简介 394 §27.1 LOB类型一般使用 394 §27.1.1 LOB类型存储 395 §27.1.2 临时LOB类型 395 §27.1.3 LOB类型的接口 396 §27.2 一般LOB表与数据加载 396 §27.2.1 建立包含LOB的表 396 §27.2.2 用EMPTY_CLOB或EMPTY_BLOB插入LOB 398 §27.2.3 一般的LOB插入 399 §27.3 内部LOB和DBMS_LOB的使用 399 §27.3.1 APPEND过程 400 §27.3.2 CLOSE过程 401 §27.3.3 COMPARE函数 401 §27.3.4 COPY过程 403 §27.3.5 ERASE过程 405 §27.3.6 GETCHUNKSIZE函数 406 §27.3.7 GETLENGTH函数 407 §27.3.8 INSTR函数 408 §27.3.9 READ过程 409 §27.3.10 SUBSTR函数 410 §27.3.11 WRITE过程 411 §27.3.12 WRITEAPPEND过程 412 §27.4临时LOB 413 §27.4.1 建立临时LOB 413 §27.4.2 查看临时LOB 414 §27.4.3 释放临时LOB 414 §27.4.4 从BFILE中加载临时LOB 415 §27.4.5 查看临时LOB是否打开 415 §27.4.6 显示临时LOB数据 416 §27.4.7 从临时LOB读数据 417 §27.4.8 从临时LOB读部分数据 418 §27.4.9 比较两个临时LOB数据 419 §27.4.10 查看临时LOB模式的存在 420 §27.4.11 得到临时LOB的长度 421 §27.4.12 拷贝部分临时LOB数据 421 §27.4.13 为临时LOB拷贝位置 422 §27.4.14 加临时LOB到另外的LOB 423 §27.4.15 写追加到临时LOB 424 §27.4.16 写数据到临时LOB 424 §27.4.17 修理临时LOB数据 425 §27.4.18 删除临时LOB数据 426 §27.5外部LOB (BFILE) 426 §27.5.1 BFILE目录指定 426 §27.5.2 建立包括BFILE列的表 427 §27.5.3 用BFILENAME()插入数据 428 §27.5.4 从另外表选择BFILE插入数据 429 §27.5.5 用初始化BFILE位置来插入数据BFILE行 429 §27.5.6 动态加载数据BFILE的表 429 §27.5.7 用BFILE数据来加载LOB数据 430 §27.5.8 用FILEOPEN打开BFILE 431 §27.5.9 用OPEN打开BFILE 431 §27.5.10 用FILEISOPEN看BFILE是否打开 431 §27.5.11 用ISOPEN看BFILE是否打开 432 §27.5.12 显示BFILE 432 §27.5.13 从BFILE中读数据 433 §27.5.14 读部分BFILE 433 §27.5.15 比较BFILE 434 §27.5.16 判断BFILE是否存在模式 434 §27.5.17 判断BFILE是否存在 435 §27.5.18 得到BFILE长度 435 §27.5.19 拷贝BFILE的LOB位置 436 §27.5.20 得到目录别名和文件名字 436 §27.5.21 用初始化BFILE位置更新BFILE 437 §27.5.22 用FILECLOSE关闭BFILE 437 §27.5.23 用CLOSE关闭BFILE 437 §27.5.24 用CLOSEALL关闭所有BFILE 438 §27.5.25 用DELETE等删除BFILE数据 438 §27.6 使用SQL*loader加载LOB 438 §27.6.1 加载图象和文本文件 438 §27.6.2 加载文本文件 439 第二十八章 PL/SQL编程技巧 442 §28.1用触发器实现日期格式的自动设置 442 §28.2如何避免TOO_MANY_ROWS错误 443 §28.3如何解决TOO_MANY_ROWS问题 446 §28.4如何在PL/SQL中使用数组 447 §28.5如何使用触发器完成数据复制 448 §28.6在PL/SQL中实现Truncate 449 §28.7如何导出存储过程、触发器的代码 450 附录A:SQL及SQL*PLUS 命令参考 459

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值