MySQL如何执行SQL脚本文件?

MySQL如何执行SQL脚本文件?

SQL脚本是个啥

以.sql结尾的关系型数据库脚本,其中存放的是一条条的SQL语句,和shell脚本一样,从上往下依次执行SQL条目。

要注意的是,每条语句都需要遵守SQL语句的书写格式,以;或\G结尾,不然就会报错。

如何书写

这其实和在数据库中操作一样,只不过是换成了免交互模式,你写入,MySQL执行。你写多少,数据库就执行多少,只需要注意语句是否有错就可以了。

测试SQL脚本

/*----------员工信息表----------*/

create database test;

use test;

create table staff

(

id int(10) primary key not null,

name char(4) not null,

age tinyint(5) not null,

sex enum('男','女') not null,

department set('人事','财务','市场') not null

);

desc test.staff;

insert into staff values(1,'张三',22,'男','人事');

insert into staff values(2,'李莉',23,'女','财务');

insert into staff values(3,'王五',24,'男','市场');

select * from test.staff;

执行方式

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

在命令行中执行

格式:mysql -u root -p 密码

我MySQL没有设置密码,并且SQL脚本在当前目录下。

[root@linux ~]# mysql -uroot

Field Type Null Key Default Extra

id int(10) NO PRI NULL

name char(4) NO NULL

age tinyint(5) NO NULL

sex enum('男','女') NO NULL

department set('人事','财务','市场') NO NULL

id name age sex department

1 张三 22 男 人事

2 李莉 23 女 财务

3 王五 24 男 市场

在数据库中执行

格式:source SQL脚本路径

mysql> source test.sql

Query OK, 1 row affected (0.10 sec)

Database changed

Query OK, 0 rows affected (0.17 sec)

+------------+---------------------------------+------+-----+---------+-------+

| Field | Type | Null | Key | Default | Extra |

+------------+---------------------------------+------+-----+---------+-------+

| id | int(10) | NO | PRI | NULL | |

| name | char(4) | NO | | NULL | |

| age | tinyint(5) | NO | | NULL | |

| sex | enum('男','女') | NO | | NULL | |

| department | set('人事','财务','市场') | NO | | NULL | |

+------------+---------------------------------+------+-----+---------+-------+

5 rows in set (0.00 sec)

Query OK, 1 row affected (0.00 sec)

Query OK, 1 row affected (0.00 sec)

Query OK, 1 row affected (0.00 sec)

+----+--------+-----+-----+------------+

| id | name | age | sex | department |

+----+--------+-----+-----+------------+

| 1 | 张三 | 22 | 男 | 人事 |

| 2 | 李莉 | 23 | 女 | 财务 |

| 3 | 王五 | 24 | 男 | 市场 |

+----+--------+-----+-----+------------+

3 rows in set (0.00 sec)

查询记录

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

mysql> select * from test.staff;

+----+--------+-----+-----+------------+

| id | name | age | sex | department |

+----+--------+-----+-----+------------+

| 1 | 张三 | 22 | 男 | 人事 |

| 2 | 李莉 | 23 | 女 | 财务 |

| 3 | 王五 | 24 | 男 | 市场 |

+----+--------+-----+-----+------------+

相关推荐

Windows的server版本的密码要求
365bet娱乐场网站

Windows的server版本的密码要求

📅 08-13 ⭐ 2607
电脑强制删除软件有哪些-3DM软件
365买球平台下载

电脑强制删除软件有哪些-3DM软件

📅 09-08 ⭐ 5572
游戏厅设备有哪些 电玩城电玩游戏机大全
365买球平台下载

游戏厅设备有哪些 电玩城电玩游戏机大全

📅 06-30 ⭐ 4834
鹃字的组词
365买球平台下载

鹃字的组词

📅 07-28 ⭐ 9678
青蛙食物选择与寿命存在着怎样的关系
365bet体育开户

青蛙食物选择与寿命存在着怎样的关系

📅 08-14 ⭐ 8171
怎样才能移动手机桌面上的图标
365bet娱乐场网站

怎样才能移动手机桌面上的图标

📅 08-15 ⭐ 4966
推荐阅读 ❤️