create_trigger__linux命令中文解释.html

CREATE TRIGGERCREATE TRIGGER
Section: SQL Commands (7)
Updated: 2003-11-02
Index
Return to Main Contents


NAMENAME

CREATE TRIGGER - 定义一个新的触发器

SYNOPSISSYNOPSIS

CREATE TRIGGER name { BEFORE | AFTER } { event [ OR ... ] }
ON table [ FOR [ EACH ] { ROW | STATEMENT } ]
EXECUTE PROCEDURE funcname ( arguments )


DESCRIPTION 描述

CREATE TRIGGERCREATE TRIGGER 创建一个新的触发器。 触发器将与指定表关联并且将在特定事件发生时执行声明的函数
func。

触发器可以声明为在对记录进行操作之前(在检查约束之前和 INSERT,UPDATE 或 DELETE 执行前)或操
作完成之后(在检查约束之后和完成 INSERT, UPDATE 或 DELETE 操作)触发。 如果触发器在事件之
前,触发器可能略过当前记录的操作或改变被插入的(当前)记录(只对 INSERT 和 UPDATE 操作有
效)。 如果触发器在事件之后,所有更改,包括最后的插入, 更新或删除对触发器都是"可见"的。

一个 FOR EACH ROW 执行指定操作的触发器为操作修改的每一行都调用一次。比如,一个影响 10 行
的 DELETE 将导致任何在目标关系上的 ON DELETE 触发器独立调用 10 次, 每个被删除的行一次。相比之
下,一个为指定操作 FOR EACH STATEMENT 的触发器只是为任何操作执行一次,不管有多少行被修
改。 (特别是,一个修改零行的操作仍然会导致任何合适的 FOR EACH STATEMENT 触发器的执行。)

如果多个同类型的触发器为同样事件做了定义, 那么它们将按照字母顺序被激活。
SELECT 并不更改任何行,因此你不能创建 SELECT 触发器。这种场合下规则和视图更合适些。

请参考 Part V ``Triggers'' 获取更多信息。
PARAMETERS 参数

name
赋予新触发器的名称。它必需和任何作用于同一表的触发器不同。
BEFOREBEFORE
AFTERAFTER

决定该函数是在事件之前还是之后调用。

event
INSERT,DELETE 或 UPDATE 其中之一。 它声明击发触发器的事件。多个事件可以用 OR 声明。
table
触发器作用的表名称(可以用模式修饰)。
FOR EACH ROWFOR EACH ROW
FOR EACH STATEMENTFOR EACH STATEMENT

这些选项声明触发器过程是否为触发器事件影响的每个行触发一次, 还是只为每条 SQL 语句触发一
次。如果都没有声明, FOR EACH STATEMENT 是缺省。
func
一个用户提供的函数,它声明为不接受参数并且返回 trigger 类型。

arguments

一个可选的用逗号分隔的参数列表,它将在触发器执行的时候提供给函数, 这些参数是文本字串常
量。也可以在这里写简单的名字和数值常量,但是它们会被转换成字串。 请检查实现语言中关于如何
在触发器函数中访问触发器参数的描述; 这些参数可能和普通的函数参数不同。


NOTES 注意

要在一个表上创建一个触发器,用户必需在该表上有 TRIGGER 权限。
在 PostgreSQL 版本 7.3 以前, 我们必须把触发器函数声明为返回占位类型 opaque, 而不
是 trigger。为了支持装载老的转储文件, CREATE TRIGGER 将接受一个声明为返回 opaque 的函数, 但
是它将发出一条 NOTICE 并且把函数声明的返回类型改成 trigger。

用 DROP TRIGGER [drop_trigger(7)] 获取如何删除触发器的信息。
EXAMPLES 例子

Section 33.4 ``Triggers''
包含一个完整的例子。
COMPATIBILITY 兼容性

CREATE TRIGGERCREATE TRIGGER 里的 CREATE TRIGGER 语句实现了一个 SQL99 标准的子集。 (SQL92 里没有触发器)
目前仍然缺少下面的功能∶


