B2B网络软件

标题: 数据库MySQL功能支持创建表插入中文数据查询删除功能例子 [打印本页]

作者: YYPOST群发软件    时间: 8 小时前
标题: 数据库MySQL功能支持创建表插入中文数据查询删除功能例子
数据库MySQL功能支持创建表插入中文数据查询删除功能例子

数据库MySQL功能支持创建表插入中文数据查询删除功能例子 B2B网络软件

数据库MySQL功能支持创建表插入中文数据查询删除功能例子 B2B网络软件

  1. //🍎交流QQ群711841924群一,苹果内测群,528816639
  2. // 中文数据库操作脚本
  3. // 支持创建表、插入中文数据、查询、删除等功能

  4. printl("===== 中文数据库操作脚本 =====");

  5. var conn = null;
  6. var pstmt = null;

  7. /**
  8. * 连接数据库
  9. */
  10. function connectDatabase() {
  11.     try {
  12.         var url = "jdbc:mysql://38.10.31.18:3306/aabcf";
  13.         var user = "aabcf";
  14.         var password = "s2iPJeEDSKExJTMN";
  15.         var params = "?useSSL=false&characterEncoding=utf8&connectTimeout=5000";
  16.         
  17.         printl("正在连接数据库...");
  18.         conn = mysql.getConnection(url, user, password);
  19.         printl("✅ 数据库连接成功");
  20.         return true;
  21.     } catch (e) {
  22.         printl("❌ 数据库连接失败: " + e.message);
  23.         return false;
  24.     }
  25. }

  26. /**
  27. * 创建员工表
  28. */
  29. function createEmployeeTable() {
  30.     try {
  31.         var sql = "CREATE TABLE IF NOT EXISTS 员工信息 (" +
  32.                   "员工编号 INT AUTO_INCREMENT PRIMARY KEY," +
  33.                   "姓名 VARCHAR(50) NOT NULL," +
  34.                   "部门 VARCHAR(50)," +
  35.                   "职位 VARCHAR(50)," +
  36.                   "入职日期 DATE," +
  37.                   "薪资 DECIMAL(10,2)" +
  38.                   ") ENGINE=InnoDB DEFAULT CHARSET=utf8";
  39.                   
  40.         var stmt = conn.createStatement();
  41.         stmt.executeUpdate(sql);
  42.         printl("✅ 员工信息表创建成功");
  43.         stmt.close();
  44.         return true;
  45.     } catch (e) {
  46.         printl("❌ 创建员工信息表失败: " + e.message);
  47.         return false;
  48.     }
  49. }

  50. /**
  51. * 插入中文员工数据
  52. */
  53. function insertEmployeeData() {
  54.     try {
  55.         var employees = [
  56.             {姓名: "张三", 部门: "技术部", 职位: "工程师", 入职日期: "2023-01-15", 薪资: 8000.00},
  57.             {姓名: "李四", 部门: "市场部", 职位: "经理", 入职日期: "2022-05-20", 薪资: 12000.00},
  58.             {姓名: "王五", 部门: "人事部", 职位: "专员", 入职日期: "2023-03-10", 薪资: 6500.00},
  59.             {姓名: "赵六", 部门: "财务部", 职位: "会计师", 入职日期: "2021-11-08", 薪资: 9500.00},
  60.             {姓名: "钱七", 部门: "技术部", 职位: "架构师", 入职日期: "2020-08-22", 薪资: 15000.00}
  61.         ];
  62.         
  63.         var sql = "INSERT INTO 员工信息 (姓名, 部门, 职位, 入职日期, 薪资) VALUES (?, ?, ?, ?, ?)";
  64.         pstmt = conn.prepareStatement(sql);
  65.         
  66.         var insertedRecords = 0;
  67.         for (var i = 0; i < employees.length; i++) {
  68.             var emp = employees[i];
  69.             pstmt.setString(1, emp.姓名);
  70.             pstmt.setString(2, emp.部门);
  71.             pstmt.setString(3, emp.职位);
  72.             pstmt.setDate(4, java.sql.Date.valueOf(emp.入职日期));
  73.             pstmt.setBigDecimal(5, new java.math.BigDecimal(emp.薪资.toFixed(2)));
  74.             
  75.             pstmt.executeUpdate();
  76.             insertedRecords++;
  77.         }
  78.         
  79.         printl("✅ 成功插入 " + insertedRecords + " 条员工记录");
  80.         return true;
  81.     } catch (e) {
  82.         printl("❌ 插入员工数据失败: " + e.message);
  83.         return false;
  84.     }
  85. }

  86. /**
  87. * 查询员工数据
  88. */
  89. function queryEmployeeData() {
  90.     try {
  91.         var sql = "SELECT 员工编号, 姓名, 部门, 职位, 入职日期, 薪资 FROM 员工信息 ORDER BY 员工编号";
  92.         var stmt = conn.createStatement();
  93.         var rs = stmt.executeQuery(sql);
  94.         
  95.         printl("\n=== 员工信息查询结果 ===");
  96.         printl("员工编号\t姓名\t\t部门\t\t职位\t\t入职日期\t\t薪资");
  97.         printl("------------------------------------------------------------------------");
  98.         
  99.         var count = 0;
  100.         while (rs.next()) {
  101.             var id = rs.getInt("员工编号");
  102.             var name = rs.getString("姓名");
  103.             var dept = rs.getString("部门");
  104.             var position = rs.getString("职位");
  105.             var hireDate = rs.getDate("入职日期");
  106.             var salary = rs.getBigDecimal("薪资");
  107.             
  108.             // 格式化输出
  109.             var nameStr = name + "\t\t";
  110.             if (name.length >= 3) nameStr = name + "\t";
  111.             
  112.             var deptStr = dept + "\t\t";
  113.             if (dept.length >= 3) deptStr = dept + "\t";
  114.             
  115.             printl(id + "\t\t" + nameStr + deptStr + position + "\t\t" + hireDate + "\t" + salary);
  116.             count++;
  117.         }
  118.         
  119.         printl("------------------------------------------------------------------------");
  120.         printl("总共查询到 " + count + " 条员工记录\n");
  121.         
  122.         rs.close();
  123.         stmt.close();
  124.         return true;
  125.     } catch (e) {
  126.         printl("❌ 查询员工数据失败: " + e.message);
  127.         return false;
  128.     }
  129. }

  130. /**
  131. * 删除特定员工记录
  132. */
  133. function deleteEmployeeByName(name) {
  134.     try {
  135.         var sql = "DELETE FROM 员工信息 WHERE 姓名 = ?";
  136.         pstmt = conn.prepareStatement(sql);
  137.         pstmt.setString(1, name);
  138.         var rowsAffected = pstmt.executeUpdate();
  139.         printl("✅ 删除姓名为 '" + name + "' 的员工记录,影响行数: " + rowsAffected);
  140.         return true;
  141.     } catch (e) {
  142.         printl("❌ 删除员工记录失败: " + e.message);
  143.         return false;
  144.     }
  145. }

  146. /**
  147. * 更新员工薪资
  148. */
  149. function updateEmployeeSalary(name, newSalary) {
  150.     try {
  151.         var sql = "UPDATE 员工信息 SET 薪资 = ? WHERE 姓名 = ?";
  152.         pstmt = conn.prepareStatement(sql);
  153.         pstmt.setBigDecimal(1, newSalary);
  154.         pstmt.setString(2, name);
  155.         var rowsAffected = pstmt.executeUpdate();
  156.         printl("✅ 更新姓名为 '" + name + "' 的员工薪资为 " + newSalary + ",影响行数: " + rowsAffected);
  157.         return true;
  158.     } catch (e) {
  159.         printl("❌ 更新员工薪资失败: " + e.message);
  160.         return false;
  161.     }
  162. }

  163. /**
  164. * 关闭数据库连接
  165. */
  166. function closeConnection() {
  167.     try {
  168.         if (pstmt != null) {
  169.             pstmt.close();
  170.         }
  171.         if (conn != null) {
  172.             conn.close();
  173.         }
  174.         printl("✅ 数据库连接已关闭");
  175.     } catch (e) {
  176.         printl("❌ 关闭连接时出错: " + e.message);
  177.     }
  178. }

  179. // 主程序执行流程
  180. try {
  181.     // 1. 连接数据库
  182.     if (!connectDatabase()) {
  183.         throw new Error("数据库连接失败");
  184.     }
  185.    
  186.     // 2. 创建员工表
  187.     if (!createEmployeeTable()) {
  188.         throw new Error("创建员工表失败");
  189.     }
  190.    
  191.     // 3. 插入员工数据
  192.     if (!insertEmployeeData()) {
  193.         throw new Error("插入员工数据失败");
  194.     }
  195.    
  196.     // 4. 查询所有员工记录
  197.     queryEmployeeData();
  198.    
  199.     // 5. 更新员工薪资
  200.     printl("=== 更新张三的薪资 ===");
  201.     updateEmployeeSalary("张三", new java.math.BigDecimal("9500.00"));
  202.    
  203.     // 6. 再次查询所有员工记录
  204.     queryEmployeeData();
  205.    
  206.     // 7. 删除一名员工
  207.     printl("=== 删除员工王五 ===");
  208.     deleteEmployeeByName("王五");
  209.    
  210.     // 8. 最后查询所有员工记录
  211.     queryEmployeeData();
  212.    
  213. } catch (e) {
  214.     printl("❌ 程序执行过程中发生错误: " + e.message);
  215. } finally {
  216.     // 确保连接被关闭
  217.     closeConnection();
  218. }

  219. printl("===== 中文数据库操作脚本结束 =====");
复制代码








欢迎光临 B2B网络软件 (http://bbs.niubt.cn/) Powered by Discuz! X3.2