失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > MYSQL数据操作(CRUD)(一):插入 删除和更新

MYSQL数据操作(CRUD)(一):插入 删除和更新

时间:2023-04-27 23:38:12

相关推荐

MYSQL数据操作(CRUD)(一):插入 删除和更新

插入数据

①插入一行记录

INSERT INTO TABLE_NAME(列名1,列名2,.......)

VALUES(值1,值2,.......);

②插入多行记录

INSERT INTO TABLE_NAME(列名1,列名2,.......)

VALUES(值1,值2,.......),

...........

VALUES(值1,值2,.......);

③插入查询结果(可能是结果集)

INSERT INTO TABLE_NAME(列名1,列名2,.......)

SELECT(列名1,列名2,.......)

FROMTABLE_NAME2

WHERE .........

注意:

1. 如果用TABLE_NAME(列名1,列名2,.......) ,那么对于语句里面的字段参数:

顺序可以自定义,不用和表的字段顺序一致;

要插入哪些字段也可以自定义,不用把表的所有字段都写上。

2. VALUES(值1,值2,.......)语句里的赋值参数,会和上面的字段参数一一对应。

而且我们写要插入的值的时候,必须保证所插入的值和对应字段的数据类型一致,比如字段name数据类型是VARCHAR,那么我们插入的值就必须是字符串,即单引号 'xxx' ;再比如,字段参数是student(name,age),我们插入的值不能是VALUES( ,12),如果想插入空值必须用NULL。

总结一下,一旦我们选择了要插入的字段,我们就必须保证要插入的数值和选择的字段的个数,顺序,类型一致。

举个例子,假设现在有表student(id,name,age,sex),我们选择的要INSERT INTO的字段是student(name,age),那么VALUES的时候绝对不能出现以下四种情况:

VALUES( ,12) 插入了MYSQL不识别的值,想插入空值必须用NULL。

VALUES( '王一') 插入的数值和选择的字段的个数不同

VALUES(12, '王一') 字段参数的顺序和插入数值的顺序不同,不能一一对应

VALUES('王一', '十二') 插入数值和字段类型不同

3. 上面提到我们可以只选择部分字段进行插入,那么那些未选择的字段会怎么样呢?

①在具体开发中,有自动增加约束和默认值约束的字段我们一般会把他们忽略,不需要我们手动赋值,MYSQL会自动给其赋值。

②有时,有些字段暂时是多余的,假设这些字段既没有默认值约束,也没有自动增加约束,同时我们又不想删掉这些字段,那么我们会不选择这些字段,让,MYSQL给他们自动插入NULL值。

4. 如果我们想选择所有字段,把所有字段都写一遍就太麻烦了,我们可以忽略字段参数,直接用

INSERT INTO TABLE_NAME

...........

...........

假设有表student(id,name,age,sex),上面的语句INSERT INTO student,就相当于INSERT INTO student(id,name,age,sex)。

但是这种用法虽然方便,但不灵活,这种用法就只能表示表的所有字段,且字段顺序和表的字段顺序一样。

5.插入查询结果其实和插入记录其实差不多,只不过一个是SELECT(列名1,列名2,.......),一个是VALUES(值1,值2,.......),SELECT里面的参数和VALUES的参数一样,都适用且必须遵守上面4条规则。

假设有表student(id,name,age,sex)和表children(id,sex,age,name)

INSERT INTO student(name,age,sex)

SELECT sex,age,name #字段参数的顺序和插入数值的顺序不同,不能一一对应

FROMchildren

WHERE age>7;

这样是不行的,MYSQL还没有智能到帮你自动匹配字段。

删除数据

Delete from 表名

[where条件];

注意:一般都会加where条件,没有条件的话,整个表的数据都会被删除。删除操作需谨慎,此操作不可逆

修改数据

Update 表名 set 字段 = 值

[where条件];

注意:一般都会加where条件,没有条件的话,会修改所有记录。更新操作需谨慎,此操作不可逆

如果觉得《MYSQL数据操作(CRUD)(一):插入 删除和更新》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。