猫史档案馆


【box3.0】SQL教程--创建02

用户:小熊与雪小熊与雪查看:13 回复:7 评论:13 创建时间:2021-06-02T21:01:13


hello!大家好!没错又是我,我们继续来学习SQL

话说之前发过一次教程,不过被莫名其妙的删了……

上期我们讲了SQL的技巧、类型和普通键的创建,童鞋们记得复习一下哦。

https://shequ.codemao.cn/community/367733

作业:恭喜SKQA路卡利欧第一个完成!

答案:1.用户名是字符串,钱是整数

        2.示例:

async function createTable(){
    await db.sql`CREATE TABLE IF NOT EXISTS table(
        int INTEGER DEFAULT 0,
        fl REAL DEFAULT 0.1,
        str TEXT DEFAULT '',
        bool NUMERIC DEFAULT true,
        s VARCHAR(50) PRIMARY KEY UNIQUE NOT NULL
    )`
}
createTable()

你们做对了吗?

 

 

 

 

 

 

言归正传

这期我们来讲搜索键的创建,还是这张表。emotion_doge

序号      用户名         钱               userkey

—————————————————————

1        '益智作者'       500              ***

2         '吉吉喵'        3000             ***

async function createTable() {
    await db.sql`CREATE TABLE IF NOT EXISTS players (
        name TEXT DEFAULT ''
        money INTEGER DEFAULT 0
    )`;
}

有童鞋给我发了一串报错代码,大家能发现那些错误呢?

我们看看编程手册第四条

1、赋值后要加逗号,最后一行不能加(这也是我经常犯的错误)

也就是第三行要切记加上一个小小的,

还有吗?

还有?

有吗?

这就是我们的手册第五条:

一个SQL表里要有搜索键!

搜索键就好比你的身 份 证 号,每个人的身 份 证 号都是独一无二的,一个身 份 证 号就是一个人,有了它,你的SQL表才能搜索,读取内容,否则他便一无是处!

 

好,那搜索键怎么创建呢?

见下:

async function createTable() {
    await db.sql`CREATE TABLE IF NOT EXISTS players (
        userKey VARCHAR(50) PRIMARY KEY UNIQUE NOT NULL,
        money INTEGER DEFAULT 0,
        name TEXT DEFAULT ''
    )`;
}
//搜索键的创建方法:属性名 +  VARCHAR(50) PRIMARY KEY UNIQUE NOT NULL

center_image

center_imagecenter_image

意思就是:创建一个最长为(50),重要且唯一的,不能为空的键。

其实大家只要记住一点:

搜索键的创建方法:属性名 + VARCHAR(50) PRIMARY KEY UNIQUE NOT NULL

大家get到了吗?

我们想一想:为什么不用name作为搜索键呢?

其实也很好理解:因为角色的名字是会变化的,而userkey不会变,他就是岛民们的身 份 证啦!

详见:

留个作业:

1、找茬:下代码有什么问题?

async function createTable() {
    await db.sql CREATE TABLE IF NOT EXISTS players (
        userKey VARCHAR(50) KEY UNIQUE NOT NULL
        money INTEGER DEFAULT ''
        name TEXT DEFAULT ''
    );
}

答案下期见!


回复

上一页1 页 / 共 1下一页
小熊与雪小熊与雪

视屏发小了,来个大个儿的:

点赞0


评论


爱探险的可乐呀爱探险的可乐呀

详细一点解释的话

PRIMARY KEY是主键呀

所谓主键,就是可以唯一标识表中某一行的属性(或属性组),

就是可以确保执行数据更新、删除灯操作的时候不会出现这种搞错对象分不清,张冠李戴的错误

UNIQUE是禁止出现相同值

点赞0


评论


爱探险的可乐呀爱探险的可乐呀

center_image

怎么是搜索键  不是主键吗emotion_doge

点赞0


评论


Chengxuyee_已退Chengxuyee_已退

varmoney={ A:50, B:20 } SQL有办法储存money吗

点赞0


评论


./'./'

逗号没了

点赞0


评论


./'./'

userKey的TEXT没了

点赞0


评论


./'./'

``呢

点赞0


评论