MySQL 建立,修改和删除表

登陆数据库系统:mysql

 mysql –h localhost –u root –p

    其中,“-h”参数指链接的主机名,所以此处是链接本机,因此后面的内容为localhostsql

    “-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 表名;

技巧:删除一个表时,表中的全部数据也会被删除。所以,在删除表的时候必定要慎重。最稳妥的作法是先将表中全部的数据备份出来,而后再删除表。一旦删除表后发现形成了损失,能够经过备份的数据还原,以便将损失下降到最小。

相关文章
相关标签/搜索