创建数据表
属于DDL的一种,语法 :
create table [if not exists] 表名
(
‘字段名1’ 列类型 [属性][索引][注释],
‘字段名2’ 列类型 [属性][索引][注释],
#…
‘字段名n’ 列类型 [属性][索引][注释]
)[表类型][表字符集][注释];
说明 : 反引号用于区别MySQL保留字与普通字符而引入的 (键盘esc下面的键).
CREATE TABLE IF NOT EXISTS`test`(
`id` INT(4) NOT NULL AUTO_INCREMENT COMMENT'学号',
`name` VARCHAR(4) NOT NULL DEFAULT'匿名' COMMENT'姓名',
`sex` VARCHAR(2) NOT NULL DEFAULT'男' COMMENT'性别',
`birthday` DATE DEFAULT NULL COMMENT'生日',
PRIMARY KEY(`id`),
INDEX(`name`,`sex`),INDEX(`sex`)
)ENGINE=INNODB DEFAULT CHARSET=utf8
数据表的类型
MySQL的数据表的类型 : MyISAM , InnoDB , HEAP , BOB , CSV等…
常见的 MyISAM 与 InnoDB 类型:
经验 ( 适用场合 ) :
适用 MyISAM : 节约空间及相应速度
适用 InnoDB : 安全性 , 事务处理及多用户操作数据表
数据表的存储位置
MySQL数据表以文件方式存放在磁盘中
包括表文件 , 数据文件 , 以及数据库的选项文件
位置 : Mysql安装目录\data\下存放数据表 . 目录名对应数据库名 , 该目录下文件名对应数据表 .
注意 :
-
. frm – 表结构定义文件
-
. MYD – 数据文件 ( data )
-
. MYI – 索引文件 ( index )
InnoDB类型数据表只有一个 *.frm文件 , 以及上一级目录的ibdata1文件
MyISAM类型数据表对应三个文件 :
设置数据表字符集
我们可为数据库,数据表,数据列设定不同的字符集,设定方法 :
创建时通过命令来设置 , 如 : CREATE TABLE 表名()CHARSET = utf8;
如无设定 , 则根据MySQL数据库配置文件 my.ini 中的参数设定
修改表 ( ALTER TABLE )
修改表名 :ALTER TABLE 旧表名 RENAME AS 新表名
添加字段 : ALTER TABLE 表名 ADD字段名 列属性[属性]
修改字段
ALTER TABLE 表名 MODIFY 字段名 列类型[属性]
ALTER TABLE 表名 CHANGE 旧字段名 新字段名 列属性[属性]
删除字段 : ALTER TABLE 表名 DROP 字段名
删除数据表
语法:DROP TABLE [IF EXISTS] 表名
IF EXISTS为可选 , 判断是否存在该数据表
如删除不存在的数据表会抛出错误