1. 插入数据
插入单条记录
示例:
INSERT INTO student_table (id, name, age)
VALUES (1, 'John', 18);
其中,紧跟表名后面的括号用于指定要插入的列,顺序可以任意,括号中没有指定的列将为空值。该括号也可省略,这种情况下插入的值需要与列的顺序一一对应,且每一列都要有值。
例如:
INSERT INTO student_table
VALUES (1, 'John', 'male', 18);
插入多条记录
示例:
INSERT INTO student_table(id, name)
VALUES (1, 'John'),
(2, 'Tom'),
(3, 'Dan');
插入多条记录的语法与前面基本相同,只是 VALUES 后面的记录之间用逗号分隔。
插入查询结果
示例:
INSERT INTO new_table(name, age)
SELECT name, age
FROM student_table
WHERE age > 16;
通过 SELECT ... FROM ...
语句查询到的结果,将会被插入到 new_table
中。查询结果的列将与待插入的列按从左到右的顺序一一对应。
2. 修改数据
修改单列的值
示例:
UPDATE student_table
SET age = 16
WHERE name = 'Jack'
还可以同时对所有记录修改某一列的值:
UPDATE student_table
SET id = id + 1;
修改多列的值
示例:
UPDATE student_table
SET name = 'Peter', age = 16
WHERE id = 1;
修改多列的值,只需要在 SET
后面将每一列的赋值用逗号分隔开。
修改条件带查询语句
示例:
UPDATE score_table
SET score = 90
WHERE name IN
( SELECT name
FROM student_table
WHERE id > 5 );
这条修改语句涉及到 score_table
和 student_table
两个表。意思是查询 student_table
里 id
大于5的学生,在 score_table
中将他们的成绩修改为90分。
3. 删除数据
删除指定记录
示例:
DELETE FROM student_table
WHERE age > 18;
删除所有记录
示例:
DELETE FROM student_table;
删除条件带查询语句
与修改条件中嵌套查询语句一样,我们同样可以在删除条件中嵌套查询语句。
示例:
DELETE FROM student_table
WHERE name IN
( SELECT name
FROM score_table
WHERE score < 60 );
该条语句含义为,查询 score_talbe
表中不及格学生的名字,在 student_table
中删除这些学生的记录。
作者:Wray Zheng
原文:http://www.codebelief.com/article/2017/03/sql-learning-data-update/