-
2021-04-02 14:28:10
1、备份语句(数据库导出)
exp username/password@ip:port/servername file="C:\Users\Administrator\Desktop\kpms.bak" full=y ignore=y;
2、导入语句(数据库还原)
①全部导入:imp 用户名/密码@数据库实例名 full=y file=C:\Users\Administrator\Desktop\kpms.bak ignore=y;
②单表导入:imp username/password@ip:port/servername file="C:\kpms.dmp" tables=(emp) ignore=y;
③只导入表结构:imp username/password@ip:port/servername file="C:\kpms.dmp" fromuser=from_username touser=to_username rows=n;
④只导入数据:imp username/password@ip:port/servername file="C:\kpms.dmp" fromuser=c##from_username touser=to_username statistics=none ignore=y;
⑤更改表空间和用户导入:impdp username/password@ip:port/servername directory=DATA_DIR dumpfile=example.dmp REMAP_SCHEMA=olduser:newuser remap_tablespace=oldtablespace:newtablespace,EXAMPLE_TEMP:newtablespace_temp
更多相关内容 -
SQL SERVER备份数据库存储过程的方法
2020-12-15 16:29:03sqlserver批量导出存储过程 在查询分析器中,选中数据库——》右键“任务”——》在弹出菜单中选择“生成脚本” ——》“下一步”——》选择你要存储过程所在数据库——》 “下一步”——》勾选“存储过程”,并下... -
MySQL 导出建表建存储过程语句(备份)
2021-01-20 00:37:04导出一个数据库所有存储过程 mysqldump -u name -p -ntd -R database > /home/areskris/prcedure.sql 5.导入数据库 常用source 命令 进入mysql数据库控制台, 如mysql -u root -p mysql>use 数据库 然后使用source...版本一:
导出(只导数据结构)
[areskris@AresKris-Acer ~]$ mysqldump -u root -p -d --add-drop-table 数据库名字 > 导出的文件名
导出(包括数据)
[areskris@AresKris-Acer ~]$ mysqldump -u root -p --add-drop-table 数据库名字 > 导出的文件名
全数据库
[areskris@AresKris-Acer ~]$ mysqldump -u root -p --all-database > backup.sql
导入:
[areskris@AresKris-Acer ~]$ source /home/areskris/mysql-study/InsertTest.sql (某些GUI工具中,需要备份的文件版本要一致)
[areskris@AresKris-Acer ~]$ mysql -uroot -proot test < /home/areskris/Mysql-study/insertTest.sql
版本二:
1.导出整个数据库
mysqldump -u 用户名 -p 数据库名 > 导出的文件名
mysqldump -u name -pwordpass databasename > /home/areskris/database.sql
2.导出一个表
mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名
mysqldump -u name -p wordpass tablename > /home/areskris/table.sql
3.导出一个数据库结构
mysqldump -u name -p -d --add-drop-table database > /home/areskris/db_desc.sql
-d 没有数据 --add-drop-table 在每个create语句之前增加一个drop table
4.导出一个数据库所有存储过程
mysqldump -u name -p -ntd -R database > /home/areskris/prcedure.sql
5.导入数据库
常用source 命令
进入mysql数据库控制台,
如mysql -u root -p
mysql>use 数据库
然后使用source命令,后面参数为脚本文件(如这里用到的.sql)
mysql>source /home/areskris/db_desc.sql
-
mysql-数据备份与存储过程
2021-01-18 21:46:25修改隔离级别修改全局的set global transaction isolation level read committed;或者:set @@tx_isolation = "asasasasas-read";...@@系统内置变量@表示用户自定义的变量存储过程什么是存储过程是任意的...修改隔离级别
修改全局的
set global transaction isolation level read committed;
或者:
set @@tx_isolation = "asasasasas-read";
修改局部
set session transaction isolation level read committed;
@@系统内置变量
@表示用户自定义的变量
存储过程
什么是存储过程
是任意的sql语句的组合,被放到某一个存储过程中,类似于一个函数,有一个函数名/参数/还有函数体.
用来干什么
其中可以包含任何的sql语句,逻辑处理,事务处理,所有的我们学过的sql语句都可以放到里面
三种数据处理方式
应用程序只关注业务逻辑,所有与数据相关的逻辑封装到mysql中
优点:应用程序要处理的事情变少了,可以减少网络传输
应用程序既要处理业务逻辑,还要编写sql语句
优点:降低了沟通成本,人力成本
缺点: 网络传输增加,sql语句编写非常复杂
通过ORM框架, 使用对象关系映射,自动生成sql语句并执行
优点:不需要在编写sql语句,提升了开发效率
缺点:不够灵活,应用程序开发者和数据库完全隔离,可能导致仅关注上层开发,而不清楚底层原理
# 语法
create procedure p_name(p_type p_name p_date_type)
begin
sql......
end
# p_type 参数的类型 in 输入 out 输出必须是一个变量,不能是值 inout 即可输出也可输入
# p_name 参数的名字
# p_data_type 参数的数据类型 如 int float
案例
delimiter |
create procedure a1(in a int, in b int, out c int)
begin
set c = a + b;
end |
delimiter ;
# 调用
set @res =0;
call a1(1,1,@res);
select * from @res;
# 删除
drop procedure 名称;
# 查看
show create procedure 名称
# 查看全部 例如 db库下的所有
select name from mysql.proc where db = 库名 and type = "PROCEDURE";
delimiter |
create procedure transfer2(in aid int,in bid int,in m float,out res int)
begin
declare exit handler for sqlexception
begin
# 异常处理代码
set res = 99;
rollback;
end;
start transaction;
update account set money = money - m where id = aid;
update account set money = moneys + m where id = bid;
commit;
set res = 1;
end|
delimiter ;
备份与恢复
# 备份
mysqldump.exe
mysqldump -u用户名 -p密码 数据库 表名1 表名2 .... > 文件路径....
# 注意 第一个表示数据库 后面全都是表名
mysqldump -uroot -p day41 student >
#备份多个数据库
mysqldump -uroot -p111 --databases day41 day40 > x3x.sql
#指定 --databases 后导出的文件包含 创建库的语句 而上面的方式不包含
#备份所有数据
mysqldump -uroot -p111 --all-databases > all.sql
#自动备份
linux crontab 指令可以定时执行某一个指令
# 恢复数据:
没有登录mysql
mysql < 文件的路径
已经登录了MySQL
source 文件路径
注意: 如果导出的sql中没有包含选择数据库的语句 需要手动加上
-
sqlserver利用存储过程去除重复行的sql语句
2020-12-15 07:12:52还是先上代码吧 ,可以先看 SQL语句去掉重复记录,获取重复记录 代码如下: ALTER procedure [dbo].[PROC_ITEMMASTER_GETUNIQUE] @PAGEINDEX INT,@uid int,@itemnumber varchar(50) AS begin tran –开始事务 drop ... -
oracle存储过程和存储过程(备份/例子)
2018-09-01 09:32:54– 存储过程 – 过程,可以简单理解为是一个函数。 – 函数和过程的区别:函数总是向调用者返回数据,而过程没有数据返回。 – Oracle 可以将 PL/SQL 代码存储在数据库中,然后可以提供给其他地方来运行它。 – ...– 存储过程
– 过程,可以简单理解为是一个函数。
– 函数和过程的区别:函数总是向调用者返回数据,而过程没有数据返回。
– Oracle 可以将 PL/SQL 代码存储在数据库中,然后可以提供给其他地方来运行它。
– 这个动作就叫存储过程,也可以理解为一个创建一个函数给其他人用。– 语法格式
procedure 名字(参数)
is
声明局部变量;
begin
语句
end;– 也可以使用图形界面方式创建:文件 → 新建 → 程序窗口 → procedure
– 往 tb_stuu 表中插入一条数据
create procedure hello
is
begin
insert into tb_stuu(id, name)
values (5, ‘菜花’);
commit; – 提交数据
end;– 使用
begin
hello();
end;select * from tb_stuu;
– 带参数的
create procedure hello2(vid tb_stuu.id%type, vname tb_stuu.name%type)
is
begin
insert into tb_stuu(id, name)
values (vid, vname);
commit; – 提交数据
end;– 使用
begin
hello2(6, ‘茉莉花’);
end;– 让 id 自动增长,使用序列
begin
hello2(stu_seq.nextval, ‘小百花’);
end;– 备份:防止数据丢失
– 每天,我们在 24 点处理的最后一条数据,要备份记录下来。– 如果可以使用代码来实现的东西,都可以不再考虑 SQL 语句。
– 存储过程(备份)
– 第二天把第一天做的事重复做一遍
– 如果你觉得难,其实就是练得少– 银行
create table tb_bank (
id int primary key,
account varchar(20),
amount number,
currentdate date
);– 创建序列
create sequence bank_seq;– 插入数据
insert into tb_bank values(bank_seq.nextval, ‘001’, 500, sysdate);
insert into tb_bank values(bank_seq.nextval, ‘002’, 2500, sysdate);
insert into tb_bank values(bank_seq.nextval, ‘003’, 5000, sysdate);
insert into tb_bank values(bank_seq.nextval, ‘003’, 800, sysdate);select * from tb_bank;
– 备份表(如果是手动来写)
create table tb_backup
as
select * from tb_bank
where id = 999;– 获取最后(最大的)id 值
create table tb_maxid (
maxid int
);
– 不能让 tb_maxid 表为空,需要给一个初始值
insert into tb_maxid values(0);– 调用备份的存储过程
– 1)查询前一天所存的最大值。
– 2)调用备份存储过程create procedure backupmsg
is
vmaxid tb_maxid.maxid%type;
begin
– 1)查询前一天所存的最大值。
select maxid into vmaxid from tb_maxid;
– 2)调用一个用于备份的存储过程
backupinfo(vmaxid);
end;– 100 昨天
– 101~202 今天
– 创建 backupinfo() 存储过程
create procedure backupinfo(vmaxid tb_maxid.maxid%type)
is
– 通过游标来获取前一天最大的 id 值
cursor cbank is select * from tb_bank where id > vmaxid;
– 定义一个变量,用于记录数据条数的分段信息
vindex int := 0;
– 定义一个变量,用于记录最大的 maxid 值
vcurrentid int;
begin
for rbank in cbank
loop
– 先将每一条数据插入到备份表
insert into tb_backup(id, account, amount, currentdate)
values (rbank.id, rbank.account, rbank.amount, rbank.currentdate);
– 因为银行的客户太多了,不能让数据一直停留在内存中
– 比如可以在某个时间间隔或者达到某个指定的范围
– 就提交一次数据,我们这里假设满 1000 条则提交一次。
vindex := vindex + 1;if(vindex = 1000) then commit; -- 但一轮数据提交后,则归零,重新再来。 vindex := 0; end if; end loop; -- 查询最大的 maxid select max(id) into vcurrentid from tb_bank; -- 如果已经获取到最大的 maxid 值,则让tb_maxid 中曾经保存的数据更新一下 -- 更新之后,就是最大值 update tb_maxid set maxid = vcurrentid;
end;
– 调用 备份的 存储过程
begin
backupmsg();
end;select * from tb_backup;
-
mysql 备份语句
2021-01-18 18:43:04mysqldump -udb_user -p dbname -R | dbname_bak.sql 或 mysqldump -udb_user -p dbname -R | gzip > dbname_bak.sql.gz 备份存储过程过程中如果出现错误: mysqldump: db_user has insufficent privileges to SHOW ... -
MySQL 数据库单表备份存储过程
2022-03-18 15:42:01创建存储过程 CREATE PROCEDURE `backup_table`( IN tableName CHAR ( 100 ) ) BEGIN SET @backupTable = CONCAT( tableName, '_bak_',DATE_FORMAT(NOW(), '%Y%m%d%k%i%s') ); SET @stmt = CONCAT( "create ... -
Oracle中备份表的简单sql命令语句
2021-05-02 06:09:51Oracle中备份表的简单sql命令语句复制代码 代码如下:create table bmpforest.E_PKG_ATPCFG_BAC as select * from bmpforest.e_pkg_atpcfg where 1=2insert into E_PKG_ATPCFG_BAC select * from E_PKG_ATPCFG;... -
备份数据库 · Mysql 常用Sql语句 · 看云
2021-03-04 03:38:17文章资料来源:http://www.cnblogs.com/kissdodog/p/4174421.htmlhttp://www.cnblogs.com/yunf/archive/2011/04/12/2013448.html1、备份一个数据库mysqldump基本语法:mysqldump -u username -p dbname table1 table... -
MySQL储存过程的备份和还原技巧
2021-01-19 08:41:21在转储的数据库中转储存储程序(函数和程序)。使用---routines产生的输出包含CREATE PROCEDURE和CREATE FUNCTION语句以重新创建子程序。但是,这些语句不包括属性,例如子程序定义者或创建和修改时间戳。这说明当重载... -
SqlServer 备份数据库语句
2020-05-26 14:55:39SqlServer 备份数据库语句 DECLARE @filename VARCHAR(255); --文件名 DECLARE @date DATETIME; --日期 DECLARE @path VARCHAR(255); --文件存放路径 SELECT @date = GETDATE(); --获取当前时间 –根据当前时间自动... -
如何使用plsql导出oracle数据建表语句,存储过程,视图。以及表中数据
2017-06-05 14:02:42第一:导出数据建表语句,存储过程,视图等 打开plsql,如图,点击工具————导出用户对象 点击导出用户对象。如图所示: 如图勾选即可。可以选择你要导出的对象。也可以不选中,这样将会导出所有... -
mysql 存储过程复制表(备份表)
2021-04-23 17:36:11有时候测试程序,需要备份表,但只是要备份数据库中的某些表,每个表都要点击一下复制是比较麻烦的,所以写了这样一个复制表的存储过程。 CREATE DEFINER=`root`@`%` PROCEDURE `copyTable`() BEGIN -- 先创建... -
sql server动态存储过程按日期保存数据示例
2020-09-10 12:56:04,在sql server存储过程中进行日期计算,按日期建表效率最高,下面就公司项目的部分动态存储过程粘贴出来 -
MySQL数据库存储过程与备份实验
2021-06-20 22:12:52实验要求: (1)在food表上创建名为Pfood_price_count的存储过程,该存储过程Pfood_price_...(2)使用call语句来调用存储过程。查询价格在2至18之间的食品种数。 (3)使用drop语句删除存储过程Pfood_price_count。 -
MySQL(附带存储过程)的数据备份与还原命令
2021-03-14 16:57:21附带存储过程的MySQL数据备份与还原命令,同时也具有远程备份的语句。数据库的一些管理工具自带有备份和还原的工具,但是还原过程中因为各方面的因素会报错或者还原不成功的时候。例如dodo常用的数据库管理工具是... -
oracle定时存储过程导出用户表或者指定表及数据导出CSV文件
2018-06-06 15:50:39定时导出oracle指定用户下指定表的所有数据及格式生成CSV文件,通过存储过程; 1.使用特定用户或者system登陆到oracle执行"存储过程.txt"里面的脚本生成对应的存储过程; (说明:存储过程.txt脚本说明,查询指定用户下... -
oracle中利用存储过程备份所有表
2018-05-31 20:38:05当没有expdp的权限时,通过存储过程复制表空间的所有表作为备份: declare command varchar2(1000); begin for cc in (select table_name from user_tables where tablespace_name='USERS' AND table_name like '... -
使用存储过程,在修改前对表进行备份
2021-04-16 00:25:46使用存储过程,在修改前对表进行备份 java 开发中 肯定会遇到大批量操作修改的情况,这时候使用动态表名就是最好的解决方式,但是有个问题,使用$的话 会造成sql注入 ,这样不仅想要的没达到,反而出现很多问题。这... -
存储过程备份和还原sqlserver
2016-08-02 18:55:55数据库列表:帐套数据库与系统数据库列表。...首先在master数据库建立3个存储过程及一个备份历史表: 1. p_BackupDB 2. p_RestoreDB 3. p_CreateJob 4. sys_BackupHistory --备份历史表 (脚本在下面找) -
一次用 Sql语句完成SqlServer数据库备份还原的历程
2021-12-27 11:24:09一次用 Sql语句完成SqlServer数据库备份还原的历程 -
postgresql数据库、表备份语句
2013-12-10 13:46:06执行pg_dump备份命令时若无此格式参数声明,pg_restore 恢复时可能出现错误提示“pg_restore: [archiver] input file does not appear to be a valid archive”。 C:\Users\cennavi-101>D:/software/... -
SQL语句中的存储过程和存储函数
2019-10-18 10:50:55在数据库编程过程中经常会用到存储过程 , 相比 SQL 语句 , 存储过程更方便 , 快速 , 安全 ; 先将存储过程的相关介绍和使用方法总结如下 ; 1. 存储过程的概念 存储过程 (Stored Procedure) 是... -
MySQL数据库之存储过程的创建和调用
2021-01-19 01:08:40存储过程是为了完成特定功能的SQL语句集,经编译创建并保存在数据库中,用户可通过指定存储过程的名字并给定参数(需要时)来调用执行。存储过程思想上很简单,就是数据库 SQL 语言层面的代码封装与重用。优点存储过程... -
Oracle 11g 创建定时任务执行存储过程备份重要表及数据
2020-10-16 11:58:22一、创建存储过程 Procedure,用于执行备份重要表及数据相关命令 CREATE OR REPLACE PROCEDURE Pro_Back_TableName IS /* 存储过程描述:该存储过程用于备份表及数据。 */ BEGIN -- 执行命令:删除原备份表 ... -
MySQL数据库存储过程和存储函数
2021-06-02 11:26:57MySql数据库存储过程和函数 前言 对于MySql数据库,难道只能遇到一个数据库的需求,然后就写一大...存储过程和函数是事先经过编译并存储在数据库中的一段 SQL 语句的集合。 存储过程和函数的区别在于函数必须有返回值, -
MySQL 存储过程和函数以及数据恢复和备份
2017-06-28 18:36:08存储过程和函数是在数据库中定义一些 SQL 语句的集合,然后直接调用这些存储过程和函数来执行已经定义好的 SQL 语句。存储过程和函数可以避免开发人员重复的编写相同的 SQL 语句。而且,存储过程和函数是在 MySQL ... -
sqlserver 复制表 复制数据库存储过程的方法
2021-01-19 22:26:14在目前的工作中需要解决复制整个SqlServer数据库的问题,复制的内容包括数据库大纲、数据库中的存储过程、函数、表结构、主外键关系以及表中的所有数据等,也就是说copy版本与原数据库一模一样。经过一段时间的摸索...