0%

数据库操作

数据库的一些常用操作方法,方便以后查阅

mysql

查询一个字段中存在,而另一个字段中不存在

1
2
-- 字段为空后者包含某字符串
SELECT * from TableName where (ifnull(fileld,'')='' or like "%${str}%") and (ifnull(fileld,'')='' or fileld not like "%${str}%")

在一个字段中追加一些内容

1
update TableName set fileld=CONCAT(fileld, str)

在数据库中使用索引加快查询速度

在查询数据库时,若数据量很大的时候,查询时将会非常的消耗时间,若采用合适的索引将会大大加快查询的时间。

创建索引

创建语句如下:

1
2
CREATE [UNIQUE|FULLTEXT|SPATIAL] INDEX index_name [USING index_type]
ON table_name (index_col_name,...)

[UNIQUE|FULLTEXT|SPATIAL]: 表示索引类型,依次为唯一索引、全文索引、空间索引三种,不指定则默认为普通索引。

index_name: 表示索引的名称,用户自定义,便于以后对该索引进行修改等管理操作。

index_type: 索引的具体实现方式,有两种不同形式的索引——BTREE索引和HASH索引。

table_name: 需要创建索引的表。

index_col_name: 需要创建索引的字段名称,多个字段用逗号分隔开。也可以用字段的一部分来创建索引,需要在字段后加上(length)即可。

在已存在的表中添加索引:

1
2
ALTER TABLE table_name
ADD [UNIQUE|FULLTEXT|SPATIAL] INDEX index_name (index_col_name,...) [USING index_type]
删除索引
1
ALTER TABLE table_name DROP INDEX index_name;
修改索引

MySQL 中没有修改索引的直接指令,可通过先删除再创建同名的错音实现修改

查看索引
1
2
3
SHOW INDEX FROM table_name [FROM db_name]
-- or
SHOW INDEX FROM [db_name.]table_name