SQL select insert update delete

SELECT 语句是最常用的 SQL 语句,它能帮助我们从一个或多个表中查询信息。

示例代码

在使用 SELECT 语句检索表数据时,至少需要给出两条信息——想检索的列名(column_name)和被检索内容的表名(table_name)。

基础语法如下:

SELECT `column_name`
FROM `table_name`;


英文option+数字1左边的键就是反引

当我们想要从一个表中查询多个列

使用的 SELECT 语句与查询一个列时使用的语句相似,但是需要在 SELECT 关键字后给出多个列名,并且列名之间必须以逗号分隔。

语法:

SELECT `column_name_1`, `column_name_2`  
FROM `table_name`;

SELECT 语句可以直接检索表中所有信息,即检索所有的列。

这可以通过在列名的位置使用星号( * )通配符来实现,输出的列的顺序一般是列在表定义中出现的物理顺序。

通配符是一类键盘字符,* (星号) 就是较为常用的通配符之一,可以使用 * 代替零个、单个或多个字符。
使用 * 通配符最大的优点就是,当不明确需要检索的列名时,可以通过检索所有列名来确定。

语法:

SELECT * FROM `table_name`;

使用 SELECT DISTINCT 查询不同行

语法:

SELECT DISTINCT `column_name`
FROM `table_name`

DISTINCT的作用是希望查询的值都是唯一不重复的

使用 SELECT WHERE 对行进行筛选过滤

在使用 SELECT WHERE 语句检索表数据时,需要给出检索的表名 (table_name)、检索的列名 (column_name) 和操作符 (operator) 。

语法:

SELECT `column_name1`,`column_name2`
FROM `table_name`
WHERE `column_name` operator `value`;

其中:

  • column_name 对应指定列的名称,或者是多列,用逗号( , )分隔开
  • table_name 对应查询表的名称
  • operator 为操作符,常用的有等于 = 、小于 < 、大于 > 、不等于<> 或 !=,我们会在后续课程中更加深入地学习它。

如果我们要从课程表 courses 中选取课程名为 'System Design' 的课程。

我们可以使用下面的 SQL 语句:

SELECT * 
FROM `courses`
WHERE `name` = 'System Design';



Insert

INSERT INTO `table_name`
VALUES (value1, value2, value3,...);

其中

value1value2 …… 为对应插入数据表中的值,每个值的属性需要与对应表中的列名属性相匹配,而且需要把插入的信息填写完整,否则会报错。

INSERT INTO courses
VALUES (14,"SQL",200,"2021-02-25",1);
记得加双引号

使用 INSERT INTO 在指定的列中插入数据

INSERT INTO `table_name`
(`column1`, `column2`, `column3`,...)
VALUES (value1, value2, value3,...);

假如我们想向课程表 courses 插入一条新行,但是只在 name 、student_number 、created_at 和 teacher_id 列中插入数据( id 字段会自动更新):

我们可以使用下面的 SQL 语句:

INSERT INTO `courses` (`name`, `student_count`, `created_at`, `teacher_id`)
VALUES ('Flash Sale','100','2018-01-01',5);

使用 UPDATE 更新数据

我们在查询教师表 teachers 的时候发现,教师姓名 name 为 "Linghu Chong" 的老师邮箱 email 信息为 NULL,即没有该部分信息,我们现在希望更新邮箱信息,这时候就需要用到 UPDATE 语句。

语法

UPDATE `table_name`
SET `column1`=value1,`column2`=value2,...
WHERE `some_column`=some_value;

请注意 UPDATE 语句中的 WHERE 子句!WHERE 子句规定哪条记录或者哪些记录需要更新。如果您省略了 WHERE 子句,所有的记录都将被更新!

UPDATE `teachers`
SET `email`='linghu.chong@lintcode.com'
WHERE `name` = 'Linghu Chong';
 
 

使用 delete 删除数据

DELETE FROM `table_name`
WHERE `some_column` = some_value;

其中

  • table_name 代表表名称

  • some_column 代表列名称,如 id

  • some_value 可以为任意值。some_column 和 some_value 构成 WHERE 子句中的搜索条件。

 

posted @   君逸堂  阅读(86)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
点击右上角即可分享
微信分享提示