 | |  |  |
数据库MySQL功能支持创建表插入中文数据查询删除功能例子
- //🍎交流QQ群711841924群一,苹果内测群,528816639
- // 中文数据库操作脚本
- // 支持创建表、插入中文数据、查询、删除等功能
- printl("===== 中文数据库操作脚本 =====");
- var conn = null;
- var pstmt = null;
- /**
- * 连接数据库
- */
- function connectDatabase() {
- try {
- var url = "jdbc:mysql://38.10.31.18:3306/aabcf";
- var user = "aabcf";
- var password = "s2iPJeEDSKExJTMN";
- var params = "?useSSL=false&characterEncoding=utf8&connectTimeout=5000";
-
- printl("正在连接数据库...");
- conn = mysql.getConnection(url, user, password);
- printl("✅ 数据库连接成功");
- return true;
- } catch (e) {
- printl("❌ 数据库连接失败: " + e.message);
- return false;
- }
- }
- /**
- * 创建员工表
- */
- function createEmployeeTable() {
- try {
- var sql = "CREATE TABLE IF NOT EXISTS 员工信息 (" +
- "员工编号 INT AUTO_INCREMENT PRIMARY KEY," +
- "姓名 VARCHAR(50) NOT NULL," +
- "部门 VARCHAR(50)," +
- "职位 VARCHAR(50)," +
- "入职日期 DATE," +
- "薪资 DECIMAL(10,2)" +
- ") ENGINE=InnoDB DEFAULT CHARSET=utf8";
-
- var stmt = conn.createStatement();
- stmt.executeUpdate(sql);
- printl("✅ 员工信息表创建成功");
- stmt.close();
- return true;
- } catch (e) {
- printl("❌ 创建员工信息表失败: " + e.message);
- return false;
- }
- }
- /**
- * 插入中文员工数据
- */
- function insertEmployeeData() {
- try {
- var employees = [
- {姓名: "张三", 部门: "技术部", 职位: "工程师", 入职日期: "2023-01-15", 薪资: 8000.00},
- {姓名: "李四", 部门: "市场部", 职位: "经理", 入职日期: "2022-05-20", 薪资: 12000.00},
- {姓名: "王五", 部门: "人事部", 职位: "专员", 入职日期: "2023-03-10", 薪资: 6500.00},
- {姓名: "赵六", 部门: "财务部", 职位: "会计师", 入职日期: "2021-11-08", 薪资: 9500.00},
- {姓名: "钱七", 部门: "技术部", 职位: "架构师", 入职日期: "2020-08-22", 薪资: 15000.00}
- ];
-
- var sql = "INSERT INTO 员工信息 (姓名, 部门, 职位, 入职日期, 薪资) VALUES (?, ?, ?, ?, ?)";
- pstmt = conn.prepareStatement(sql);
-
- var insertedRecords = 0;
- for (var i = 0; i < employees.length; i++) {
- var emp = employees[i];
- pstmt.setString(1, emp.姓名);
- pstmt.setString(2, emp.部门);
- pstmt.setString(3, emp.职位);
- pstmt.setDate(4, java.sql.Date.valueOf(emp.入职日期));
- pstmt.setBigDecimal(5, new java.math.BigDecimal(emp.薪资.toFixed(2)));
-
- pstmt.executeUpdate();
- insertedRecords++;
- }
-
- printl("✅ 成功插入 " + insertedRecords + " 条员工记录");
- return true;
- } catch (e) {
- printl("❌ 插入员工数据失败: " + e.message);
- return false;
- }
- }
- /**
- * 查询员工数据
- */
- function queryEmployeeData() {
- try {
- var sql = "SELECT 员工编号, 姓名, 部门, 职位, 入职日期, 薪资 FROM 员工信息 ORDER BY 员工编号";
- var stmt = conn.createStatement();
- var rs = stmt.executeQuery(sql);
-
- printl("\n=== 员工信息查询结果 ===");
- printl("员工编号\t姓名\t\t部门\t\t职位\t\t入职日期\t\t薪资");
- printl("------------------------------------------------------------------------");
-
- var count = 0;
- while (rs.next()) {
- var id = rs.getInt("员工编号");
- var name = rs.getString("姓名");
- var dept = rs.getString("部门");
- var position = rs.getString("职位");
- var hireDate = rs.getDate("入职日期");
- var salary = rs.getBigDecimal("薪资");
-
- // 格式化输出
- var nameStr = name + "\t\t";
- if (name.length >= 3) nameStr = name + "\t";
-
- var deptStr = dept + "\t\t";
- if (dept.length >= 3) deptStr = dept + "\t";
-
- printl(id + "\t\t" + nameStr + deptStr + position + "\t\t" + hireDate + "\t" + salary);
- count++;
- }
-
- printl("------------------------------------------------------------------------");
- printl("总共查询到 " + count + " 条员工记录\n");
-
- rs.close();
- stmt.close();
- return true;
- } catch (e) {
- printl("❌ 查询员工数据失败: " + e.message);
- return false;
- }
- }
- /**
- * 删除特定员工记录
- */
- function deleteEmployeeByName(name) {
- try {
- var sql = "DELETE FROM 员工信息 WHERE 姓名 = ?";
- pstmt = conn.prepareStatement(sql);
- pstmt.setString(1, name);
- var rowsAffected = pstmt.executeUpdate();
- printl("✅ 删除姓名为 '" + name + "' 的员工记录,影响行数: " + rowsAffected);
- return true;
- } catch (e) {
- printl("❌ 删除员工记录失败: " + e.message);
- return false;
- }
- }
- /**
- * 更新员工薪资
- */
- function updateEmployeeSalary(name, newSalary) {
- try {
- var sql = "UPDATE 员工信息 SET 薪资 = ? WHERE 姓名 = ?";
- pstmt = conn.prepareStatement(sql);
- pstmt.setBigDecimal(1, newSalary);
- pstmt.setString(2, name);
- var rowsAffected = pstmt.executeUpdate();
- printl("✅ 更新姓名为 '" + name + "' 的员工薪资为 " + newSalary + ",影响行数: " + rowsAffected);
- return true;
- } catch (e) {
- printl("❌ 更新员工薪资失败: " + e.message);
- return false;
- }
- }
- /**
- * 关闭数据库连接
- */
- function closeConnection() {
- try {
- if (pstmt != null) {
- pstmt.close();
- }
- if (conn != null) {
- conn.close();
- }
- printl("✅ 数据库连接已关闭");
- } catch (e) {
- printl("❌ 关闭连接时出错: " + e.message);
- }
- }
- // 主程序执行流程
- try {
- // 1. 连接数据库
- if (!connectDatabase()) {
- throw new Error("数据库连接失败");
- }
-
- // 2. 创建员工表
- if (!createEmployeeTable()) {
- throw new Error("创建员工表失败");
- }
-
- // 3. 插入员工数据
- if (!insertEmployeeData()) {
- throw new Error("插入员工数据失败");
- }
-
- // 4. 查询所有员工记录
- queryEmployeeData();
-
- // 5. 更新员工薪资
- printl("=== 更新张三的薪资 ===");
- updateEmployeeSalary("张三", new java.math.BigDecimal("9500.00"));
-
- // 6. 再次查询所有员工记录
- queryEmployeeData();
-
- // 7. 删除一名员工
- printl("=== 删除员工王五 ===");
- deleteEmployeeByName("王五");
-
- // 8. 最后查询所有员工记录
- queryEmployeeData();
-
- } catch (e) {
- printl("❌ 程序执行过程中发生错误: " + e.message);
- } finally {
- // 确保连接被关闭
- closeConnection();
- }
- printl("===== 中文数据库操作脚本结束 =====");
复制代码
| |  | |  |
|