操作数据

数据库操作语言(DML)使得数据库用户能够对关系型数据库了里面的数据进行修改,包括用新数据填充表,更新现有表中的数据,删除表里面的数据。
SQL里面的3个基本的DML命令:

     INSERT
     UPDATE
     DELETE

把数据插入表中

INSERT语句的基本语法

INSERT INTO TABLE_NAME VALUES('value1','value2',[NULL]);

我们新建一张表进行插入数据的测试

CREATE  TABLE TestTable1
(
    ID VARCHAR(10) NOT NULL,
    NOTE VARCHAR(25) NOT NULL,
    COST INT NOT NULL 
);

(i)基本插入语句

INSERT INTO TestTable1  VALUES('1024','Gone with the wind',25);
1 row ceeated

在这个例子中,3个值被插入到一个具有3列的表中,值的顺序与列在表中的次序一致。前两个值使用单引号包围,因为与之对应的类型是字符型,第三个数值是Int型的,所以不需要使用单引号。


(ii)给指定列插入数据

INSERT INTO TestTable1(ID,NOTE,COST) VALUES('2048','New View', 30);

可以看到表名后面我们还指定了列名,使用这种方法,我们就能向制定的列中插入数据。当然,列名的顺序可以自定义,只需要将 后面的数据顺序和列名顺序对应起来就行了。
INSERT INTO TestTable1(COST,NOTE,ID) VALUES(44,'Old View', 'Ok'),(54,'Old Old', 'Fine');

这个时候查询一下表中的数据
ID     NOTE                 COST
1024    Gone with the wind  25
2048    New View            30
Ok      Old View            44
Fine    Old Old             54

这里的每个字段都需要有值,因为都被设置了NOT NULL属性。


(iii)从另一个表中插入数据
格式

INSERT INTO TABLE_NAME [('column1','column2')]
  SELECT [*|('column1','column2')]
  FROM TABLE_NAME
  [WHERE Conditation(s)];

首先创建表TestTable2,字段和TestTable1相同

 INSERT INTO TestTable2
  SELECT *
  FROM TestTable1;

此时 , TestTable2中就包含了TestTable1中的全部数据,当然你也可以对其中的条件进行限制直到自己满意为止。

更新现有数据

查询一下TestTable2表中的数据为
ID     NOTE                 COST
1024    Gone with the wind  25
2048    New View            30
Ok      Old View            44
Fine    Old Old             54

(i)更新一列数据
语法

UPDATE TABLE_NAME SET  COLUMN_NAME = 'value' [WHERE Condition]

进行一次更改

UPDATE TestTable2 SET  ID = '8888' WHERE cost = 25;
此时的数据变为
ID      NOTE                COST
8888    Gone with the wind  25
2048    New View            30
Ok      Old View            44
Fine    Old Old             54

此时cost = 25的记录,ID变成了8888。


(ii)更新一条或多记录里的多个字段

UPDATE TABLE_NAME
  SET column1 = 'value1',
  [column2 = 'value2'],
  [column3 = 'value3']
  [WHERE condition];

在此就不做过多的介绍了。

删除数据

注意使用 delete语句的时候如果没有where子句,表中的所有数据都将被删除,作为一条规则,delete语句应该总是使用where子句。

DELETE FROM TABLE_NAME [WHERE condition];
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值