一、增加表
1、创建表
mysql> create database [if not exists] table_name (
-> field1 datatype,
-> field2 datatype,
-> field3 datatype
-> ) character set 字符集 collate 校验规则 engine 存储引擎;
注意 :最后一行也可以写成: -> ) charset=字符集 collate=校验规则 engine=存储引擎;
说明:
- field 表示列名。
- datatype 表示列的类型。
- character set 字符集,如果没有指定字符集,则以所在数据库的字符集为准。
- collate 校验规则,如果没有指定校验规则,则以所在数据库的校验规则为准。
说明:
- 不同的存储引擎,创建表的文件不一样。
(1)user1 表存储引擎是 MyISAM ,在数据目中有三个不同的文件,分别是:
- users.frm:表结构
- users.MYD:表数据
- users.MYI:表索引
(2)user2 表存储引擎是 InnoDB,在数据目中有两个不同的文件,分别是:
- users.frm:表结构
- users.ibd:表数据和索引
表默认的存储引擎是 InnoDB。
备注:创建一个 engine 是 innodb 的数据库,观察存储目录。
二、查看表
1、查看表结构
desc 表名;
2、显示表的详细信息
show create table user1;
show create table user1 \G;(\G:格式化显示,把不需要的符号去掉。)
该显示信息方法会标准化的记录下之前写的语句。
三、修改表
在项目实际开发中,经常修改某个表的结构,比如字段名字,字段大小,字段类型,表的字符集类型,表的存储引擎等等。我们还有需求,添加字段,删除字段等等。这时我们就需要修改表。
1、修改表名
alter table tablename rename [to] newtablename;
表 user1 修改表名为 user:
提示 :to 可以省掉。
2、在表中添加记录
insert into tablename values (插入各项内容);
在 user 表中添加两条记录:
3、在表中添加一个字段
alter table tablename add (column datatype [DEFAULT expr][,column datatype]...);
在 user 表添加一个字段,用于保存图片路径:
插入新字段后,对原来表中的数据没有影响:
(原来的数据仍然存在)
4、修改属性
alter table tablename modify (column datatype [DEFAULT expr][,column datatype]...);
这里不是定向修改,所以要将所修改属性后面的内容也加上,否则将直接覆盖原有内容。
5、删除列
alter table tablename drop (column);
注意:删除字段一定要小心,删除字段及其对应的列数据都没了。
6、修改列名
alter table tablename change (column newcolumn datatype [DEFAULT expr][,column datatype]...);
注意:修改时,新字段需要完整定义,所以必须将属性带上。
四、 删除表
drop [TEMPORARY] table [IF EXISTS] tbl_name [, tbl_name] ...