登陆数据库系统:mysql
mysql –h localhost –u root –p
其中,“-h”参数指链接的主机名,所以此处是链接本机,因此后面的内容为localhost;sql
“-u”参数表示用户名,此处的用户名为 root;数据库
“-p”参数指用户名密码。安全
建立数据库:并发
CREATE DATABASE 数据库名;
显示已经存在的数据库:编码
SHOW DATABASES;
删除数据库:spa
DROP DATABASE 数据库;
数据库存储引擎:存储引擎指的表的类型。数据库的存储引擎决定了表在计算机中的存储方式。code
查看数据库支持的存储引擎类型:事务
SHOW ENGINES;
查询MySQL支持的存储引擎:内存
SHOW VARIABLES LIKE ‘have%’;
查询默认存储引擎:
SHOW VARIABLES LIKE ‘storage_engine’;
若是想要更改默认的存储引擎,能够再my.ini 中进行修改。将”default-storage-engine=INNODB”更改成 “default-storage-engine = MyISAM”。而后重启服务,修改生效。( 有待验证,没找到这个文件,多是文件名不同了吧)
存储引擎的对比:
选择存储引擎的建议:
InnoDB 存储引擎: InnoDB 存储引擎支持事务处理,支持外键。同时支持崩溃修复能力和并发控制。若是须要对事务的完整性要求比较高,要求实现并发控制,那选择InnoDB存储引擎有其很大的优点。若是须要频繁的进行更新,删除操做的数据库,也能够选择InnoDB存储引擎。由于,该类存储引擎能够实现事务的提交(Commit)和回滚(Rollback)。
MyISAM 存储引擎: MyISAM 存储引擎的插入数据快,空间和内存使用比较低。若是表主要是用于插入新记录和读出记录,那么选择MyISAM存储引擎能实现处理的高效率。若是应用的完整性,并发性要求很低,也能够选择MyISAM 存储引擎。
MEMORY 存储引擎: MEMORY存储引擎的全部数据都在内存中,数据的处理速度快,但安全性不高。若是须要很快的读写速度,对数据的安全性要求较低,能够选择MEMORY 存储引擎。MEMORY 存储引擎对表的大小有要求,不能创建太大的表。因此,这类数据库只使用于相对较小的数据库表。
技巧:同一个数据库中可使用多种存储引擎的表。若是一个表要求较高的事务处理,能够选择InnoDB。这个数据库中能够将查询要求比较高的表选择MyISAM存储引擎。若是须要改数据库中须要一个用于查询的临时表,能够选择MEMORY存储引擎。
建立表的语法:
CREATE TABLE 表名 (属性名 数据类型 [完整性约束条件], 属性名 数据类型 [完整性约束条件], …… 属性名 数据类型 );
“表名”参数表示所要建立的表的名称,
“属性名”参数表示表中字段的名称,
“数据类型”参数指定字段的数据类型,
“完整性约束条件”参数指定字段的某些特殊约束条件。
注意: 在使用CREATE TABLE语句建立表时,首先要使用USE语句选择数据库。选择数据语句的基本格式为”USE 数据库名”。若是没有选择数据库,建立表时会出现”ERROR 1046(3D000):No database selected”错误。
完整性约束条件表
DESCRIBE语句能够查看表的基本定义。其中包括,字段名,字段数据类型,是否为主键和默认值等。DESCRIBE语句的语法形式以下:
DESCRIBE 表名;(DESCRIBE 能够缩写成DESC)
SHOW CREATE TABLE语句能够查看表的详细定义。该语句能够查看表的字段名,字段的数据类型,完整性约束条件等信息外,还能够查看表默认的存储引擎和字符编码。SHOW CREATE TABLE语句的语法形式以下:
SHOW CREATE TABLE 表名;
修改表名:
ALTER TABLE 旧表名 RENAME [TO]新表名;
修改字段的数据类型:
ALTER TABLE 表名 MODIFY 属性名 数据类型;
其中,“表名“参数指所要修改的表的名称;
“属性名“参数指须要修改的字段的名称;
“数据类型“参数指修改后的新数据类型。
修改字段名:
ALTER TABLE 表名 CHANGE 旧属性名 新属性名 新数据类型;
新数据类型“参数修改后的数据类型,如不须要修改,则将新数据类型设置成与原来同样。
增长字段:
ALTER TABLE 表名 ADD 属性名1 数据类型 [完整性约束条件] [FIRST|AFTER 属性名2];
“FIRST”参数也是可选参数,其做用是将新增字段设置为表的第一字段;
“AFTER 属性名2”参数也是可选参数,其做用是将新增字段添加到“属性名2“所指的字段后。若是执行的SQL语句中没有”FIRST” “AFTER 属性名2”参数指定新增字段的位置,新增的字段默认为表的最后一个字段。
删除字段:
ALTER TABLE 表名 DROP 属性名;
其中,“属性名“参数指须要从表中删除的字段的名称。
修改字段的排列顺序:
ALTER TABLE 表名 MODIFY 属性名1 数据类型 FIRST|AFTER 属性名2;
“属性名1“参数指须要修改位置的字段名称;
“数据类型“参数指”属性名1”的数据类型;
“FIRST“参数指定位置为表的第一个位置;
“AFTER属性名2”参数指定”属性名1”插入在”属性名2”以后。
更改表的存储引擎:
ALTER TABLE 表名 ENGINE=存储引擎名;
其中,“存储引擎名“参数指设置的新存储引擎的名称。
MySQl存储引擎包括InnoDB, MyISAM, MEMORY等。
删除表的外键约束:
ALTER TABLE 表名 DROP FOREIGN KEY 外键别名;
删除表:
DROP TABLE 表名;
技巧:删除一个表时,表中的全部数据也会被删除。所以,在删除表的时候必定要慎重。最稳妥的作法是先将表中全部的数据备份出来,而后再删除表。一旦删除表后发现形成了损失,能够经过备份的数据还原,以便将损失下降到最小。