首页 行业资讯 宠物日常 宠物养护 宠物健康 宠物故事

如何向mysql导入一个数据库全部导入

发布网友 发布时间:2022-04-21 20:39

我来回答

3个回答

懂视网 时间:2022-04-07 19:28

在 MySQL 中,可以使用 CREATE DATABASE 语句创建数据库,

简单语法格式如下:

CREATE DATABASE <数据库名>;

详细语法格式如下:

CREATE DATABASE [IF NOT EXISTS] <数据库名>
[[DEFAULT] CHARACTER SET <字符集名>] 
[[DEFAULT] COLLATE <校对规则名>];

[ ]中的内容是可选的。语法说明如下:

  • <数据库名>:创建数据库的名称。MySQL 的数据存储区将以目录方式表示 MySQL 数据库,因此数据库名称必须符合操作系统的文件夹命名规则,不能以数字开头,尽量要有实际意义。注意在 MySQL 中不区分大小写。

  • IF NOT EXISTS:在创建数据库之前进行判断,只有该数据库目前尚不存在时才能执行操作。此选项可以用来避免数据库已经存在而重复创建的错误。

  • [DEFAULT] CHARACTER SET:指定数据库的字符集。指定字符集的目的是为了避免在数据库中存储的数据出现乱码的情况。如果在创建数据库时不指定字符集,那么就使用系统的默认字符集。

  • [DEFAULT] COLLATE:指定字符集的默认校对规则。

  • MySQL 的字符集(CHARACTER)和校对规则(COLLATION)是两个不同的概念。字符集是用来定义 MySQL 存储字符串的方式,校对规则定义了比较字符串的方式。后面我们会单独讲解 MySQL 的字符集和校对规则。

    实例1:最简单的创建 MySQL 数据库的语句

    在 MySQL 中创建一个名为 test_db 的数据库。在 MySQL 命令行客户端输入 SQL 语句CREATE DATABASE test_db;即可创建一个数据库,输入的 SQL 语句与执行结果如下。

    mysql> CREATE DATABASE test_db;
    Query OK, 1 row affected (0.12 sec);

    “Query OK, 1 row affected (0.12 sec);”提示中,“Query OK”表示上面的命令执行成功,“1 row affected”表示操作只影响了数据库中一行的记录,“0.12 sec”则记录了操作执行的时间。

    若再次输入CREATE DATABASE test_db;语句,则系统会给出错误提示信息,如下所示:

    mysql> CREATE DATABASE test_db;
    ERROR 1007 (HY000): Can't create database 'test_db'; database exists

    提示不能创建“test_db”数据库,数据库已存在。MySQL 不允许在同一系统下创建两个相同名称的数据库。

    可以加上IF NOT EXISTS从句,就可以避免类似错误,如下所示:

    mysql> CREATE DATABASE IF NOT EXISTS test_db;
    Query OK, 1 row affected (0.12 sec)

    实例2:创建 MySQL 数据库时指定字符集和校对规则

    使用 MySQL 命令行工具创建一个测试数据库,命名为 test_db_char,指定其默认字符集为 utf8,默认校对规则为 utf8_chinese_ci(简体中文,不区分大小写),输入的 SQL 语句与执行结果如下所示:

    mysql> CREATE DATABASE IF NOT EXISTS test_db_char
     -> DEFAULT CHARACTER SET utf8
     -> DEFAULT COLLATE utf8_chinese_ci;
    Query OK, 1 row affected (0.03 sec)

    这时,可以使用SHOW CREATE DATABASE查看 test_db_char 数据库的定义声明,发现该数据库的指定字符集为 utf8,运行结果如下所示:

    mysql> SHOW CREATE DATABASE test_db_char;
    +--------------+-----------------------------------------------------+
    | Database | Create Database     |
    +--------------+-----------------------------------------------------+
    | test_db_char | CREATE DATABASE `test_db_char` /*!40100 DEFAULT CHARACTER SET utf8 */ |
    +--------------+-----------------------------------------------------+
    1 row in set (0.00 sec)

    “1 row in set (0.00 sec)”表示集合中有 1 行信息,处理时间为 0.00秒。时间为 0.00 秒并不代表没有花费时间,而是时间非常短,小于 0.01 秒。

    热心网友 时间:2022-04-07 16:36

    MySQL命令行导出数据库
    1,进入MySQL目录下的bin文件夹:cd
    MySQL中到bin文件夹的目录
    如我输入的命令行:cd
    C:\Program
    Files\MySQL\MySQL
    Server
    4.1\bin
    (或者直接将windows的环境变量path中添加该目录)
    2,导出数据库:mysqlmp
    -u
    用户名
    -p
    数据库名
    >
    导出的文件名
    如我输入的命令行:mysqlmp
    -u
    root
    -p
    news
    >
    news.sql
    (输入后会让你输入进入MySQL的密码)
    (如果导出单张表的话在数据库名后面输入表名即可)
    3、会看到文件news.sql自动生成到bin文件下
    命令行导入数据库
    1,将要导入的.sql文件移至bin文件下,这样的路径比较方便
    2,同上面导出的第1步
    3,进入MySQL:mysql
    -u
    用户名
    -p
    如我输入的命令行:mysql
    -u
    root
    -p
    (输入同样后会让你输入MySQL的密码)
    4,在MySQL-Front中新建你要建的数据库,这时是空数据库,如新建一个名为news的目标数据库
    5,输入:mysql>use
    目标数据库名
    如我输入的命令行:mysql>use
    news;
    6,导入文件:mysql>source
    导入的文件名;
    如我输入的命令行:mysql>source
    news.sql;
    MySQL备份和还原,都是利用mysqlmp、mysql和source命令来完成的。

    热心网友 时间:2022-04-07 17:54

    db1为原数据库,db2为要导出到的数据库,fromtable
    是要导出的表名
    1.方法一:
    登录导出到的数据库,执行
    create
    table
    fromtable
    select
    *
    from
    db1.fromtable;
    2.方法二:
    在cmd下执行,mysqlmp
    -u
    root
    -p
    db1
    fromtable
    file=d:/fromtable.sql;
    输入秘密,root为用户名
    登录db2
    执行
    source
    d:/fromtable.sql;
    3.方法三:
    登录db1
    执行
    select
    *
    from
    fromtable
    into
    outfile
    "d:/fromtable
    .txt";
    导出纯数据格式
    登录db2
    执行
    load
    data
    infile
    d:/fromtable
    .txt
    into
    table
    fromtable;
    需要先建一张和原表结构一样的空表。
    4.建一个odbc连接,先导出到access中,再导出到另一个库中。

    声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com