MySql----表(创建表、删除表、修改表)

一:创建表

创建表语法:

CREATE TABLE table_name (
field1 datatype,
field2 datatype,
field3 datatype
) character set 字符集 collate 校验规则 engine 存储引擎;
  • field1 是表的列名(也就是属性);
  • datatype代表列(属性)的类型;
  • character set设置字符集,如果没有设置,则是所在数据库的默认字符集;
  • collate 设置校验规则,如果没有设置,则以所在数据库的默认校验规则为准。
  • engine 是设置存储引擎,存储引擎有MyISAM 、InnoDB、Memory ,同理,如果没有指定存储引擎,则是数据库默认存储引擎。
//默认存储引擎
mysql> create table pick (
    -> name varchar(20),
    -> age int ,
    -> passworld varchar(32) comment'密码是32位',
    -> birthday date comment '生日 日期类');

注:comment是注释。
desc table:查看表
MySql----表(创建表、删除表、修改表)_第1张图片
NULL:是否允许为空,key是索引类型,Default是默认值,Extra是扩充。

//指定存储引擎
mysql> create table t1 (
    -> age int,
    -> name varchar(20)
    -> )engine MyISAM;

不同的存储引擎,创建表的文件不同:
MySql----表(创建表、删除表、修改表)_第2张图片
存储引擎是MyIASM/会创建3个表,t1.frm:表结构,t1.MYD:表数据,t1.MYI:表索引;
存储引擎是InnoDB,有文件(.frm、.ibd)。
二:修改表

在修改数据库的时候,只能修改数据库的字符集和校验规则。但是对于创建的表来说,可以修改很多东西,比如表名、列名(字段名)、字段类型大小、增加列、删除列…
语法:

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);

添加字段(add)

例:在表t1的name列后添加一列为图片路径:

 alter table t1 add  pic_url varchar(100) comment '图片路径' after name;

MySql----表(创建表、删除表、修改表)_第3张图片
在第一列前插入一列:

 alter table t1 add  sno varchar(10) comment '学号' first ;

MySql----表(创建表、删除表、修改表)_第4张图片
修改字段(modify)

MySql----表(创建表、删除表、修改表)_第5张图片
将字段sno的类型修改为int:(modify)

alter table t1 modify sno int(11) ;

MySql----表(创建表、删除表、修改表)_第6张图片

删除列:将列sno删除(drop)

 alter table t1 drop sno;

MySql----表(创建表、删除表、修改表)_第7张图片
将字段删除后,对应的列数据全都没有了。

修改表名:将表名t1修改为tt1(rename [to])

alter table t1 renmae to tt1;

MySql----表(创建表、删除表、修改表)_第8张图片
修改列名:将列名pic_url修改 为pci(change)

alter table tt1 change pic_url  pic varchar(100);

MySql----表(创建表、删除表、修改表)_第9张图片

三:删除表

DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ...

例:删除表pick

 drop table pick;

MySql----表(创建表、删除表、修改表)_第10张图片

你可能感兴趣的:(数据库,create,alter,drop)