表的内容操作

2018-09-06  本文已影响0人  杜大个

最基本的crud操作:

增(insert into)

顾名思义,INSERT是用来插入(或添加)行到数据库表的。插入可以用几种方式使用:

首先创建一个表

CREATE TABLE customers ( userid int NOT NULL AUTO_INCREMENT, name char(50) NOT NULL, address char(200) NOT NULL, email char(50) NOT NULL, PRIMARY KEY(userid) );

插入完整行

INSERT INTO customers values(10010,'李同学','北京市朝阳区','1234567@qq.com')

DeepinScrot-5214

查询已插入的数据:SELECT是最常使用的SQL语句

SELECT * FROM customers;

DeepinScrot-5549

虽然这种语法很简单,但并不安全,应该尽量避免使用。上面的SQL语句高度依赖于表中列的定义次序,并且还依赖于其次序容易获得的信息。即使可得到这种次序信息,也不能保证下一次表结构变动后各个列保持完全相同的次序。因此,编写依赖于特定列次序的SQL语句是很不安全的。如果这样做,有时难免会出问题。

根据列插入数据

编写方法如下

INSERT INTO customers(userid,name,adress,email) values('10011','黄同学','北京市通州区','1234789@qq.com')

此例子完成与前一个INSERT语句完全相同的工作,但在表名后 的括号里明确地给出了列名。在插入行时,MySQL将用VALUES 列表中的相应值填入列表中的对应项。VALUES中的第一个值对应于第一个指定的列名。第二个值对应于第二个列名,如此等等。

DeepinScrot-0305

注意:

多行插入:

INSERT INTO customers(userid,name,adress,email) values ('10011','黄同学','北京市通州区','1234789@qq.com'), ('10012','黄同学','北京市通州区','1234789@qq.com'), ('10013','黄同学','北京市通州区','1234789@qq.com');

DeepinScrot-4310

将一个表里的数据插入到另一个表中

insert into 表 (列名,列名...) select 列名,列名... from 表

下面sql语句实现的功能是将customers中的字段插入到了customers1中
DeepinScrot-0024

总结: insert into 表 values (值,值,值...) insert into 表 (列名,列名...) values (值,值,值...) insert into 表 (列名,列名...) values (值,值,值...),(值,值,值...) insert into 表 (列名,列名...) select (列名,列名...) from 表

删除数据

为了从一个表中删除(去掉)数据,使用DELETE语句。可以两种方式使用DELETE:

DeepinScrot-1826

改(更新)

更新(修改)表中的数据,可使用UPDATE语句。可采用两种方 式使用UPDATE:

UPDATE语句非常容易使用,甚至可以说是太容易使用了。基本的 UPDATE语句由3部分组成,分别是:

UPDATE customers SET email='123@sina.com' where userid=10011;

DeepinScrot-0959

UPDATE语句总是以要更新的表的名字开始。在此例子中,要更新的表的名字为customers。SET命令用来将新值赋给被更新的列。如这里所示,SET子句设置email列为指定的值:

SET email = ‘123@sina.com

UPDATE语句以WHERE子句结束,它告诉MySQL更新哪一行。没有 WHERE子句,MySQL将会用这个电子邮件地址更新customers表中所有行,这不是我们所希望的。

更新多个列

更新多个列的语法稍有不同:

UPDATE customers SET email='345@qq.com', name = '刘起' where userid=10012;

在更新多个列时,只需要使用单个SET命令,每个“列=值”对之间 用逗号分隔(最后一列之后不用逗号)。在此例子中,更新userid为10012的email和name列。 DeepinScrot-1716

为了删除某个列的值,可设置它为NULL(注意:该字段在表中的定义必须允许为NULL值才可以)

UPDATE customers SET email = NULL WHERE userid = 10012;

其中NULL用来去除email列中的值。

更新和删除的指导原则(注意事项)

上一篇 下一篇

猜你喜欢

热点阅读