MySQL中索引关键字的修饰操作区别

修改表名和属性名:

alter table 表名 change 原列名 新列名  类型; --修改表的列属性名

alter table 表名 modify 列名 类型 ;  --修改表的类类型

alter table 表名 drop 列名;  --删除表的某一列

alter table 表名 add  列名 类型;--添加某一列

alter table 表名 rename 新表名; --修改表名

alter table 表名 comment '修改后的表的注释';

创建索引:

alter table 表名 add index 类名()

ALTER TABLE tb1_name ADD INDEX index_name(index_columns);
ALTER TABLE tb1_name ADD UNIQUE index_name(index_columns);
ALTER TABLE tb1_name ADD PRIMARY KEY (index_columns);
ALTER TABLE tb1_name ADD FULLTEXT index_name(index_columns);
ALTER TABLE tb1_name ADD SPATIAL index_name(index_columns);

MySQL 中 change 和 modify 区别:

  1. 更改列名 change: alter table 表名 change 旧列名 新列名 类型

  2. 只更改列属性 change: alter table 表名 列名 列名 类型 相同的列名要写两次.

  3. 更改列属性 modify: alter table 表名 列名 类型

  4. change 可以更改列名 和 列类型 (每次都要把新列名和旧列名写上, 即使两个列名没有更改,只是改了类型)

  5. modify 只能更改列属性 只需要写一次列名, 比change 省事。

3.如何对查询结果进行排序

语法:order by  column_name asc(或desc)

order by语句可以对查询结果按多个数据列排序,而每一个数据列又都可以互不影响的分别按升序或降序进行排序。

asc(升序)  小的在前

desc(降序) 大的在前

说明:上述例子中,先按’admin_iphost’进行升序(asc)排序,而admin_iphost相同的数据行,再按’admin_name’进行降序(desc)排序。

对于包含null的数据行,如果按升序排序,它们将出现在查询结果的开头;如果按降序排序,它们将出现在查询结果的末尾。如果你想让包含null值的数据行必须出现在查询结果的开头或末尾,就必须额外增加一个排序数据列以区分null和非null值。

4    如何限制查询结果中的数据行个数

limit 6:限制6行,从查询结果中取前6行

limit 1,6:跳过前1个数据行,再返回6行

9.如何生成统计信息

      distinct:将查询结果中重复的数据行去除掉。

示例:

      count(*):统计被选中的数据行的总数

      count(数据列名称):统计满足条件的字段中非null数据行的总数

    count()和distinct联合起来,可以统计出查询结果里到底有多少不同的非null值。 

group by: 进行分组

Having子句

      Having子句与where语句的相似之处就是它们都是用来设定查询条件的;不同之处就是where子句后不能使用表达式,而Having子句可以。

猜你喜欢

转载自blog.csdn.net/weixin_39944884/article/details/81086707