MySQL执行外部sql脚本文件的命令及sql脚本的基本写法

最近重新踩了一下mysql 这边的坑,记录一下自己忽略的地方~~

sql脚本是包含一到多个sql命令的sql语句,将这些sql脚本放在一个文件中,然后通过相关的命令执行这个sql脚本文件。

SQL脚本可用于插入数据,读取数据,更新数据,和删除数据。它们也可以用于创建数据库对象,如表,视图,存储过程,他们甚至可以用于创建整个数据库本身 - 完整的表,数据,用户,等等。
 

1、编写sql脚本

create_schema.sql:

CREATE SCHEMA test;

创建一个名叫“test”的数据库

create_table.sql:

--切换数据库
use test;

-- Table structure for table `user`
DROP TABLE IF EXISTS `user`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;

CREATE TABLE `user` (
  `id` varchar(50) NOT NULL,
  `username` varchar(50) NOT NULL,
  `hobby` varchar(50) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;

sql脚本语句是从上往下执行的,要创建表,得先切换到指定的数据库中

 drop_schema.sql:

DROP SCHEMA user;

truncate_table:

TRUNCATE `test`.`user`;

Truncate是一个能够快速清空资料表内所有资料的SQL语法。并且能针对具有自动递增值的字段,做计数重置归零重新计算的作用。

2、执行sql脚本

方法一 进入命令行
mysql –u用户名 –p密码 –D数据库<【sql脚本文件路径全名】,示例:
mysql –uroot –p123456 -Dtest < /home/zj/create_table.sql
注意:
如果在sql脚本文件中使用了use 数据库,则-D数据库选项可以忽略


方法二 进入mysql的控制台后,使用source命令执行
Mysql>source 【sql脚本文件的路径全名】 或 Mysql>\. 【sql脚本文件的路径全名】,示例:
source /home/zj/create_table.sql

https://blog.csdn.net/vebasan/article/details/7619911

https://blog.csdn.net/qq_16485855/article/details/51731211

猜你喜欢

转载自blog.csdn.net/qq_41603102/article/details/88948075