SQL99 允许触发器为指定的字段的更新进行触发(也就是说,AFTER UPDATE OF col1, col2)。
• SQL99 允许你为 "old" 和 "new" 行或者表定义别名,用于定义触发器的动作(也就是说, CREATE
TRIGGER ... ON tablename REFERENCING OLD ROW AS somename NEW ROW AS othername ...)。因为
PostgreSQL 允许触发器过程以任意数量的用户定义语言进行书写,所以访问数据的工作是用和语言相
关的方法实现的。
• PostgreSQL 只允许为触发的动作执行存储的过程。SQL99 允许执行一些其他的 SQL 命令, 比如那
CREATE TABLE 作为触发器动作。 这个限止并不难绕开,只要创建一个执行这些命令的存储过程即
可。

SQL99 要求多个触发器应该以创建的时间顺序执行。 PostgreSQL 采用的是按照名字顺序, 我们认为这样
更加方便。

用 OR 给一个触发器声明多个动作是 PostgreSQL 对标准的扩展。
SEE ALSO 参见

CREATE FUNCTION [create_function(7)], ALTER TRIGGER [alter_trigger(l)], DROP TRIGGER


[drop_trigger(l)]
译者

Postgresql
中文中文网网站 何伟平 <

IndexIndex
NAME
SYNOPSIS
DESCRIPTION 描述
PARAMETERS 参数
NOTES 注意
EXAMPLES 例子
COMPATIBILITY 兼容性
SEE ALSO 参见
译者

This document was created by man2html, using the manual pages.

合集下载

LinuxCgroups详解(三)

LinuxCgroups详解(三)

LinuxCgroups详解(三)Cgroup⽂件系统Cgroups⽤户空间管理Cgroups⽤户空间的管理是通过cgroup⽂件系统实现的。

⽐如要创建⼀个层级:mount -t cgroup -o cpu,cpuset,memory cpu_and_mem /cgroup/cpu_and_mem这个命令就创建⼀个名为cpu_and_mem的层级,这个层级上附加了cpu,cpuset,memory三个⼦系统,并把层级挂载到了/cgroup/cpu_and_mem.创建⼀个cgroup:cd /cgroup/cpu_and_memmkdir foo通过以上两个命令,我们就在刚才创建的层级下创建了⼀个叫foo的cgroup。

你再cd foo,然后ls你会发现⼀些⽂件,这是cgroups相关⼦系统的控制⽂件,你可以读取这些控制⽂件,这些控制⽂件存储的值就是对相应的cgrouop的控制信息,你也可以写控制⽂件来更改控制信息。

在这些⽂件中,有⼀个叫tasks的⽂件,⾥⾯的包含了所有属于这个cgroup的进程的进程号。

在刚才创建的foo下,你cat tasks,应该是空的,因为此时这个cgroup⾥⾯还没有进程。

你cd /cgroup/cpu_and_mem 再cat tasks,你可以看到系统中所有进程的进程号,这是因为每创建⼀个层级的时候,系统的所有进程都会⾃动被加到该层级的根cgroup⾥⾯。

Tasks⽂件不仅可以读,还可以写,你将⼀个进程的进程号写⼊到某个cgroup⽬录下的tasks⾥⾯,你就将这个进程加⼊了相应的cgroup。

Cgroup⽂件系统的实现在讲cgroup⽂件系统的实现之前,必须简单的介绍⼀下Linux VFS。

VFS是所谓的虚拟⽂件系统转换,是⼀个内核软件层,⽤来处理与Unix标准⽂件系统的所有系统调⽤。

VFS对⽤户提供统⼀的读写等⽂件操作调⽤接⼝,当⽤户调⽤读写等函数时,内核则调⽤特定的⽂件系统实现。

基于RHEL6的RHCS红帽集群套件应用

基于RHEL6的RHCS红帽集群套件应用

毛毛雨:AM 3885999RHCS 基于 RHEL6.0 x86_64(实验教程) 实验说明:所用的RHEL 版本均为 6.0 x86_64,宿主机支持虚拟化,内存不小于4G。

实验拓扑如下:在本实验中,为了节省资源将 ISCSI-Target 也放到 manager 一个机器上了。

