如何用命令执行sql文件

结论:对SQL文件运行命令行方法: 1 、MySQL基本命令:mysql -u 用户名 -p 数据库名< SQL default-character-set=gbk> 5 .高级操作:批量执行、日志记录、非交互式密码输入。
6 . 注意:检查路径、备份数据库和测试环境。

1. SQL的基本操作指令有哪些?至少举出5个

说实话,这一系列的说明看起来就像是从课本上抄来的,但是用起来还是需要花点功夫的。
刚接触MySQL的时候,这个命令让我纠结的次数比手指还多。

例如第二个CREATE DATABASE数据库名;第一次使用的时候,数据库名称是随机选的“test_db”,但是发现好几天都无法访问。
检查了半天,发现是权限问题——当时我傻乎乎地以为是指令写错了。
老实说,现在想起来似乎很可笑,但这对于新手来说是常态。

第 6 项 DELETE FROM 表名;对此要特别小心。
我有一个朋友写了一个删除脚本,结果却把参数写成了 DELETE FROM ;,直接清空了整个数据库——幸好当天刚刚做了备份。
这样的操作现在想起来都让我害怕,但当时我真的觉得“哇,那个命令好强大啊!”
Item 9 LOAD LOCAL INFILE DATA "d:/mysql.txt" INTO TABLE 表名;这篇文章给我留下了深刻的印象。
有一次我需要导入几百M的日志文件,直接使用LOAD DATA INFILE,结果就是超时。
然后,我切换到LOAD DATA INFILE并添加LOW_PRIORITY参数来解决。
我查了整整一天的资料,发现网上的资料说法不一。
有的说文件路径不能包含引号,有的说LOAD DATA LOCAL INFILE不能在Windows系统中使用——看得我头大。

第1 0条SOURCE:/mysql.sql;这是最常用的。
我经常做mysqldump备份,恢复时直接使用SOURCE命令。
但是,您应该注意一个陷阱。
如果SQL文件中的路径没有进行转义,比如d:/table.sql,在Linux环境下直接使用会报错。
我个人没有在Linux环境下运行过SOURCE命令。
我记得在Windows系统中反斜杠必须转义为\\,但我建议你检查一下。

如今,这些命令任何一个都可以随便写,但一开始,每个人都要经历一个陷阱才能理解它。
例如INSERT INTO插入字符串时,使用不正确的引号直接导致数据乱码; UPDATE状态写错了,整个表都变了——这个教训太深了。