表的创建
表的创建一般有两种方法:
使用具有交互式创建和管理表的工具;
表也可以直接使用MySQL语句操作。
创建表时必须提供以下信息:
新表的名字,在关键字create table之后给出。
表列的名字和定义,使用逗号隔开。
eg:
create table stuMessage(name char(32) not null,
age tinyint not null,
stuNo int not null,
primary key(stuNo)) ENGINE = InnoDB;
主键
如果主键使用单个列,则它的值必须唯一。eg:Primary key(vend_id)
如果使用多个列,则这些列的组合值必须唯一。eg:Primary key(order_num,order_item);
Auto_increment
每个表只允许一个auto_increment列,而且它必须被索引。
指定默认值
定义字段时,允许使用通过default 进行默认值设置。MySQL不支持默认通过函数作为默认值。
引擎类型
与其他DBMS一样,MySQL有一个具体管理和处理数据的内部引擎。
几个常见类型:
InnoDB是一个可靠的事务处理引擎,它不支持全文本搜索。
MEMORY在功能等同于MyISAM,但是由于数据存储在内存中,速度特别快。
MyISAM是一个性能极高的引擎,它支持全文本搜索,但是不支持事务处理。
全文本搜索和事务处理之间的使用:
更新表
使用ALter table可以进行表结构的更新。
为进行表结构更新,需满足以下条件:
在alter 他变了之后给出要改的表名;
所作更改的列表。
给表增加一个列:
alter table vanders add vend_phone char(20);
给表删除一个列:
alter table tablename drop column vender_phone;
复杂表结构一般需要手动删除过程:
用新的列布局创建一个新表;
使用insert select语句从旧表复制数据到新表。如果有必要,可使用转换函数和计算字段;
检验包含所需函数数据的新表;
重命名旧表;
用旧表原来的名字重命名新表名;
根据需要,重新创建触发器、存储过程、索引和外键。
删除表
删除表提供如下命令:
drop table tablename;