vmware 创建一个虚拟机,内存3G,按下图设置使得虚拟机也支持虚拟化,vmware workstation 版本不低于7:蓝狐Linux系统培训中心毛毛雨:AM 3885999毛毛雨:AM 3885999蓝狐Linux 系统培训中心毛毛雨:AM 3885999在这个虚拟机中装好 rhel6,ip192.168.0.200,作为 RHCS 的管理端,继续在其上安装 kvm,kvm 的安装请查看我之前写的关于 kvm 文档,kvm 安装好后,创建两 个 vm(virtual machine) ,桥接到 192.168.0.200 的物理网卡上,vm 上安装好 rhel6,ip 分别为192.168.0.201和 192.168.0.202,作为 RHCS 的节点,这样的拓扑设计 的原因是我们可以在 RHCS 中使用 fence-virsh 来fence 掉 kvm 管理的 RHCS 故障节点。

使用hostname 指令设置主机名,想重启之后生效别忘了/etc/sysconfig/network,因为本环境中没有使用DNS,所以在manager 上设置/etc/hosts 添加如下三行, 再 scp 到 web1 和web2。

[root@manager ~]# vim /etc/hosts 127.0.0.1 localhost.localdomain localhost ::1localhost6.localdomain6 localhost6192.168.0.200 manager 192.168.0.201 web1 192.168.0.202web2manager、web1、web2 均关闭selinux、iptables。

linux调度器源码分析-运行(四)

linux调度器源码分析-运行(四)

linux调度器源码分析-运⾏(四)本⽂为原创,转载请注明:引⾔ 之前的⽂章已经将调度器的数据结构、初始化、加⼊进程都进⾏了分析,这篇⽂章将主要说明调度器是如何在程序稳定运⾏的情况下进⾏进程调度的。

系统定时器 因为我们主要讲解的是调度器,⽽会涉及到⼀些系统定时器的知识,这⾥我们简单讲解⼀下内核中定时器是如何组织,⼜是如何通过通过定时器实现了调度器的间隔调度。

⾸先我们先看⼀下内核定时器的框架 在内核中,会使⽤strut clock_event_device结构描述硬件上的定时器,每个硬件定时器都有其⾃⼰的精度,会根据精度每隔⼀段时间产⽣⼀个时钟中断。

⽽系统会让每个CPU使⽤⼀个tick_device描述系统当前使⽤的硬件定时器(因为每个CPU都有其⾃⼰的运⾏队列),通过tick_device所使⽤的硬件时钟中断进⾏时钟滴答(jiffies)的累加(只会有⼀个CPU负责这件事),并且在中断中也会调⽤调度器,⽽我们在驱动中常⽤的低精度定时器就是通过判断jiffies实现的。

⽽当使⽤⾼精度定时器(hrtimer)时,情况则不⼀样,hrtimer会⽣成⼀个普通的⾼精度定时器,在这个定时器中回调函数是调度器,其设置的间隔时间同时钟滴答⼀样。

所以在系统中,每⼀次时钟滴答都会使调度器判断⼀次是否需要进⾏调度。

时钟中断 当时钟发⽣中断时,⾸先会调⽤的是tick_handle_periodic()函数,在此函数中⼜主要执⾏tick_periodic()函数进⾏操作。

