MySQL中表的操作

3 表的操作

3.1 创建一个表

语法:

CREATE TABLE table_name (
    field1 datatype,
    field2 datatype,
    field3 datatype
) character set 字符集 collate 校验规则 engine 存储引擎;

说明:

  • field 表示列名
  • datatype 表示列的类型
  • character set 字符集,如果没有指定字符集,则以所在数据库的字符集为准
  • collate 校验规则,如果没有指定校验规则,则以所在数据库的校验规则为准

3.2 创建表实例

  • 创建一个使用默认引擎的class表
create table class(
    major varchar(16) comment '专业',
    name char(8) comment '班级名',
    nums int comment '人数'
);
  • 创建一个使用MyISAM引擎的students表
create table students(
    id int  comment '学号',
    name varchar(16) comment '姓名',
    gender char(2) comment '性别'
) engine MyISAM;

说明:

  • MySQL创建表使用的默认引擎是InnoDB引擎。
  • 使用不同的存储引擎,创建表的文件不一样。
    students表使用的存储引擎是MyISAM,在目录中有三个不同的文件,分别是:
    students.frm:表结构
    students.MYD:表数据
    students.MYI:表索引
    而class表使用的是默认引擎InnoDB,在目录中只有一个文件:class.frm。
    在这里插入图片描述

3.3 查看表结构

desc 表名
实例:
desc students;
输出结果:
在这里插入图片描述

3.4 修改表

在实际应用中,我们可能会遇到需要修改某个表的结构,比如字段名字,字段大小,字段数据类型,表的字符集编码,表的校验规则,表的存储引擎等等。除此以外还会遇到一些比如添加字段、删除字段的需求。这时我们就需要修改表。
语法:
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);
实例:

  • 现在students表中添加两条数据
    insert into students values(1501,'小明','男'),(1502,'小红','女');

  • 在students表中添加一个新字段contact
    alter table students add contact char(11) comment '联系方式' after name;
    在这里插入图片描述
    从图中可以看到,插入新字段后,对原来表中的数据没有任何影响,并且为新字段自动填充了默认值NULL。

  • 修改name长度为30
    alter table students modify name varchar(30);
    在这里插入图片描述

  • 删除gender列
    alter table students drop gender;
    在这里插入图片描述

注意:删除字段一定要小心,从图中可以看到,删除字段后其对应的列数据都没了!

  • 修改表名为information
    alter table students rename to information;
    在这里插入图片描述

  • 将name列改名为xingming
    alter table information change name xingming varchar(60);
    在这里插入图片描述
    注意:改名新字段需要完整定义给出

3.5 删除表

语法:
DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ...
实例:
drop table class;
在这里插入图片描述
注意:删除表一定要慎重!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值