龙空技术网

SQL第16课~插入单行,多行,分层行

小饼干笔记 540

前言:

现在朋友们对“mysql多行转一行”可能比较关心,看官们都想要剖析一些“mysql多行转一行”的相关资讯。那么小编也在网上搜集了一些关于“mysql多行转一行””的相关资讯,希望大家能喜欢,大家快快来学习一下吧!

所有内容收录在合集~SQL入门到熟练。欢迎点赞关注我哦~

Column 列

attributes 属性设置或返回文件或文件夹的属性。可读写或只读(与属性有关)

Row 行

还是点击左边中间的小扳手,打开这个工具表,或者说是设计页面

首先我们看一下行列,第一看感觉不明觉厉,还会随机的点一些蓝色的对勾。

红圈标注的是varchar

VARCHAR(M)是一种比CHAR更加灵活的数据类型,同样用于表示字符数据,但是VARCHAR可以保存可变长度的字符串。其中M代表该数据类型所允许保存的字符串的最大长度,只要长度小于该最大值的字符串都可以被保存在该数据类型中

然后其他的列也都是有名字的,都是缩写的状态

第一列 PK 黄圈那个 primary key

第二列 NN NOT NULL 意思是Mark column as NOT NULL 也就是说这个不能是空值

第三列 UQ Unique index

之后依次是

B Is binary column

UN Unsigned data type

ZF Fill up values for that column with 0‘s if it is numeric

AI Auto Incremental 自动增量

G Generated

以上是这些键的属性,然后我们开始插入一行。

INSERTING A ROW 插入单行

这个语句的第一句首先是写insert into

然后就是value ,括号里面写每一列的值。

如果表格里面本身是没有值的,那么MYSQL就会生成唯一值。

语句中,使用确切值,或者默认值(SQL自己生成的值)

由于这个数值不能重复,每个值都是唯一的。用默认更合适,直接括号里面写default,0也可以是default。

然后是名字和姓名,也需要提供值,直接写第一个名字就可以,接着是Email,这个没有是空值,就是null,这个表都有,就不写了。

然后在第一行的表名称后面,就是customer后面,写插入的内容

就是已经有的几列,first_name,last_name,address_id,active,create_date

不需要用default或者null的值了,我们只需要给这些列提供值,所以可以省略下面的部分

前面说了,一开始的要养成好习惯,我们可以给每一列一行,然后这样写调整位置的话,表格的顺序也会调整。insert后面的数据调整时,value的数据也要调整。

然后点击运行,不放心又试了一次,得出结果增加2行。并且自动显示201,202,就是自动递增的作用。

这种写法是没有数据的,因为我没写,就是单纯的增加了一列。

我也可以设置一下,比如名字是amy,姓氏是法外狂徒,日期就写2023-1-1,那得出这个

下方的输出窗口也显示有一条数据插入了这张表,同时返回了203个数据。

INSERTING MULTIPLE ROWS 插入多行

比如这个可以清晰看到film_id 是主键,蓝色对应的NN是不能为空值,下面接着的是NULL。

这个时候只需要给name提供一个值,直接写出即可,其他的值跟在后面,然后加一个逗号就可以了。

执行得出结果。

多表插入数据

有一些表是相互关联的,比如film和film actor这些表格。

先写出需要赋值的列,然后进行赋值,写出有效的列,打开可以看到很多信息

有电影,电影名字,语言,日期等信息,但是这张表是看不到电影的名字和信息的,具体的内容在film_text的表格里,

这里也有一个film_id,可以进行对应。然后添加一行,

MYsql有一项内置功能,就是一些可以反复使用的代码。

last insert id

上面这个句子可以让最近的代码出现反复使用。能返回插入新行的那个id

书写代码,用select选中他,执行查询,刚才点了有点多,加了几个

最近的一个就查找出来了。

然后进行验证,确实加了这么些。除了直接在表格里面看,这里也可以看到。

然后,已经运用了代码找到了最新的ID,现在把他插入到子记录里面。

再来!

一段insert

先插入表,这个表里有多少项就设置多少项,比如这个是2项,再把代码直接加过来。然后再次套用

在film-text里面也可以看到最新的值,有点草的是,一口气点了好几次,还设置名字全一样,两边的表格都是1021,验证结束。

完结 ~

标签: #mysql多行转一行