自学内容网 自学内容网

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语句。


原文地址:https://blog.csdn.net/weixin_74098337/article/details/144274060

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!