我们先看⼀下tick_handle_periodic()函数: 1void tick_handle_periodic(struct clock_event_device *dev)2 {3/* 获取当前CPU */4int cpu = smp_processor_id();5/* 获取下次时钟中断执⾏时间 */6 ktime_t next = dev->next_event;78 tick_periodic(cpu);910/* 如果是周期触发模式,直接返回 */11if (dev->mode != CLOCK_EVT_MODE_ONESHOT)12return;1314/* 为了防⽌当该函数被调⽤时,clock_event_device中的计时实际上已经经过了不⽌⼀个tick周期,这时候,tick_periodic可能被多次调⽤,使得jiffies和时间可以被正确地更新。

[7]MC9328 MX1处理器简介及Linux基本指令

[7]MC9328 MX1处理器简介及Linux基本指令

Default output of CPU PLL:
2 16 .384 MHz 5 55 63 1 192 MHz 0 1
电源管理模式

• • •
MX1支持3种不同的电源消耗模式,其功耗取决于使用的时钟频率。即高 速运行模式、睡眠模式、停止模式。
高速运行模式(RUN):CPU锁相环和系统锁相环均处于打开状态。 睡眠模式(DOZE):此时CPU锁相环可以关闭,而系统锁相环则处于打 开状态,继续为外围控制模块如LCD等提供时钟。 在该模式下,可以通过设置BCLKDIV进一步降低系统时钟,达到节省功 耗的目的。
DMA控制器
特点:






Eleven channels support linear 2D memory Each channel is configurable to response to any of the 32 DMA request signals. Supports 8,16, or 32-bit FIFO and memory port size data transfer. Supports both Big and Little Endian. DMA burst length is configurable up to max. of 16 w, 32 half-w or 64 bytes for each channel. (16 * 32 Data FIFO) Bus utilization control for channel that is not trigger by DMA request. Burst time-out error to terminate DMA cycle

linux,phandle 用法

linux,phandle 用法

linux,phandle 用法标题:Linux中phandle的使用在嵌入式系统开发中,设备树是一个重要的组成部分。

它提供了一种描述硬件平台的结构化方法,使得操作系统可以在不修改内核的情况下支持不同的硬件平台。

在设备树中,phandle是一个特殊的数据类型,用来表示一个节点的句柄。

一、什么是phandle?phandle是“physical handle”的缩写,可以理解为物理句柄。

在设备树中,每个节点都有一个唯一的phandle值。

这个值是用来唯一标识设备树中的一个节点的,可以通过这个值来引用和操作这个节点。

二、phandle的作用1. 引用节点:通过phandle,可以在设备树中引用其他节点,这样就可以方便地在不同节点之间建立联系。

2. 定义中断控制器:在定义中断控制器时,需要使用phandle来指定对应的控制器节点。

三、phandle的使用在设备树源文件(DTS)中,我们可以通过`/bits/32/interrupt-controller@... { }`来定义一个中断控制器节点,并为其分配一个phandle值。

然后,在其他需要使用中断的节点中,可以通过`interrupt-parent = <&phandle>;`来引用这个中断控制器节点。

例如:```interrupt-controller@f8000000 {compatible = "arm,cortex-a9-gic";#interrupt-cells = <2>;reg = <0xf8000000 0x1000>;phandle = <0x1>;};leds {compatible = "gpio-leds";pinctrl-names = "default";pinctrl-0 = <&pinctrl_leds>;led0 {gpios = <&gpio1 0 GPIO_ACTIVE_LOW>;linux,trigger = "none";gpio-led-active-low;phandle = <0x2>;};led1 {gpios = <&gpio1 1 GPIO_ACTIVE_LOW>;linux,trigger = "none";gpio-led-active-low;phandle = <0x3>;};interrupt-parent = <&phandle>; // 引用中断控制器节点};```在这个例子中,我们首先定义了一个中断控制器节点,并为其分配了phandle 值0x1。

linux的touch命令的详细解释

linux的touch命令的详细解释

linux的touch命令的详细解释Linux中的touch命令它的主要功能其实就是创建文件,下面由店铺为大家整理了Linux的touch命令的详细解释,希望对大家有帮助!linux的touch命令详细解释创建文件或修改文件时间touch [options] file-list参数file-list是touch将要创建或更新的文件路径名选项-a 只更新访问时间,不改变修改时间-c 不创建不存在的文件-m 只更新修改时间,不改变访问时间-r file 使用文件file的时间更新文件的时间-t 将时间修改为参数指定的日期,如:07081556代表7月8号15点56分linux的touch命令的详解示例touch 更新已有文件时间$ ls -l Firefox_wallpaper.png-rw-r--r-- 1 siu siu 309597 12月20 15:03 Firefox_wallpaper.png$ touch Firefox_wallpaper.png$ ls -l Firefox_wallpaper.png-rw-r--r-- 1 siu siu 309597 1月 8 15:18 Firefox_wallpaper.png touch 无选项,会同时更新文件的修改时间和访问时间touch 创建文件$ touch demo.c$ ls -l总用量 372-rw-r--r-- 1 siu siu 0 1月 8 15:21 demo.ctouch -at 使用参数更新访问时间首先看看原来的修改时间和访问时间,ls -lu用来查看访问时间$ ls -l总用量 68-rw-r--r-- 1 siu siu 66350 12月 23 16:51 hs_err_pid2874.log $ ls -lu总用量 68-rw-r--r-- 1 siu siu 66350 1月 8 15:17 hs_err_pid2874.log 接着是更新过后的修改时间和访问时间$ touch -at 01081010 hs_err_pid2874.log$ ls -l总用量 68-rw-r--r-- 1 siu siu 66350 12月 23 16:51 hs_err_pid2874.log $ ls -lu总用量 68-rw-r--r-- 1 siu siu 66350 1月 8 10:10 hs_err_pid2874.log 可以看到,修改时间没有变动,但是访问时间改变了touch -m 只更新修改时间$ ls -l总用量 68-rw-r--r-- 1 siu siu 66350 12月 23 16:51 hs_err_pid2874.log $ touch -m hs_err_pid2874.log$ ls -l总用量 68-rw-r--r-- 1 siu siu 66350 1月 8 15:31 hs_err_pid2874.log $ ls -lu总用量 68-rw-r--r-- 1 siu siu 66350 1月 8 10:10 hs_err_pid2874.log 由上面的示例可知,此处访问时间没有改变,而修改时间发生了变动Tips1.可以用默认的当前时间来更新文件的访问时间和修改时间,也可以指定参数来更新2.通常情况下,touch用的最多的地方还是在于创建新文件。

Linux设备驱动之IIO子系统——IIO框架数据读取

Linux设备驱动之IIO⼦系统——IIO框架数据读取IIO DATA ACCESS IIO数据获取 只有两种⽅法可以使⽤IIO框架访问数据; 通过sysf通道进⾏⼀次性捕获,或通过IIO字符设备进⾏连续模式(触发缓冲)。

One-shot capture:单次获取 ⼀次性数据捕获通过sysfs接⼝完成。

通过读取与通道对应的sysfs条⽬,您将仅捕获特定于该通道的数据。

给定⼀个带有两个通道的温度传感器:⼀个⽤于环境温度,另⼀个⽤于热电偶温度:# cd /sys/bus/iio/devices/iio:device0# cat in_voltage3_raw6646# cat in_voltage_scale0.305175781 通过将⽐例乘以原始值来获得处理值。

Voltage value: 6646 * 0.305175781 = 2028.19824053 器件数据表说过程值以mV给出。

在我们的例⼦中,它对应于2.02819V。

Buffer data access:缓冲区数据获取 要使触发的采集⼯作,必须在驱动程序中实现触发器⽀持。

然后,要从⽤户空间内获取数据,必须:创建触发器,分配它,启⽤ADC 通道,设置缓冲区的维度,并启⽤它。

这⾥主要介绍两种:sysfs触发器和hrtimer触发器。

使⽤sysfs触发器获取: 使⽤sysfs触发器捕获数据包括发送⼀组命令少量sysfs⽂件。

让我们列举⼀下我们应该做些什么来实现这⼀⽬标:1. 创建触发器:在将触发器分配给任何设备之前,应该创建它:# echo 0 > /sys/devices/iio_sysfs_trigger/add_trigger这⾥,0对应于我们需要分配给触发器的索引。

在此命令之后,触发器⽬录将在/ sys / bus / iio / devices /下作为trigger0。

2. 将触发器分配给设备:触发器由其名称唯⼀标识,我们可以使⽤该触发器将设备绑定到触发器。

createuser命令解释(创建用户命令解释)

create user命令解释(创建用户命令解释)创建用户“A”配置文件“默认”由“默认”表空间“临时”标识账户解锁;将“连接”授予“A”;授予“DBA”到“A”;一、概念1。

数据库(数据库)什么是数据库?数据库是依照某种数据模型组织起来并存放二级存储器中的数据集合。

这种数据集合具有如下特点:尽可能不重复,以最优方式为某个特定组织的多种应用服务,其数据结构独立于使用它的应用程序,对数据的增、删、改和检索由统一软件进行管理和控制。

从发展的历史看,数据库是数据管理的高级阶段,它是由文件管理系统发展起来的。

什么是数据库系统?数据库系统是一个实际可运行的存储、维护和应用系统提供数据的软件系统,是存储介质、处理对象和管理系统的集合体。

它通常由软件、数据库和数据管理员组成。

其软件主要包括操作系统、各种宿主语言、实用程序以及数据库管理系统。

数据库由数据库管理系统统一管理,数据的插入、修改和检索均要通过数据库管理系统进行。

数据管理员负责创建、监控和维护整个数据库,使数据能被任何有权使用的人有效使用。

数据库管理员一般是由业务水平较高、资历较深的人员担任打个比喻吧:库据库就是存放数据的仓库。

当然仓库得组织得有序,这需要一套管理方法及管理组织,管理方法及管理组织结合就成了一个管理仓库的有机体--系统。

2。

数据表空间(表空间)存放数据总是需要空间,Oracle把一个数据库按功能划分若干空间来保存数据当然数据存放在磁盘最终是以文件形式,所以一盘一个数据表空间包含一个以上的物理文件。

三.Oracle用户一个数据库多个用户来创建和管理自己的数据,每个用户有自己的权限,也可与其他用户共享数据4。

数据表在仓库,我们可能有多间房子,每个房子又有多个货架,每架又有多层我们在数据库中存放数据,最终是数据表的单元来存储与管理的。

5。

数据文件以上几个概念都是逻辑上的,而数据文件则是物理上的。

就是说,数据文件是真正”看得着的东西”,它在磁盘上以一个真实的文件体现。

linux中的常用的mysql语句

linux中的常用的mysql语句一、创建数据库在MySQL中,可以使用CREATE DATABASE语句来创建数据库。

语法如下:CREATE DATABASE database_name;其中,database_name为要创建的数据库的名称。

二、删除数据库在MySQL中,可以使用DROP DATABASE语句来删除数据库。

语法如下:DROP DATABASE database_name;其中,database_name为要删除的数据库的名称。

三、创建数据表在MySQL中,可以使用CREATE TABLE语句来创建数据表。

语法如下:CREATE TABLE table_name (column1 datatype,column2 datatype,column3 datatype,...);其中,table_name为要创建的数据表的名称,column1、column2、column3为数据表的列名,datatype为列的数据类型。

四、删除数据表在MySQL中,可以使用DROP TABLE语句来删除数据表。

语法如下:DROP TABLE table_name;其中,table_name为要删除的数据表的名称。

五、插入数据在MySQL中,可以使用INSERT INTO语句来插入数据。

语法如下:INSERT INTO table_name (column1, column2, column3, ...) VALUES (value1, value2, value3, ...);其中,table_name为要插入数据的数据表的名称,column1、column2、column3为要插入的列名,value1、value2、value3为要插入的值。

六、更新数据在MySQL中,可以使用UPDATE语句来更新数据。

语法如下:UPDATE table_nameSET column1 = value1, column2 = value2, ...WHERE condition;其中,table_name为要更新的数据表的名称,column1、column2为要更新的列名,value1、value2为要更新的值,condition为更新的条件。

linux mysql安装文档超详细和oracle基础命令操作

Oracle日常维护基础应用和mysql源码编译安装;SQL Plus常用命令set linesize 200set linesize 可以设置一行的字符数,默认为80个字符以上set linesize 300,表示一行为300个字符l(List)可以显示缓存区中的最后执行的内容run / r以上三个命令功能是一致的,重新运行缓存区中的语句savesave可以将最后一次在缓存区中执行的语句保存到文件getget可以将文件中的sql语句放到缓存区中,采用/或r或run,可以执行ed(edit)ed可以采用记事本来编辑缓存区中的内容如何直接执行sql脚本@d:\emp.sql;我们日常维护中经常要对数据库进行操作下边是一些常用的操作命令查看用户拥有的数据库对象查看约束信息查看用户拥有的表查看用户拥有的视图查看用户拥有的触发器查看用户拥有的序列查看用户拥有的存储过程查看用户拥有的索引显示当前用户切换用户将用户赋予某种角色登录查看所有的用户查看用户拥有的权限常用权限给用户加锁给用户解锁修改用户密码新建用户删除用户及相关对象给用户授权(多个采用逗号间隔)分配表空间usres给用户以上出现无法创建表,主要原因在于没有分配表空间,也就是我们新建的表不知道放到什么地方。

授权表空间给用户一个完整的过程,创建用户、创建表空间、授权、建表创建用户●创建表空间●将表空间分配给用户●给用户授权●以sginfo登陆建立表,tt导入和导出命令imp、exp导出分为导出表,导出方案,导出数据库导出的命令时exp 命令的选项有:userid :用于指定执行导出操作的用户名,口令,连接字符串tables :用于指定执行导出操作的表owner :用于指定执行导出操作的方案full=y:用于指定执行导出操作的数据库inctype:用于指定执行导出操作的增量类型rows:用于指定执行导出操作是否要导出表中的数据file:用于指定导出文件名;下面是几种导出方式1、导出自己的表exp userid=scott/tiger@ora10g1 tables=(emp,emp1) file=d:\tb.dmpuserid写的是用户名密码和实例tables输入的是表明可以导出多个表各个表用逗号隔开file 输出的是导出表的路径;2、导出其它方案的表首先需要dba的权限或是exp_full_database的权限,比如system就可以导出scott的表exp userid=system/manager@ora10g1 tables=(scott.emp) file=d:\tb1.dmp3、导出表的结构如果一个表的比较大而我们不需要数据只要结构就可以使用一下命令exp userid=scott/tiger@ora10g1 table=(emp) file=d:\tb2.dmp rows=n只需要加上rows=n 就可以了4、使用直接导出方式exp userid=scott/tiger@ora10g1 tables=(emp) file=d:\tb3.dmp direct=y这种方式导出数据比较快如果数据量比较大可以考虑使用注意此时数据库的字符集要与客户端字符集保持一致否则就会出现错误导出方案导出方案可以导出一个方案或多个方案中的对象包括表,索引,约束等导出自己的方案exp userid=scott/tiger@ora10g1 owner=scott file=d:\fa.dmp导出其它方案如果用户要导出其它方案,则需要dba的权限或是exp_full_database的权限,例如system就可以exp userid=system/system123@ora10g1 owner=scott file=d:\fa1.dmp导出数据库就是导出数据库中的对象和数据用户有dba权限或是exp_full_database权限exp userid=system/system123@ora10g1 full=y inctype=completefile=d:\\fn3.dmp导入和导出一样也分为导入表,导入方案和导入数据库命令imp 选项有userid,tables fromuser,touser ,file ,full,inctype ,rows ,ignore;其中fromuser 用于指定源用户touser 用于指定目标用户ignore 如果表存在,则只导入数据;导入自己表imp userid=scott/tiger@ora10g1 tables==(emp) file=d:\tb.dmp导入表到其它用户权限dba或是imp_full_databaseimp userid=system/system123@ora10g1 tables=(emp) file=d:\tb.dmptouser=scott导入表结构只导入结构不导入数据imp userid=scott/tiger@ora10g1 tables=(emp) file=d:\tb.dmp rows=n 导入数据如果表已存在可以只导入数据imp userid=scott/tiger@ora10g1 tables=(emp) file=d:\tb.dmp ignore=y 导入方案导入自身方案imp userid=scott/tiger file=d:/fa.dmp导入其它方案用户具有dba权限imp userid=system/system123 file=d:\fa1.dmp fromuser=system touser=scott导入数据库imp userid=system/system123 full=y file=d:\fn3.dmpLinux 下mysql源码包安装;我用的是centos5.5 mysql版本mysql-5.0.92 大家可以到/Downloads/MySQL-5.0下边找自己需要的安装文件;MySQL有两种安装方式:源码包安装和二进制包安装。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档