CREATE TABLE table_name ( field1 datatype, field2 datatype, field3 datatype ) character set 字符集 collate 校验规则 engine 存储引擎;
说明:
field 标识列名
datatype 标识列的数据类型
character set 字符集,如果没有指定字符集,则以所在数据库的字符集为准
collate 校验规则,如果没有指定校验规则,则以所载数据库的校验规则为准
engine 存储引擎,如果没有指定存储引擎,则默认使用Innodb存储引擎
创建表案例
1 2 3 4 5 6
create table users ( id int, name varchar(20) comment '用户名', password char(32) comment '密码是32位的md5值', birthday date comment '生日' ) character set utf8 engine MyISAM;
说明:
使用不同的存储引擎,创建的表的文件不一样
例如使用MyISAM存储引擎创建表,在数据目录中就会有三个不同文件,分别是:
.frm:表结构
.MYD:表数据
.MYI:表引索
Innodb存储引擎中 .idb:表数据,相比于MyISAM存储引擎少了表引索
查看表结构
语法:
1
desc 表名;
实例:
1 2 3 4 5 6 7
mysql> desc person; 引索类型 +-------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+-------------+------+-----+---------+-------+ | name | varchar(20) | YES | | NULL | | +-------+-------------+------+-----+---------+-------+ 字段名称 字段类型 是否允许为空 默认值 扩充
向表中插入数据:
1
insert into 表名 values(1,'a','b');
修改表
语法:
1 2 3 4 5 6 7 8 9 10
添加字段 ALTER TABLE tablename ADD (column datatype [DEFAULT expr][,column datatype]...); 修改字段 ALTER TABLE tablename MODIfy (column datatype [DEFAULT expr][,column datatype]...); 删除字段 ALTER TABLE tablename DROP (column) 修改表明 ALTER TABLE 表明 rename to 新表明; 修改字段名 ALTER TAbLE 表明 change 字段名 新字段名 varchar(10); --新字段需要完整定义
插入新字段后,对原来表中数据没有影响:
1 2 3 4 5 6 7 8 9 10 11 12 13
mysql> alter table student add age int(3); Query OK, 0 rows affected (1.17 sec) Records: 0 Duplicates: 0 Warnings: 0