MySQ语句case when
时间: 2024-06-05 08:05:20 浏览: 118
MySQL中的CASE WHEN语句是一种条件判断语句,常用于根据不同的条件进行不同的操作。它的语法如下:
```
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE result
END
```
在上面的语法中,CASE会逐个检查每一个WHEN条件,如果条件成立,则返回对应的result结果。如果所有条件都不成立,则返回ELSE后面的结果。
下面是一个简单的例子,假设我们有一个students表,其中有id、name和score三个字段,现在我们想根据score的分数范围来计算每个学生的等级(优秀、良好、及格、不及格),可以使用如下语句:
```
SELECT
name,
score,
CASE
WHEN score >= 90 THEN '优秀'
WHEN score >= 80 THEN '良好'
WHEN score >= 60 THEN '及格'
ELSE '不及格'
END AS level
FROM
students;
```
这个语句会根据每个学生的分数计算出对应的等级,并将结果显示在level列中。
相关问题
mysq语句建表添加默认值
你可以使用以下的 SQL 语句来建表并添加默认值:
```
CREATE TABLE table_name (
column1 datatype DEFAULT default_value,
column2 datatype DEFAULT default_value,
column3 datatype DEFAULT default_value,
...
);
```
其中,`table_name` 是你要创建的表的名称,`column1`、`column2`、`column3` 等是表中的列名,`datatype` 是该列的数据类型,`default_value` 是该列的默认值。
例如,创建一个名为 `users` 的表,其中包含 `id`、`name` 和 `email` 三个列,其中 `id` 列自增、`name` 列的默认值为 `"John Doe"`,`email` 列的默认值为 `NULL`,你可以使用以下 SQL 语句:
```
CREATE TABLE users (
id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(255) DEFAULT 'John Doe',
email VARCHAR(255) DEFAULT NULL,
PRIMARY KEY (id)
);
```
mysq update语句
MySQL的update语句用于修改表中的数据。其基本语法如下:
```
UPDATE 表名 SET 字段1=值1, 字段2=值2, ... WHERE 条件;
```
其中,表名为需要修改的表名,字段1、字段2等为需要修改的字段名,值1、值2等为需要修改的值,WHERE条件为修改的条件。
例如,如果我们需要将表中id为1的name字段修改为'John',可以使用以下语句:
```
UPDATE 表名 SET name='John' WHERE id=1;
```
另外,根据引用和引用的内容,如果需要将某个字段的值加上一个字符串,可以使用concat函数或者双竖线(||)来实现。例如,如果我们需要将表中id为1的name字段后面加上' Doe',可以使用以下语句:
```
UPDATE 表名 SET name=concat(name, ' Doe') WHERE id=1;
```
或者
```
UPDATE 表名 SET name=name || ' Doe' WHERE id=1;
```
阅读全文