用Python、Java、C++三种方式连接Mysql数据库并完成增删改查

您所在的位置:网站首页 python链接oracle数据库以及数据库的增删改查 用Python、Java、C++三种方式连接Mysql数据库并完成增删改查

用Python、Java、C++三种方式连接Mysql数据库并完成增删改查

2023-10-14 19:22| 来源: 网络整理| 查看: 265

导览 前言Python准备工作连接数据库创建连接获取游标执行sql关闭连接 增删改查 Java准备工作连接数据库加载驱动创建连接创建statment对象和结果集 增删改查增删改查询 关闭资源 C++准备工作连接数据库头文件连接增删改查询 后续

前言

MySql作为目前较为流行的关系型数据库,经常会被使用。在不同语言框架下,对于数据库的连接与消息交互也是不同的,本篇文章将讲述Python、Java、C++三种不同语言框架连接数据库,并实现增删改查。

Python 准备工作

Python作为目前较为热门的脚本语言,拥有着大量的第三方库使用,因此Python的准备工作十分简单,只需下载mysql-connector库即可

pip install mysql-connector

或者在Pycharm中直接下载,到此准备工作就算完成。

连接数据库

Python操作Mysql数据库分为4部分

创建连接

创建连接时需要输入数据库的相关信息,同时Mysql8.0版本的因为加密政策的改变,需要在连接时选择正确的加密策略。

conn = connector.connect( host="localhost", port=3306, user="yourUserName", passwd="yourPassword", database="youDatabase", charset="utf8", #根据Mysql版本情况选择 # auth_plugin="caching_sha2_password" auth_plugin="mysql_native_password" ) 获取游标 cursor=conn.cursor() 执行sql

详见增删改查

关闭连接 conn.close() 增删改查

增删改查时需要注意防止Sql注入,但这样会有个坑,当参数只有一项时,如:

params=(id)

需写成

params=(id,)

否则会发生Sql语句异常 下面是增删改查的详细代码

#增 def addUser(self): name=input("请输入添加的用户名:") pwd=input("请输入添加的密码:") params=(name,pwd) sql="INSERT INTO users(user_name,pwd) VALUES (%s,%s)" try: self.cursor.execute(sql, params) self.conn.commit() print("插入成功") except Exception as e: print(e) #删 def delUser(self): id=input("请输入需要删除的id:") params=(id,) sql= "DELETE FROM users WHERE id = %s" try: self.cursor.execute(sql,params) self.conn.commit() print("删除成功") except Exception as e: print(e) #改 def updateUser(self): name=input("请输入需要改变密码的用户:") pwd=input("请输入新的密码:") params=(pwd,name) sql="UPDATE users SET pwd= %s WHERE user_name= %s" try: self.cursor.execute(sql,params) self.conn.commit() print("修改成功") except Exception as e: print(e) #查 def find(self,parmas): try: if parmas==None: sql="SELECT * FROM users" self.cursor.execute(sql) else: sql="SELECT * FROM users WHERE user_name= %s AND pwd= %s" self.cursor.execute(sql,parmas) res=self.cursor.fetchall() for i in res: print(i) print("查询成功") except Exception as e: print(e) Java 准备工作

Java在连接Mysql数据库前首先需要下载对应版本的JDBC,并放入项目模块中。 下载地址:点击此处

连接数据库 加载驱动 Class.forName("com.mysql.jdbc.Driver"); 创建连接 Connection connection= DriverManager.getConnection( "jdbc:mysql://localhost:3306/**yourDatabase**?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai", "yourUserName", "yourPassword"); 创建statment对象和结果集 PreparedStatement statement=null; ResultSet resultSet=null; 增删改查 增删改

增删改方法类似,在这统一写,不做赘述

String sql="INSERT INTO users(user_name,pwd) VALUES (?,?)"; // String sql="DELETE FROM users WHERE id = ?;"; // String sql="UPDATE users SET pwd= ? WHERE user_name= ?;"; statement=connection.prepareStatement(sql); statement.setString(1,"kkk"); statement.setString(2,"kkkk"); resultSet=preparedStatement.executeUpdate(); 查询 String sql="SELECT * FROM users WHERE id=? AND user_name=?;"; statement=connection.prepareStatement(sql); preparedStatement.setInt(1,"1"); preparedStatement.setString(2,"yang"); resultSet=statement.executeQuery(); //循环打印 while (resultSet.next()){ System.out.println(resultSet.getInt(1)); System.out.println(resultSet.getString(2)); System.out.println(resultSet.getString(3)); } 关闭资源 resultSet.close(); statement.close(); connection.close(); C++ 准备工作

C++连接MySQL数据库的方法存在多种,这里使用的是 MySQL Connector/C++。 这是款遵循JDBC规范的MySQL连接器,因此代码与Java中使用JDBC的代码类似。 这里使用的是vs2019,因此使用CLion可能在前期准备工作方面会出现问题 前期准备

连接数据库 头文件 #include #include #include 连接 sql::mysql::MySQL_Driver* driver = NULL; sql::Connection* conn = NULL; driver = sql::mysql::get_mysql_driver_instance(); conn = driver->connect( "tcp://localhost:3306/hj", "root", "19990709" ); conn->setSchema("hj"); cout executeUpdate(); 查询 string find = "SELECT * FROM users;"; sql::Statement* statement = conn->createStatement(); sql::ResultSet* resultSet = statement->executeQuery(find); while (resultSet->next()) { cout


【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3