当前位置:Gxlcms > 数据库问题 > SQL 增删改语句

SQL 增删改语句

时间:2021-07-01 10:21:17 帮助过:12人阅读

); INSERT INTO user(username) values (‘kongzhi3‘);

如上这两句代码插入的时候会报错的,或者我只给username插入值,不给password插入值,也会报错的,那是因为username和password 是必填的,不允许为空的。如果某个表中的字段允许为空的话,我们可以不给该值插入的。

技术图片

为了演示插入部分数据,我们可以在创建一个user2表,该表有2个字段为 username和age字段,都可以允许为空,然后向表中user2中插入username字段,不插入age字段,可以看到,我们再查询下该表,age默认值就变成了 null了。
技术图片

1.3 插入检索出的数据

什么叫插入检索出的数据呢?就是说,我们有2个表,一个是user表和另一个是user2表,我想把user2表中查询到的数据合并到user表中,那么这样的基本语法需要如下语法:

insert into user(username, password) select username, age from user2;

上面语法的含义是,我首先从user2表中查询username,age的值后,然后把该值合并到 user 表中对应的 username 和 password字段中。但是由于 user2表中的age字段为null,但是user表中的password字段不允许为null,因此会报错,
如下所示:

技术图片

这边简单的为了演示,我们可以把user2表中的username的值合并到user表中的password的值就可以了。因为user2表中的username值不为空。如下基本语法:

insert into user(username, password) select username, username from user2;

如下图所示:

技术图片

1.4 从一个表复制到另一个表的数据

我们要将一个表中的数据全部复制到另一个全新的表中,我们可以使用 INSERT INTO 语句。那么它和上面的 INSERT SELECT 语句有什么不同呢?INSERT SELECT 是将数据添加到一个已经存在的表中。而 SELECT INTO 是将数据复制到一个新表中。也就是说 INSERT SELECT 是导出数据,比如上面的从user2表中查询到的数据导出到user表中去。而我们的SELECT INTO 是导入数据,是把某一个表中的数据导入到另一个全新的表中。

比如如下语法:

create table user3 as select * from user2;

如上我们创建一个user3表,然后从user2表中的数据查询出来后,把user2中所有的数据复制到user3中新表中。

如下图所示:

技术图片

然后我们再查询 user3表看下有如下数据;如下图所示:

技术图片

回到顶部

二:更新数据

更新表中的数据,我们需要使用 UPDATE 语句。有两种使用UPDATE的方式;

1. 更新表中的特定行。
2. 更新表中的所有行。

2.1 更新表中特定的行。

基本语法是:update user set username = ‘xxxx‘ where id=3;

上面的语法的含义是: 更新表中user中的数据,字段名为 username这个字段,它的条件是根据 id=3 这个条件进行更新的。

如下图所示:

技术图片

2.2 更新表中特定的行中的多个字段

基本语法是:update user set username = ‘yyy‘, password=‘aaaa‘ where id = 3;

如下图所示:

技术图片

如上更新多个列字段时,使用一条 set 命令,每个 "列=值" 对之间用逗号分隔(最后一列不用逗号)。

2.3 更新表中所有的行。

如果我们想更新表中所有的行,那么我们就不需要where这个条件即可;如下:

update user set username = ‘我是空智‘, password = ‘123456abcder‘;

如上是更新user表中的username字段和password的字段的所有值更改成为 ‘我是空智‘,password="123456abcdef" 的值了,如下所示:
技术图片

回到顶部

三:删除数据

从一个表中删除数据的话,需要使用DELETE语句。有两种使用DELETE的方式:

1. 从表中删除特定的行。
2. 从表中删除所有的行。

基本语法也是如下:

delete from user where id = 3;

如上语法的含义是:删除user表中的 id = 3 的数据。如下图所示:

技术图片

3.2 删除表中所有的数据。

如果我们省略where这个条件,就会删除表中所有的数据了。基本语法如下:

delete from user;

执行结果如下所示:

技术图片

SQL 增删改语句

标签:.com   str   报错   12px   字段   1.3   date   tab   2.3   

人气教程排行