最近重新踩了一下mysql 这边的坑,记录一下自己忽略的地方~~
sql脚本是包含一到多个sql命令的sql语句,将这些sql脚本放在一个文件中,然后通过相关的命令执行这个sql脚本文件。
SQL脚本可用于插入数据,读取数据,更新数据,和删除数据。它们也可以用于创建数据库对象,如表,视图,存储过程,他们甚至可以用于创建整个数据库本身 - 完整的表,数据,用户,等等。
作者:小牛呼噜噜 | https://xiaoniuhululu.com
计算机内功、JAVA底层、面试相关资料等更多精彩文章在公众号「小牛呼噜噜 」
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