Linux命令行执行.sql文件及常用sql命令

mysql -u root -p databaseName < /user/local/my.sql(sql文件路径)
然后输入mysql密码即可.

常用命令

  1. show databases;

  2. use 数据库名; //选择数据库

  3. show tables; //查看选中数据库下的所有表

  4. show columns from 表名; //返回表的详细信息
    这里写图片描述

  5. show create table 表名; //显示创建数据库表的MySQL语句
    这里写图片描述

  6. 为了匹配特殊字符,必须用\为前导。\\-表示查找-,\\.表示查找.匹配反斜杠()字符本身,需要使用\\\。多数正则表达式使用单个反斜杠转义特殊字符,单MySql要求两个反斜杠(MySql自己解释一个,正则表达式库解释另一个)。

  7. select prod_name from products limit 5; //指示MySQL返回不多于5行

  8. 为得出下一个5行,可指定要检索的开始行和行数。
    select prod_name from products limit 5,5; //返回从第5行开始的5行

  9. select prod_id, prod_name, prod_price from products order by prod_price, prod_name; //先按价格,再按名称排序

  10. 添加表字段 alter add命令用来增加表的字段。
    alter add命令格式:alter table 表名 add字段 类型 其他;
    例如: ALTER TABLE USER ADD postcode INT(6);

  11. 删除列:alter table 表名 drop column 列名;
    ALTER TABLE USER DROP COLUMN postcode;

  12. 修改表名:rename table 原表名 to 新表名;
    这里写图片描述

  13. desc命令用于获取数据表结构。(show columns from 表名; 也能获取数据表结构。)
    这里写图片描述

<think>我们正在讨论的是MySQL数据库,根据用户的问题和提供的引用,用户想知道如何在命令行中运行现有的MySQL .sql文件。 从引用[1]中我们知道MySQL命令行工具的基本启动方式:`mysql -u username -p` 引用[2]中展示了在MySQL命令行执行`show databases;`的结果,但用户需要的是执行外部.sql文件。 引用[3]展示了在编程语言(Python)中执行SQL语句的方法,但用户要求的是命令行方式。 因此,我们需要给出在命令行执行MySQL .sql文件的方法。 方法有两种常见形式: 1.MySQL命令行客户端内部使用`source`命令 2. 在操作系统的命令行中通过重定向输入或使用`-e`选项(但注意`-e`通常用执行单条语句,对于文件我们使用重定向) 对于执行整个文件,我们推荐使用重定向的方式,因为这样更直接。 具体步骤: 步骤1:打开操作系统的命令行(如Windows的CMD或PowerShell,Linux/macOS的终端) 步骤2:使用以下命令格式: mysql -u 用户名 -p 数据库名 < 要执行SQL文件路径 注意: - 如果SQL文件中没有指定使用哪个数据库,那么需要在命令中指定数据库名(在`<`之前)。 - 如果SQL文件中已经包含`USE database_name;`这样的语句,那么命令中可以省略数据库名。 示例: mysql -u root -p mydatabase < /path/to/yourfile.sql 执行后,系统会提示输入密码。 另外,也可以在MySQL命令行客户端内部执行mysql> source /path/to/yourfile.sql; 但这种方式需要先登录到MySQL命令行。 因此,我们给出两种方法,并推荐第一种(重定向)因为一步到位。 注意事项: - 确保文件路径正确,如果路径包含空格或特殊字符,请使用引号括起来(在Linux/macOS中使用单引号或双引号,Windows中使用双引号)。 - 确保用户有权限执行文件中的SQL语句。 根据引用[2]中展示的,用户可能已经有一个数据库环境,所以我们可以假设用户已经安装了MySQL客户端。 现在,我们按照要求生成相关问题。</think>在 MySQL 命令行执行 `.sql` 文件有两种常用方法,具体操作如下: ### 📌 方法一:重定向输入(推荐) ```bash mysql -u 用户名 -p 数据库名 < 文件路径.sql ``` **示例**: ```bash mysql -u root -p mydatabase < /home/user/script.sql ``` **特点**: 1. 执行后自动提示输入密码 2. 支持大文件执行 3. 适用于批处理脚本[^1] ### 📌 方法二:MySQL 命令行执行 1. 先登录 MySQL: ```bash mysql -u 用户名 -p ``` 2. 选择数据库: ```sql USE 数据库名; ``` 3. 执行 SQL 文件: ```sql SOURCE 文件路径.sql; ``` **示例**: ```sql SOURCE /var/sql/init_data.sql; ``` **特点**: 1. 可实时查看执行进度 2. 适合交互式调试 3. 需完整路径(相对路径可能报错)[^2] --- ### ⚠️ 注意事项 1. **路径格式**: - Linux/macOS:`/absolute/path/to/file.sql` - Windows:`C:\\path\\to\\file.sql` 或 `/C/path/to/file.sql` 2. **权限问题**: - 确保系统用户对 SQL 文件有读取权限 - 确保数据库用户有执行 SQL 的权限 3. **错误处理**: - 添加 `-v` 参数显示详细输出:`mysql -v -u root ...` - 大型文件可添加 `--force` 忽略错误继续执行 4. **编码问题**: - 若文件含中文,启动时指定编码:`mysql --default-character-set=utf8mb4 ...` > 💡 **提示**:执行后无输出通常表示成功,可通过 `SHOW WARNINGS;` 查看潜在问题[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值