回答

收藏

MySQL在脚本中包含一个脚本

技术问答 技术问答 173 人阅读 | 0 人回复 | 2023-09-14

我参与了一个将项目从Oracle迁移到MySQL的项目。在Oracle中,当通过命令行运行批处理时,我能够创建一个引用或包含其他外部SQL脚本文件的SQL脚本。我有一个名为CreateAllTables.sql的脚本,在内部看起来像这样:
( c2 N" A9 V. ?' [3 L/ D@tables\Site.sql
# t' i! ^2 K5 }- T6 `! ]! U@tables\Language.sql
1 q. i: {8 [" Z8 F, @! h@tables\Country.sql( \. e6 G( A7 y0 y( x. l  F1 l
@tables\Locale.sql
: s! t" o3 u$ k0 A& ?@tables\Tag.sql
4 p. M% l% }/ t6 b我已经知道MySQL命令行“源”命令,但是我的目标是通过一个命令行调用来调用一个包含其他脚本的主.sql脚本文件,如下所示:
- T7 G3 L2 E+ `$ @. g; ^mysql --user=root --password --database=junkdb -vv 所以我的问题是我该如何使用MySQL?: U, G9 I' m6 p. F" M
               
% s; K) C/ z; O+ @, _+ F解决方案:; r: H- j/ [$ p+ m1 R
               
2 _" |8 @2 Q3 Q" T; q& f# G9 O: g( _1 J# ~( a

% V. [) _7 T# S7 d! D                source 为我工作。
, ]: \% {" ^- m% U" D' @# |# -- foo.sql
' n) T" Y4 }1 `/ m3 y1 kDROP TABLE foo;% {. c: v, \$ m# i. t
source bar.sql
, @% \9 z- i# {% @# -- bar.sql
0 S2 ^, }  ^) @9 l$ F# c& \CREATE TABLE bar (i INT NOT NULL);+ c0 r) b2 F4 @& C# Z. T, {
$ mysql ... 现在,表 foo 消失了,创建了 bar 。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则