Linux系统下数据库增删改查
- 插入完整内容的行
- 插入选定内容的行
- 删除表中的指定行
- 删除表中的所有行
- 更新表中的指定行
INSERT 顾名思义,就是向表(table)中插入行。
插入完整内容的行
向表中插入数据最简单的方法,就是使用 INSERT 语句。 INSERT 语句需要你声明要插入内容的表名和内容。举个“栗子”!
假设我们现在要建立一张名为 Customers 的空表,建立过程如下:
1 2 3 4 5 6 7 8 9 10 | USE TestDb CREATE TABLE Customers ( cust_id int not null, cust_name varchar(32) not null, cust_city varchar(32) not null, cust_email varchar(32) null ) --查看表内容 SELECT * FROM Customers |
得到的空表是这样的:
接下来,我们要往空表中插入一条内容, 插入 (INSERT) 语句如下:
1 2 3 4 5 6 7 | INSERT INTO Customers VALUES ( '1000000006', 'Toy Land', 'New York', NULL ) |
如图所示,是我们得到的结果,一条完整的内容已经被填入了空表中。
分析:
在这个例子中,我们把消费者的信息 (values) 依序插入了 Customers 表中。可能有人已经注意到, INSERT INTO 后面只跟了一个表名,这就意味着,我们插入内容的时候必须是依序全内容插入,即使内容为空,也必须用空值 NULL 来填补。
这样的插入虽然简单,但是很危险。一旦表的结构变了,你就会插错内容。下述的方法虽然相对繁琐,其最大的优点就是安全。它列出了你想要插入内容所对应的字段(column),一一对应就不容易出错。
比如:我们换下字段(column) 的顺序,看看会不会成功。
1 2 3 4 5 6 7 8 9 10 11 12 | INSERT INTO Customers( cust_id, cust_email, cust_name, cust_city ) VALUES ( '1000000006', NULL, 'Toy Land', 'New York' ) |
即使打乱了顺序,这种方法也能将内容安全地插入。所以我们推荐写插入语句时,把字段(column)名也一并写进去。
插入选定内容的行
就像我刚才说的,把字段(column)名写入插入语句是个好办法!用这个方法,我们能忽略某些字段,只插入我们最关心的数据。
比如,我们忽略 cust_email ,为表 Customers 插入内容。
1 2 3 4 5 6 7 8 9 10 | INSERT INTO Customers( cust_id, cust_name, cust_city ) VALUES ( '1000000006', 'Toy Land', 'New York' ) |
删除表中的指定行
DELETE FROM 后面需要你指定删除内容所在的表, WHERE 语句是过滤语句,它用来帮你寻找哪条内容是你想要删除的。在下面的例子中,只有消费者 1000000006 的内容才会被删除。
1 | DELETE FROM Customers WHERE cust_id=1000000006 |
删除表中的所有行
1 | DELETE FROM Customers |
如果需要删除表中所有的行,只需要省略 WHERE 语句即可。
更新表中的指定行
消费者 1000000005 之前没有在记录里留下他的 email ,如下图所示:
但是,现在他有了一个新邮箱,所以需要更新数据库里的数据,更新代码如下所示:
1 2 3 |