MySQL如何执行SQL脚本文件?

MySQL如何执行SQL脚本文件?

一.前言

1.1.什么是SQL脚本

当一个文件的扩展名是.sql,并且该文件中编写了大量的sql语句,我们称为这样的文件为sql脚本。

1.2.SQL脚本有什么用

首先可以完成数据迁移,生成数据库的脚本可以直接在另一个服务器的数据库中直接执行;另外就是可以提高数据访问的效率,并进行相关的数据处理。

二.前期准备

2.1.安装数据库

Docker安装mysql

2.2.准备SQL脚本

我们这里准备了一个测试脚本如下所示。

CREATE DATABASE school;
USE school;
/*----------学生信息表----------*/
CREATE TABLE `student` (
  `sid` int NOT NULL COMMENT '学号',
  `sname` varchar(100) DEFAULT NULL COMMENT '学生姓名',
  `gender` char(1) DEFAULT NULL COMMENT '学生性别',
  `class_id` int DEFAULT NULL COMMENT '班号',
  PRIMARY KEY (`sid`) USING BTREE
) COMMENT='学生表';

INSERT INTO student (sid, sname, gender, class_id) VALUES(1, '张三', '女', 1);
INSERT INTO student (sid, sname, gender, class_id) VALUES(2, '李四', '女', 1);
INSERT INTO student (sid, sname, gender, class_id) VALUES(3, '王五', '男', 2);
INSERT INTO student (sid, sname, gender, class_id) VALUES(4, '张三', '男', 3);

三.测试

有两种执行方式,一种是在数据库中执行,另一种是在命令行中执行。

3.1.在数据库中执行

首先我们打开命令行通过客户端连接mysql服务器,输入如下命令执行sql脚本,格式为source 【sql脚本文件路径全名】

source test.sql

3.2.在命令行中执行

首先我们打开命令行,输入如下的命令执行sql脚本,格式为mysql –u用户名 –p密码 –D数据库<【sql脚本文件路径全名】
注意:如果在sql脚本文件中使用了use 数据库,则-D数据库选项可以忽略。

mysql -uroot -p123456  <test.sql

3.3.验证数据

执行完成,查看最终的结果。

D:\test>mysql -uroot -p123456
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 60
Server version: 8.0.33 MySQL Community Server - GPL

Copyright (c) 2000, 2023, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> use school;
Database changed
mysql> select * from student;
+-----+-------+--------+----------+
| sid | sname | gender | class_id |
+-----+-------+--------+----------+
|   1 | 张三  ||        1 |
|   2 | 李四  ||        1 |
|   3 | 王五  ||        2 |
|   4 | 张三  ||        3 |
+-----+-------+--------+----------+
4 rows in set (0.00 sec)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值