《MySQL:MySQL表结构的基本操作》
创建表
CREATE TABLE table_name (
field1 datatype,
field2 datatype,
field3 datatype
) character set 字符集 collate 校验规则 engine 存储引擎;
- field 表示列名
- datatype 表示列的类型
- character set 字符集,如果没有指定字符集,则以所在数据库的字符集为准
- collate 校验规则,如果没有指定校验规则,则以所在数据库的校验规则为准
不同的存储引擎,创建的表文件不一样。
user1表存储引擎是MyISAM,在数据目录中有三个不同的文件:
- user1.frm:表结构文件
- user1.MYD:表数据文件
- user1.MYI:表索引文件
user2表存储引擎是InnoDB,在数据目录中有三个不同的文件:
- user2.frm:表结构文件
- user2.ibd:表数据和索引文件
注意:如果不指明字符集、校验规则和存储引擎,则使用数据库默认的。默认存储引擎在/etc/my.cnf中配置好了(我配置的为InnoDB)。
查看表
desc 表名;
还可以查看创建表时的详细信息。
show create table 表名 (\G格式化显示)
修改表
修改某个表的结构,比如字段名字,字段大小,字段类型,表的字符集类型, 表的存储引擎等等。我们还有需求,添加字段,删除字段等等。这时我们就需要修改表。
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 datatype [DEFAULT expr][,column
datatype]...);
- 向表中添加两条记录
- 向表中添加一个字段,表示图片路径
- 修改某个字段,name,将其长度改为60
- 删除某个字段,会删除字段及其对应列的数据全部删除
- 修改表名
to可以省略。
- 修改字段名,将name字段修改命名为xingming
删除表
应当注意:不要轻易修改表名和删除表。
以上,就是关于表结构的基本操作,包括创建、查看、修改、删除。