- SQL的增删改查
SQL的增删改查
- 使用INSERT INTO语句。
INSERT INTO语句用于向表中插入新记录。INSERT INTO语句可以有两种编写形式。
第一种形式无需指定要插入数据的列名,只需提供被插入的值即可:
INSERT INTO table_name
VALUES (value1,value2,value3,...);
第二种形式需要指定列名及被插入的值:
INSERT INTO table_name (column1,column2,column3,...)
VALUES (value1,value2,value3,...);
执行如下命令,向web表中插入五条数据。
INSERT INTO web
VALUES ('1', '阿里云', 'https://www.aliyun.com/','123'), ('2', '淘宝', 'https://www.taobao.com/','1'), ('3', '帮助中心', 'https://help.aliyun.com/','112'), ('4', '开发者社区', 'https://developer.aliyun.com/','213'), ('5', '体验实验室', 'https://developer.aliyun.com/adc/labs/',456);
- 使用SELECT语句。
SELECT语句用于从数据库中选取数据,并将选取的数据存储在一个结果表中,称为结果集。SQL的SELECT语法如下。
第一种形式语法如下,表示从表(table_name)中查询某些字段(column_name)。
SELECT column_name,column_name
FROM table_name;
第二种形式语法如下,表示从表(table_name)中查询所有字段。
SELECT * FROM table_name;
a. 执行如下命令,从"web"表中查询"name"和"url"列。
SELECT name,url FROM web;
返回结果如下。
b. 执行如下命令,从"web"表中查询所有的列。
SELECT * FROM web;
返回结果如下。
- 使用UPDATE语句。
UPDATE语句用于更新表中已存在的记录。SQL的UPDATE语法如下,表示在表(table_name)中,如果某列(some_column)取值为特定值(some_value),则将column更新成value。
UPDATE table_name
SET column1=value1,column2=value2,...
WHERE some_column=some_value;
注意:
使用UPDATE语句时请注意设置WHERE子句。如果您省略了WHERE子句,会将数据表中所有的数据都更新。
执行如下命令,把name为"阿里云"的数据的rank更新为5。
UPDATE web SET rank='5' WHERE name='阿里云';
b. 执行如下命令,查询所有数据。
SELECT * FROM web;
返回结果如下,您可以看到数据已经被更新。
- 使用DELETE语句。
DELETE语句用于删除表中的行。SQL的DELETE语法如下。
DELETE FROM table_name
WHERE some_column=some_value;
注意:
WHERE子句规定哪条记录或者哪些记录需要删除。如果您省略了WHERE子句,所有的记录都将被删除!
a. 执行如下SQL语句,向web表中插入一条数据。
INSERT INTO web(name, url, rank)
VALUES ('新手入门','https://help.aliyun.com/learn/getting-started.html','789');
b. 执行如下SQL语句,查询所有数据,您可以看到新增的数据。
select * from web;
c. 执行如下SQL语句,从web表中删除name为新手入门的数据。
DELETE FROM web WHERE name='新手入门';
d. 执行如下SQL语句,查询所有数据,您可以看到数据已经删除。
select * from web;
- SQL的AND和OR运算符
SQL的AND和OR运算符
AND和OR运算符用于基于一个以上的条件对记录进行过滤。
- 使用AND运算符。
如果第一个条件和第二个条件都成立,则AND运算符显示一条记录。
执行如下SQL语句,从web表中选取id为1且rank大于50的数据:
SELECT * FROM web WHERE id= '1' AND rank > 2;
返回的结果如下。
- 使用OR运算符。
如果第一个条件和第二个条件中只要有一个成立,则OR运算符显示一条记录。
执行如下SQL语句,从web表中选取rank大于300的或name为阿里云的数据:
SELECT * FROM web WHERE rank > 300 OR name = '阿里云';
返回的结果如下。