复习:


语法:
insert [into] 表名
[column[,column]]
valuse
(value_list)[,vaule_list]...
value_list:value,[value]...创建一个实例表:

values_list中的值必须与列的数量和顺序一致;

错误示范:

values_list中的值必须与指定列的数量和顺序一致;

错误示范:



如果没有指定id这一列,值默认为NULl。

在⼀条INSERT语句中也可以指定多个value_list,实现⼀次插⼊多⾏数据

讨论一个事情:

SELECT
[DISTINCT]
select_expr [, select_expr] ...
[FROM table_references]
[WHERE where_condition]
[GROUP BY {col_name | expr}, ...]
[HAVING where_condition]
[ORDER BY {col_name | expr } [ASC | DESC], ... ]
[LIMIT {[offset,] row_count | row_count OFFSET offset}]
select * from 表名,这个查询是非常危险的操作,因为在实际情况中,数据量是非常大的,每个查询都会消耗大量的网络开销和磁盘开销,如果不加以限制会把服务器资源吃完,如果拆卸那种不加以限制,就会返回所有的查询记录。因为我们刚开始学习,所有数据很少,但是在公司里面,数据都是几千万上亿的。
这里为了节省时间,导入上课时候老师发的表,首选我们要从终端输入\ ?,查出操作语句

里面有source,我们可以在source命令后面写入我们文件的绝对路径,然后导入文件。 这个在以后工作当作常用,用来访问本地的sql文件。



• 查询所有记录 语法:
select * from 表名;• 查询所有⼈的编号、姓名和语⽂成绩 语法:
select 列名[列名] from 表名;
查询的列的顺序和真实表中的列顺序没有要求。

列的值+常量

列加列的值

语法:
SELECT column [AS] alias_name [, ...] FROM table_name;AS可以省略,别名如果包含空格必须⽤单引号包裹

查询当前所的数学成绩

在结果集中去除重复记录,可以使⽤DISTINCT

使⽤DISCTINCT去重时,只有查询列表中所有列的值都相同才会判定为重复 注意: 查询时不加限制条件会返回表中所有结果,如果表中的数据量过⼤,会把服务器的资源消耗殆尽 在⽣产环境不要使不加限制条件的查询

这种情况必须math和english都相同。
语法:
SELECT
select_expr [, select_expr] ... [FROM table_references]
WHERE where_condition⽐较运算符
运算符 | 说明 |
|---|---|
>,>=,<,<= | ⼤于,⼤于等于,⼩于,⼩于等于 |
= | 等于,对于NULL的⽐较不安全,⽐如NULL = NULL结果还是NULL |
<=> | 等于,对于NULL的⽐较j是安全的,⽐如NULL <=> NULL结果是TRUE(1) |
!=, <> | 不等于 |
value BETWEEN a0 AND a1 | 范围匹配,[a0, a1],如果a0 <= value <= a1,返回TRUE或1,NOT BETWEEN则取反 |
value IN (option, …) | 如果value 在optoin列表中,则返回TRUE(1),NOT IN则取反 |
IS NULL | 是NULL |
IS NOT NULL | 不是NULL |
LIKE | 模糊匹配,% 表⽰任意多个(包括0个)字符;_ 表⽰任意⼀个字符,NOT LIKE则取反 |

