用户:
YDS尹子查看:6 回复:22 评论:6 创建时间:2022-04-21T11:07:14
前段时间捣鼓我服务器自己的数据库,也学到了不少新知识,分享一下))
将查询出的结果继续用于查询
await db.sql`UPDATE playerData SET score=100 WHERE name IN(SELECT name FROM winnerPlayer)`;
//将winnerPlayer表中的所有玩家的姓名找出,并更新这些用户的playerData表中的数据
将两张表上下拼在一起输出
await db.sql`SELECT * FROM playerData1
UNION
SELECT * FROM playerData2`
//注意:两张表的项必须要完全一样哦,否则会出现null
给一张表增加一个字段
await db.sql`ALTER TABLE player ADD COLUMN title TEXT DEFAULT '新手'`;
//给player表增加一列“title”,作为用户称号
查找相似字段
//公海查找舰队人员用的代码))
await db.sql`SELECT name FROM player WHERE name LIKE '%雷霆%'`;
//查找名字中含有‘雷霆’的名字
await db.sql`SELECT name FROM player WHERE name LIKE'雷霆_'`;
//查找名字开始的地方含有'雷霆'且这两个字后只有一个字符的名字
/*
%代表若干字符
_代表单个字符
*/
将两张表并列拼在一起输出,用于一个玩家有多个属性且存在不同表中的情况(表本身不会拼接)
await db.sql`SELECT * FROM playerMainData LEFT JOIN playerInventoryData ON playerMainData.userKey=playerInventoryData.userKey WHERE userKey='xxx'`
//将playerMainData,playerInventoryData两张表中的用户key为xxx的玩家的数据一并取出