创建MySQL数据库与SQL文件导入在一个单一的行

pkbketx9  于 2023-05-05  发布在  Mysql
关注(0)|答案(3)|浏览(102)

我有一个SQL文件,我想从命令行上传。为此,我首先需要进入MySQL并创建数据库

mysql> create database myDB;

然后从命令行调用以下命令:

mysql -u username -p myDB < myDB.sql

有没有一种方法可以在命令行的一行中完成这一切?
我尝试在myDB.sql文件的开头添加以下行(以及各种组合):

create database `myDB`;
use `myDB`;

然后跑

mysql -u username -p < myDB.sql

但这并不奏效。

ERROR 1046 (3D000) at line 7: No database selected
rbl8hiat

rbl8hiat1#

.sql文件通常只是一系列SQL DDL/DML查询。如果它是由mysqldump创建的,那么它应该包含从头开始重新创建数据库所需的一切,包括必要的create dbcreate table查询。
如果它们不存在,您可以通过简单的文件连接/修改将它们手动添加到文件的顶部,例如

echo 'create database foo;' > new.sql
cat otherstuff.sql >> new.sql
mysql < new.sql
plupiseo

plupiseo2#

如果您使用--databases--all-databases选项生成mysqldump文件,则它会将正确的CREATE DATABASE语句放入转储文件中。

6jjcrrmo

6jjcrrmo3#

mysqladmin -u username -p create myDB
mysql -u username -p myDB < myDB.sql

相关问题