天堂2单机论坛

 找回密码
 立即注册
查看: 4832|回复: 12

批量修改一键完成之常用的Sql语句及L2J中应用范例

[复制链接]
  • TA的每日心情
    郁闷
    2022-5-30 11:17
  • 签到天数: 20 天

    [LV.4]偶尔看看III

    284

    主题

    399

    帖子

    7万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    77033
    发表于 2020-10-6 17:27:54 | 显示全部楼层 |阅读模式
    作者:排骨米饭
    相比其他网游模拟器,L2J的数据库很庞大,有的时候修改起来会特别的麻烦,
    这里介绍一些常用的Sql语句,大家认真看完这个教材以后修改东西必定会事半功倍.
    注意每条语句每个单词之间是有空格的,如果想运行这些语句,使用Navicat连接到数据库按下F6输入即可
    语句中所用到的标点符号均是半角英文输入状态下的符号,下面先开始介绍语句,其实对于常用的修改,只要学会两大类语句即可
    更新与删除.
    1.更新语句:
    格式: update 表名 set 字段名 = 值(或运算公式);
    L2J中应用的举例说明:
    例1: 我想要游戏中所有的NPC血量都变成10000,
    sql : update npc set hp = 10000;
    分析: npc 是表名, hp就是我们要修改的字段,这样运行后的结果就是所有npc的血量都变成10000了
    例2: 我想要游戏中所有NPC的血量都变成原有值的2倍,
    sql : update npc set hp = hp * 2;
    分析: 这里对字段hp做的是乘法运算,将hp翻倍后在重新赋值给hp字段
    例3: 我想要游戏中的NPC的血量都变成原有数值的1.5倍
    sql : update npc set hp = hp * 3 / 2;
    分析: 出现小数运算了,这里不推荐直接乘以小数值,建议使用先乘后除的运算
    例4: 我想要游戏中所有的boss类型的NPC血量变更为2倍
    sql : update npc set hp = hp * 2 where type = 'L2RaidBoss';
    分析: 同样是运算,这里出现了一些条件限制,条件限制我们可以用where来处理,其中type字段决定了npc的类型,而type的数据类型属于字符串,所以type中的值要用引号来括起来.
    例5: 我想要游戏中ID从1000到2000的NPC的血量翻倍
    sql: update npc set hp = hp * 2 where id >999 and id < 2000;
    分析: 条件约束出现了要约束一个区间的情况,这个时候可以用where 与 and 合作来完成
    2,删除语句:
    格式: delete from 表明 where 字段名条件;
    L2J中的举例应用说明:
    例1:我想要删除出了金币以外所有物品的掉落信息
    sql : delete from droplist where itemId <> 57;
    分析: droplist 是掉落信息的表, itemId 是物品的id ,当id不等于57即金币时,那么记录就会倍删掉,这样执行后的结果怪物只会掉落金币
    例2: 我想删除某几个物品在所有怪物身上的掉落信息.
    sql : delete from droplist where itemId in (A,B,C,D,.....);
    分析: 无论是哪个怪物itemId为A,B,C,D...的物品掉落信息全被删掉了,其他掉落信息完全保留

    回复

    使用道具 举报

  • TA的每日心情
    开心
    2022-4-16 18:33
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    1

    主题

    86

    帖子

    141

    积分

    正式会员

    Rank: 2

    积分
    141
    发表于 2020-10-14 13:05:03 | 显示全部楼层
    收藏了,谢谢大佬分享!
    回复

    使用道具 举报

  • TA的每日心情
    擦汗
    2025-1-19 20:23
  • 签到天数: 164 天

    [LV.7]常住居民III

    2

    主题

    204

    帖子

    960

    积分

    高级会员

    Rank: 4

    积分
    960
    发表于 2020-11-10 22:59:55 | 显示全部楼层
    谢谢大佬!
    回复

    使用道具 举报

  • TA的每日心情

    2023-2-9 18:46
  • 签到天数: 15 天

    [LV.4]偶尔看看III

    0

    主题

    146

    帖子

    212

    积分

    中级会员

    Rank: 3Rank: 3

    积分
    212
    QQ
    发表于 2020-11-30 10:35:46 | 显示全部楼层
    谢谢大佬!
    回复

    使用道具 举报

  • TA的每日心情
    擦汗
    2025-6-6 12:01
  • 签到天数: 360 天

    [LV.8]以坛为家I

    6

    主题

    395

    帖子

    2062

    积分

    金牌会员

    Rank: 6Rank: 6

    积分
    2062
    发表于 2023-1-18 20:41:34 | 显示全部楼层
    谢谢大佬
    回复

    使用道具 举报

  • TA的每日心情
    郁闷
    2023-5-22 09:52
  • 签到天数: 8 天

    [LV.3]偶尔看看II

    0

    主题

    26

    帖子

    59

    积分

    正式会员

    Rank: 2

    积分
    59
    发表于 2023-3-31 09:52:57 | 显示全部楼层
    感谢大佬分享
    回复

    使用道具 举报

  • TA的每日心情
    无聊
    2025-5-5 16:37
  • 签到天数: 62 天

    [LV.6]常住居民II

    4

    主题

    82

    帖子

    362

    积分

    中级会员

    Rank: 3Rank: 3

    积分
    362
    发表于 2023-4-7 19:56:37 | 显示全部楼层
    收藏了,谢谢大佬分享!
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2023-6-17 15:22
  • 签到天数: 37 天

    [LV.5]常住居民I

    0

    主题

    183

    帖子

    190

    积分

    正式会员

    Rank: 2

    积分
    190
    发表于 2023-4-13 22:40:48 | 显示全部楼层
    收藏了,谢谢大佬分享!
    回复

    使用道具 举报

  • TA的每日心情

    2024-8-18 03:41
  • 签到天数: 7 天

    [LV.3]偶尔看看II

    0

    主题

    38

    帖子

    42

    积分

    新手上路

    Rank: 1

    积分
    42
    发表于 2024-8-9 12:10:45 | 显示全部楼层
    收藏了,谢谢大佬分享!
    回复

    使用道具 举报

  • TA的每日心情
    开心
    昨天 09:52
  • 签到天数: 182 天

    [LV.7]常住居民III

    5

    主题

    739

    帖子

    1845

    积分

    金牌会员

    Rank: 6Rank: 6

    积分
    1845
    发表于 2024-12-3 23:50:44 | 显示全部楼层
    感谢楼主分享
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|Archiver|手机版|监狱|天堂2单机论坛 ( 粤ICP备20030366号 )

    GMT+8, 2025-6-25 07:04 , Processed in 0.067540 second(s), 22 queries .

    Powered by Discuz! X3.4

    © 2001-2023 Discuz! Team.

    快速回复 返回顶部 返回列表