create table 表名(字段名 字段类型[字段属性], …)[ 表选项]; 字段属性和表选项为可选。 表选项有: engine:(存储引擎):mysql5.5之前默认为myisam,之后为innodb charset:字符集,设置的字符集只对当前表有效 校对集: 已进入到指定数据库环境:
create table class(name varchar(10));没有进入指定数据库环境:
create table mydatabase.my_class(name varchar(10)) engine myisam charset utf8;该命令不会复制数据。 基本语法:create table 新表名 like 旧表名;
create table mydatabase.student like mydatabase.my_class ;每创建一张表就会在对应数据库文件下创建一些文件: frm文件: frm文件:表描述文件,表结构文件 ibd文件:这个文件包括了单独一个表的数据内容以及索引内容,默认情况下它的存储位置也是在表的位置之中。
ibdata1文件:ibdata1就是InnoDB表的共享存储空间,默认innodb所有表的数据都在一个ibdata1里。默认这个共享表空间的文件路径在data目录下。 默认的文件名为:ibdata1 初始化为10M。
describe my_class; desc my_class; show columns from my_class;
field:字段名 Type:字段类型 Null:值是否允许为空 Key:是否为索引 Default:默认值为NULL Extra:额外的属性
查看创建表的sql语句
show create table my_class;MySQL中的语句结束符: “;” 与 “\g” 表示效果一样 ,都是字段在上排横着,下面跟对应数据 \G: 字段在左侧竖着,数据在右侧横着
show create table my_class\G表选项包括存储引擎、校对集、字符集
alter table my_class charset = gbk;更改表名:
rename table 旧表名 to 新表名;新增的字段默认放在表的最后面 first:新增一个字段放在表的最前面 after 字段名:将新增的字段放在某个字段之后 新增字段放在首行:
alter table my_class add id int first;新增一个字段放在指定字段之后:
alter table my_class add address varchar(20) after name ; --放在name字段之后修改字段名: alter table 表名 change 旧字段名 新字段名 新字段类型[列属性] [新位置]; 修改字段类型: alter table 表名 modify 字段名 新类型[新属性][新位置];