前言
今天要来处理SQL的schema
那什麽是schema呢?
从SQLBolt上查到的定义是:
We previously described a table in a database as a two-dimensional set of rows and columns, with the columns being the properties and the rows being instances of the entity in the table. In SQL, the database schema is what describes the structure of each table, and the datatypes that each column of the table can contain.
大概的意思就是每个资料表的架构,像是含有的栏位、数量,每个栏位里面的资料型态,还有是否有限制
今天的介绍会分成3个小部分
学习资料来源是SQLBolt这个网站,上面提供了很详尽的解释跟即时的题目演练
可以很方便的入门SQL的操作
Creating tables
当我们想要创建新的资料表
会使用到CREATE TABLE
的叙述句
为了避免出现重复的资料表名称
可以使用CREATE TABLE IF NOT EXISTS
这个叙述句
使用方法
CREATE TABLE IF NOT EXISTS 资料表名称
(
栏位名称1 资料型态 资料限制 DEFAULT default_value,
栏位名称2 资料型态 资料限制 DEFAULT default_value,
…
);
常见的资料型态:
** 常见的资料型态 **
type | data type | Explanation |
---|---|---|
数值资料 | INTEGER | 整数 |
数值资料 | FLOAT | 浮点数 |
数值资料 | REAL | 浮点数 |
字串资料 | CHAR(n) | 固定长度为n的字串 |
字串资料 | VARCHAR(n) | 可变长度最大为n的字串 |
字串资料 | TEXT | 可变长度的字串 |
布林值 | BLOB | True、False, Yes、No, 1、0 |
时间资料 | Date | 储存日期 |
时间资料 | DATETIME | 储存准确时间 |
假如我想要产生一个歌曲相关的资料表
CREATE TABLE music2021 (
id INTEGER,
Song TEXT,
Singer TEXT
);
使用查询语法查看是否建立成功
SELECT*
FROM music2021;
就会产出一个由id, Song, Singer三个栏位组成的资料表
Inserting rows
当我们想要新增资料到资料表中
就会使用到INSERT INTO
这个叙述句
使用方法是
INSERT INTO 资料表名称
VALUES (数值或是描述, 数值或是描述, …),
(数值2或是描述2, 数值2或是描述2, …),
…;
现在当我想在music2021这个资料表
新增目前排行榜上前六名的歌曲资讯
INSERT INTO music2021
VALUES (1, "GYALIS" , "Capella Grey"),
(2, "STAY", "The Kid LAROI and Justin Biber"),
(3, "Pepas", "Farrujo"),
(4, "Essence" , "Wizkid"),
(5, "Volvi", "Aventura & Bad Bunny"),
(6, "Run it up", "Sheff G");
用 SELECT* FROM music2021;
来检查是否新增成功
输入的资料成功加入到资料表内了
Updating rows
当我们想要更新或是更改已经存在在特定栏位的资料时
就会需要使用到UPDATE
& SET
这个叙述句
使用方法
UPDATE 表格名称
SET 栏位名称 = 欲更改资料,
栏位名称 = 欲更改资料,
…
WHERE 条件;
在music2021的资料表中,
当我发现第四名的歌曲名称少输入了资料想要更改时
UPDATE music2021
SET Song = "Essence(feat. Tems)"
WHERE id = 4;
用 SELECT* FROM music2021;
来检查是否新增成功
第四名的歌曲名称成功被更新为Essence(feat. Tems)
小结语
今天练习了如何创建,如何新增跟如何更改资料在资料表上
这是很基本的操作
明天会继续练习跟资料表相关的操作
Stay tuned with me?
<<: ESP32_DAY3 开发环境-Visual Studio Code
>>: Day05 | Dart基本介绍 - class、factory
今日来介绍 solidity 里的 contracts。 contract contract 其实是...
前言 昨天简单猜测了非同步框架所应具备的基本功能 ( 某种资料模式, thread schedule...
Warning与error直扑而来XDD 蛮头痛的,我目前遇到的有两个问题被回报为Bug。 简单来说...
【前言】 在 Project 之中刚好有一份工作是要把每个部件合成,虽然跟主题没有关联不过因为篇幅...
安装kubeadmin 在前一篇提到, 後续范例使用到的工具可以自建或使用现成的工具, 会将自建工具...