我们可以用–或者## 在MySQL中实现注释
– 插入一条记录,value_list 数量必须和定义表的列的数量及顺序一致
insert into 表名 values(数据,数据…)
– 插入两条记录,value_list 数量必须和指定列数量及顺序一致
假设我们的student表中有id name 和score
insert into student(id,name) values (1,‘小王’),(2,‘小李’)
select * from 表名
查看所有表数据内容( * 是通配符,就是用*代替列名就可以查询所有列)这个操作危险,比如数据量太大会导
1.内存满载,导致崩溃
2.MySQL服务器就会疯狂读取硬盘,占满硬盘IO带宽,然后MYSQL服务器返回给客户端会占满网络带宽)
select 列名,列名 from 表名
形如:
– 表达式不包含字段
select id, name, 10 from student;
– 表达式包含一个字段
select id, name, english + 10 from student;
– 表达式包含多个字段
select id, name, chinese + math + english from student;
列名 [as] 别名 (as可以省略)
如
– 结果集中,表头的列名=别名
select id, name, chinese + math + english [as] 总分 from student;
当数据中有重复的情况时,我们可以通过distinct来得到一个去重后的结果
select distinct 列名 from 表名
通过一个基准值排序的情况
select 列名(*)… from 表名 order by 列名 asc(升序)/desc(降序) 如果省略不写就是默认升序,如果记录中有NULL,NULL认为是最小的 就是在众多列中以某个列为基准进行排序
通过多个基准值排序的情况
select 列名(*)… from 表名 order by 列名… asc(升序)/desc(降序) 就是在众多列中以某个些列(存在优先级)为基准进行排序
1.比较运算符
运算符 | 说明 |
---|---|
>, >=, <, <= | 大于,大于等于,小于,小于等于 |
= | 等于,NULL 不安全,例如 NULL = NULL 的结果是 NULL |
<=> | 等于, NULL 安全,例如 NULL <=> NULL 的结果是 TRUE(1) |
!=, <> | 不等于 |
between a0 and a1 | 范围匹配, [a0, a1],如果 a0 <= value <= a1,返回 TRUE(1) |
in (option, …) | 如果是 option 中的任意一个,返回 TRUE(1) |
is NULL | 是 NULL |
is not NULL | 不是 NULL |
like | 模糊匹配。 % 表示任意多个( 包括 0 个)任意字符; _ 表示任意一个字符 |
2.逻辑运算符
运算符 | 说明 |
---|---|
and | 逻辑与 多个条件必须都为 TRUE(1),结果才是 TRUE(1) |
or | 逻辑或 任意一个条件为 TRUE(1), 结果为 TRUE(1) |
not | 逻辑取反 条件为 TRUE(1),结果为 FALSE(0) |
– 从 0 开始,筛选 n 条结果
select … from table_name [where …] [order by …] limit n;
– 从 s 开始,筛选 n 条结果
select … from table_name [where …] [order by …] limit s, n;
– 从 s 开始,筛选 n 条结果,比where 种用法更明确,建议使用
select … from table_name [where …] [order by …] limit n offset s;
update [表名] set [列名] = [修改的值], [列名] = [修改的值] where 子句;
delete from [表名] where [筛选条件];