查看mysql数据库是否开启:chkconfig --list | grep mysql
开启数据库:chkconfig mysqld on
关闭数据库:chkconfig mysqld off
数据库操作
1.进入数据库:mysql -uroot -p123456;
2.查看数据库:show databases;
3.创建数据库:create database 库名;
4.删除数据库:drop database 库名;
注意database使用时加s的小细节,删除数据库时会删除掉数据库中所有的表和表中的数据,若确定要删除库,应先进行备份。
5.数据库的存储引擎
存储引擎指表的类型,数据库的存储引擎决定了表在计算机中的存储方式。
查看mysql数据库支持的存储引擎类型:show engines\G
查询默认的存储引擎(3中方式):show variables like 'storage_engine';
Show engines;
Show engines \G
更改存储引擎:vim /etc/my.cnf或my.ini文件中更改存储引擎,再重启mysql数据库
Service mysql restart
innoDB存储引擎
innoDB 给mysql的表提供了事务、回滚、崩溃修复能力和多版本并发控制的事务安全。innoDB是mysql上第一个提供外键约束的表引擎。支持外键,外键所在的表为字表,外键所依赖的表为父表,父表中被子表外键关联的字段必须为主键。
优点:提供良好的事务管理、崩溃修复能力和并发控制。
缺点:其读写效率稍差,占用的数据空间相对比较大。
MyISAM存储引擎
MyISAM存储引擎的3种存储格式:静态型、动态型和压缩型。
优点:插入数据快,占用空间小,内存低。
缺点:不支持事务的完整性和并发性。
MEMORY存储引擎
MEMORY存储引擎的表实际对应一个磁盘文件。该文件只存储表结构,而其数据文件都是存储在内存中。
优点:表的处理速度非常快。
缺点:数据易丢失,生命周期短。
数据库表操作
1.进入数据库中建表:use 数据库名;
2.查看数据库中的表:show tables;
3.创建数据库表:create table 表名(属性名 数据类型 【完整性约束条件】);
4.查看表字段:describe表名;或desc 表名;
表的创建、删除(略)
索引(检索数据速度快、创建和维护索引需要耗费时间、占用物理空间)
mysql索引的分类:
在已存在的表上创建索引:
Create 【unique|fulltext|spatial】 index 索引名 on 表名(表字段名 【(长度)】 【ASC|DESC】);ASC,升序排列;DESC,降序排列。
Alter table 表名 add 【unique|fulltext|spatial】 index 索引名(表字段名【(长度)】【ASC|DESC】);ASC,升序排列;DESC,降序排列。
普通索引:创建时不附加任何限制条件;
Eg:在设置表时直接添加index(表字段名);
Eg:create index 索引名 on 表名(表字段名);
Eg:alter table 表名 add index 索引名(表字段名);
唯一性索引:限制该索引值必须为唯一;
Eg:在设置表时直接添加unique index 索引名(表字段名 ASC)
Eg:create unique index 索引名 on 表名(表字段名);
Eg:alter table 表名 add unique index 索引名(表字段名);
全文索引:使用fulltext参数设置,只能创建在char,varchar,text类型的字段上,仅MyISAM存储引擎支持;
Eg:fulltext index 索引名(表字段名)
Eg:create fulltext index 索引名 on 表名(表字段名);
Eg:alter table 表名 add fulltext index 索引名(表字段名);
单列索引:在单个字段创建索引,只根据该字段进行索引;
Eg:Index 索引名(表字段名);
Eg:create index 索引名 on 表名(表字段名);
Eg:alter table 表名 add index 索引名(表字段名);
多列索引:索引创建对应的多个字段,可通过多个字段进行查询;
Eg:Index 索引名(表字段名,表字段名)
Eg:create index 索引名 on 表名(表字段名,表字段名);
Eg:alter table 表名 add index 索引名(表字段名,表字段名);
空间索引:使用spatial参数设置,只能建立在空间数据类型上,提高系统获取空间数据的效率,只有MyISAM存储引擎支持空间检索。
Eg:Spatial index 索引名(表字段名)
Eg:create spatial index 索引名 on 表名(表字段名);
Eg:alter table 表名 add spatial index 索引名(表字段名);
索引的设计原则:
a.选择唯一的索引;
b.为经常需要排序、分组和联合操作的字段建立索引;
c.为常作为查询条件的字段建立索引;
d.限制索引的数目;
e.尽量使用数据量少的索引;
f.尽量使用前缀来索引;
视图
视图:由数据库中的一个表或多个表导出的虚拟表。
作用:1.使操作简单化;2.增加数据的安全性;3.提高表的逻辑独立性。