欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 资讯 > MySql:表的操作

MySql:表的操作

2024/12/24 2:29:30 来源:https://blog.csdn.net/weixin_74098337/article/details/144274060  浏览:    关键词:MySql:表的操作

目录

创建表

查看创建表时的信息

查看表的结构描述

删除一张表

修改表


创建表

CREATE TABLE [IF NOT EXISTS] table_name (field1 datatype,field2 datatype,field3 datatype
) character set 字符集 collate 校验规则 engine 存储引擎;
field 表示列名
datatype 表示列的类型
character set 字符集,如果没有指定字符集,则以所在数据库的字符集为准
collate 校验规则,如果没有指定校验规则,则以所在数据库的校验规则为准
engine 存储引擎,常见的有MyIsam、Innodb

        比如创建一张用户表。

        comment是用来描述列名信息的,可以不用加,字符集、校验规则、存储引擎的书写都可以用等号来指定。

create table users (
id int,
name varchar(20) comment '用户名',
password char(32) comment '密码是32位的',
birthday date comment '生日'
) charset=utf8 engine=MyISAM;

        不同的存储引擎,创建表后,对应所在目录生成的文件各有所不同。比如MyIsam引擎所创建的表,会生成三个后缀名不同的文件。

users.frm :表结构
users.MYD :表数据
users.MYI :表索引

查看创建表时的信息

show create table 表名;

查看表的结构描述

desc 表名;

删除一张表

drop table 表名;

修改表

        本文暂时不谈对表的内容做修改,这里对表的修改指的是对表的结构的修改,比如修改表名、修改列名、修改表字段的属性、增加一列、删除一列。

//增加一列
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);
  • 举一个对表的内容修改的例子,使用的关键字是insert,比如插入两条记录。 
insert into users values(1,'a','b','1982-01-04'),(2,'b','c','1984-01-
04');
  •  以下的修改都算作对表的结构的修改,属于DDL的SQL语句,比如增加一列,用来表示图片路径,列名为assets,类型为varchar(100)
alter table users add assets varchar(100) comment '图片路径' after
birthday;

        after birthday表示把这一列新增到birthday这一列后面。

  • 修改name的属性,比如把name的长度改为60。
alter table users modify name varchar(60);

        由于这种修改是覆盖式的修改,所以name原来的comment信息也会随之消失。

  • 删除一列

        删除password这一列。

alter table users drop password;
  • 修改表名,当前表名为users,修改表名为UserTable,其中to可以省略
alter table users rename to UserTable;
  • 修改列名,比如修改name的列名为aaa
alter table UserTable change name aaa varchar(60);//类型要跟在后面

        以上对表的操作,对表的属性、结构的操作,并为影响表的内容,这些SQL语句都属于DDL类的SQL语句,而Insert、delete、select这些SQL语句是影响表的内容,属于DML类的SQL语句。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com