连接数据库是通过指定驱动类型、服务器地址、端口、数据库名、用户名和密码,建立应用程序与数据库管理系统之间的通信通道,成功连接后,应用程序即可通过Connection对象执行SQL命令,实现数据的查询、插入、更新和删除等交互操作。
通过MySQL命令行客户端执行
适用场景:服务器环境或习惯命令行的用户。
步骤:
-
登录MySQL:
mysql -u 用户名 -p
输入密码后进入交互界面。
-
选择数据库:
USE 数据库名;
-
执行SQL语句:
- 查询数据(如
SELECT
):SELECT * FROM 表名;
- 更新数据(如
INSERT
):INSERT INTO 表名 (列1, 列2) VALUES ('值1', '值2');
- 执行SQL文件:
mysql -u 用户名 -p 数据库名 < 文件路径.sql
- 查询数据(如
-
退出:
EXIT;
通过图形化工具执行(以MySQL Workbench为例)
适用场景:可视化操作,适合初学者或复杂查询。
步骤:
- 打开MySQL Workbench,连接数据库。
- 点击左上角
新建查询标签页
(闪电图标旁)。 - 在编辑区输入SQL语句,
CREATE TABLE users (id INT, name VARCHAR(50));
- 点击 闪电图标(或按
Ctrl+Enter
)执行当前语句。- 执行部分语句:选中代码后点击闪电图标。
- 结果在下方
Result Grid
中显示。
通过编程语言执行(以Python为例)
适用场景:应用程序集成数据库操作。
示例代码(使用mysql-connector-python
):
import mysql.connector db = mysql.connector.connect( host="localhost", user="用户名", password="密码", database="数据库名" ) cursor = db.cursor() # 执行SQL语句 cursor.execute("UPDATE products SET price = 19.99 WHERE id = 101") # 提交更改(写操作必需) db.commit() # 关闭连接 cursor.close() db.close()
关键注意事项
- 权限控制:
- 确保用户有执行对应语句的权限(如
GRANT
授权)。
- 确保用户有执行对应语句的权限(如
- 语句结束符:
命令行中每条语句必须以分号()结束。
- 错误处理:
- 语法错误会返回提示(如
ERROR 1064
),需检查拼写和引号闭合。
- 语法错误会返回提示(如
- 安全实践:
- 防SQL注入:编程时使用参数化查询,避免拼接字符串。
cursor.execute("SELECT * FROM users WHERE name = %s", (user_input,))
- 生产环境避免直接执行未验证的SQL文件。
- 防SQL注入:编程时使用参数化查询,避免拼接字符串。
常见问题解决
- 权限拒绝:
用root账户授权:GRANT ALL PRIVILEGES ON 数据库名.* TO '用户名'@'localhost'; FLUSH PRIVILEGES;
- 中文乱码:
连接时指定编码:mysql -u 用户名 -p --default-character-set=utf8
掌握MySQL语句执行方法能高效管理数据:
- 命令行适合快速操作,
- 图形工具提升可视化效率,
- 编程接口用于自动化任务。
实践建议:备份数据后操作写命令(如DELETE
),并遵循最小权限原则保障安全。
引用说明:
本文操作基于MySQL 8.0官方文档,安全规范参考OWASP SQL注入防护指南,命令行工具适用于Linux/Windows/macOS,图形工具以MySQL Workbench 8.0为例。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/5267.html