安装MySQL-python 不支持Python3
要想使python可以操作mysql 就需要MySQL-python驱动,它是python 操作mysql必不可少的模块。
下载地址:https://pypi.python.org/pypi/MySQL-python/
下载MySQL-python-1.2.5.zip 文件之后直接解压。进入MySQL-python-1.2.5目录:
>>python setup.py install
1.no module named configparser
In Python 3, ConfigParser has been renamed to configparser
pip install configparser
//需先安装pip
2.EnvironmentError: mysql_config not found
没有安装:libmysqlclient-dev
sudo apt-get install libmysqlclient-dev
3.Python.h: No such file or directory
先查找是否存在Python.h这个文件。/usr/include/Python2.x
如果没有则需要安装Python-dev这个包
sudo apt-get install python-dev
1、建索引的几大原则
http://tech.meituan.com/mysql-index.html
http://coolshell.cn/articles/1846.html
mySQL数据库Sql语句执行效率检查–Explain命令
2、索引的操作
查看索引
show index from mytable
普通索引
– 创建索引
CREATE INDEX indexName ON mytable(username(10)); -- 单列索引
CREATE INDEX indexName ON mytable(username(10),city(10)); -- 组合索引
– indexName为索引名,mytable表名,username和city为列名,10为前缀长度,即索引在该列从最左字符开始存储的信息长度,单位字节
– 如果是CHAR,VARCHAR类型,前缀长度可以小于字段实际长度;如果是BLOB和TEXT类型,必须指定 前缀长度,下同。
ALTER TABLE article ADD INDEX index_titme_time (title(50),time(10))
建立这样的组合索引,其实是相当于分别建立了下面两组组合索引:
–title,time
–title
– 修改表结构来创建索引
ALTER TABLE mytable ADD INDEX indexName (username(10));
唯一索引
它与前面的普通索引类似,不同的就是:索引列的值必须唯一,但允许有空值。如果是组合索引,则列值的组合必须唯一。它有以下几种创建方式(仅仅在创建普通索引时关键字 INDEX 前加 UNIQUE):
– 创建索引
CREATE UNIQUE INDEX indexName ON mytable(username(10));
– 修改表结构来创建索引
ALTER TABLE mytable ADD UNIQUE INDEX indexName (username(10)); -- 也可简写成
ALTER TABLE mytable ADD UNIQUE indexName (username(10));
主键索引
它是一种特殊的唯一索引,不允许有空值。在建表的时候同时创建的主键即为主键索引
主键索引无需命名,一个表只能有一个主键。主键索引同时可是唯一索引或者全文索引,但唯一索引或全文索引不能共存在同一索引
– 修改表结构来创建索引
ALTER TABLE mytable ADD PRIMARY KEY (id);
全文索引
InnoDB存储引擎不支持全文索引show engines;
查看默认引擎
– 创建索引
CREATE FULLTEXT INDEX indexName ON mytable(username(10));
– 修改表结构来创建索引
ALTER TABLE mytable ADD FULLTEXT INDEX indexName (username(10)); -- 也可简写成
ALTER TABLE mytable ADD FULLTEXT indexName (username(10));
– 创建表的时候直接指定
CREATE TABLE mytable( id INT, username VARCHAR(16), city VARCHAR(16), age INT, FULLTEXT INDEX indexName (username(10)) //也可简写成 FULLTEXT indexName (username(10)) )ENGINE=MYISAM;
– 建表时创建全文索引,要设置该表的存储引擎为MYISAM,新版mysql默认InnoDB存储引擎不支持全文索引
删除索引
DROP INDEX indexName ON mytable;
这里写链接内容