MySQL表的增删改查(1)

  • MySql执行顺序:
  • 1.数据添加(Create)
  • 1.1单列数据+全列插入
  • 1.2多行数据+指定列插入
  • 2.查询
  • 2.1全列查询
  • 2.2指定列查询
  • 2.3查询字段为表达式
  • 2.4别名(as)
  • 2.5去重(distinct)
  • 2.6 排序 (order by)
  • 多列排序
  • 2.7条件查询(超重要!!!!)

CRUD

注释:在SQL中可以使用“–空格+描述”来表示注释说明

CRUD 即增加(Create)、查询(Retrieve)、更新(Update)、删除(Delete)四个单词首字母缩写。

MySql执行顺序:

1.from阶段
2.where阶段
3.group by阶段
4.having阶段
5.select阶段
6.order by阶段
7.limit阶段

1.数据添加(Create)

语法:

insert into 表名(指定那些列) values (内容);

1.1单列数据+全列插入

mysql 查询结果加前缀 mysql先查询后添加_mysql 查询结果加前缀


必须要和表创建时候的列顺序保持一致,不一样的时候会报错。

mysql 查询结果加前缀 mysql先查询后添加_mysql_02


多行全列插入:

mysql 查询结果加前缀 mysql先查询后添加_database_03

1.2多行数据+指定列插入

例:姬如雪没有设置密码

mysql 查询结果加前缀 mysql先查询后添加_数据库_04


添加的时候指定列的顺序决定添加数据的顺序。

2.查询

2.1全列查询

select * from 表名;

– 通常情况下不建议使用 * 进行全列查询

– 1. 查询的列越多,意味着需要传输的数据量越大;

– 2. 可能会影响到索引的使用。(索引待后面课程讲解)

mysql 查询结果加前缀 mysql先查询后添加_mysql 查询结果加前缀_05

2.2指定列查询

select 列名[列名] from 表名;

mysql 查询结果加前缀 mysql先查询后添加_数据库_06


mysql 查询结果加前缀 mysql先查询后添加_数据库_07


这里面的10是一个虚拟出来的列。

2.3查询字段为表达式

不会对表的原始数据造成影响。
表达式查询:

select 列名+表达式 from 表名;

表达式包含一个字段:

mysql 查询结果加前缀 mysql先查询后添加_database_08


表达式包含多个字段:

mysql 查询结果加前缀 mysql先查询后添加_数据库_09

2.4别名(as)

为查询结果中的列指定别名,表示返回的结果集中,以别名作为该列的名称,语法:

select 列名 [as] 别名 from 表名;

mysql 查询结果加前缀 mysql先查询后添加_表名_10

2.5去重(distinct)

select distinct 列名 from score;

使用distinct关键字对某列数据进行去重:

mysql 查询结果加前缀 mysql先查询后添加_数据库_11

select distinct 列名1,列名2 from score;

这种情况下需要列名1和列名2都重复才会去重;
distinct可以使用多个字段联合去重,但去重规则为:所有的联合字段全部相同才会去重,否则不会去重。

2.6 排序 (order by)

NULL在排序的时候是最小级别。

select * from 表名 order by 列名[,列名] asc/desc

– ASC 为升序(从小到大)

– DESC 为降序(从大到小)

– 默认为 ASC

mysql 查询结果加前缀 mysql先查询后添加_mysql_12


mysql 查询结果加前缀 mysql先查询后添加_database_13

  1. 没有 ORDER BY 子句的查询,返回的顺序是未定义的,永远不要依赖这个顺序
  2. NULL 数据排序,视为比任何值都小,升序出现在最上面,降序出现在最下面
  3. 使用表达式及别名排序

    order可以使用别名进行排序:

多列排序

order by 列1,列2 asc/desc;

说明;只有列1相同的时候,才会使用列2排序。

2.7条件查询(超重要!!!!)

不能使用别名

select *  from 表名 where 查询条件;

比较运算符:

mysql 查询结果加前缀 mysql先查询后添加_mysql 查询结果加前缀_14


逻辑运算符:

mysql 查询结果加前缀 mysql先查询后添加_mysql 查询结果加前缀_15

注:

  1. WHERE条件可以使用表达式,但不能使用别名。
  2. AND的优先级高于OR,在同时使用时,需要使用小括号()包裹优先执行的