当前位置: 首页 > news >正文

MYSQL之表的操作

1. 创建表

语法: 

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

举个例子, 现在创建 users 表(使用InnoDB), users2 表(使用MyISAM).

create table users(-> id int,-> name varchar(20) comment '用户名',-> password char(32) comment '密码是32位md值',-> birthday date comment '生日'-> ) character set utf8mb4 engine InnoDB;create table users2 (-> id int,-> name varchar(20) comment '用户名',-> birthday date comment '生日',-> password char(32) comment '密码是32位的md值'-> ) character set utf8mb4 engine MyISAM;

在对应的数据库目录下, 可以看到:

users 表存储引擎是 MyISAM, 在数据目中有三个不同的文件, 分别是:

  • 表结构, MySQL5.5 是users.frm; 8.0是 users.sdi
  • 表数据: users.MYD
  • 表索引: users.MYI

users2 表存储引擎是 InnoDB, MYSQL 8.0 下, 目录里是一个 ibd 文件.

2. 查看表结构

如果查看数据库有哪些表?

show tables; 

如何查看特定表的信息?

desc 表名;

如何查看当时创建表时的选项等具体的信息? 

show create table users \G;

3. 修改表

 在项目实际开发中, 有时候需要修改某个表的结构, 比如字段名字, 字段大小, 字段类型, 表的字符集类型, 表的存储引擎等等. 我们还有需求,添加字段,删除字段等等. 这时我们就需要修改表:

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

添加列

当前表只有四列属性:

现在我想添加一列address属性: 

alter table users add address varchar(60) comment '地址' after birthday;

插入新字段后, 对原来表中的数据没有影响:

修改列

修改列的字段类型

 现在把一个列 name 的类型修改为varchar 60:

alter table users modify name varchar(60);

 需要加上列修改后的属性

修改表的名称 
ALTER TABLE 原表名 RENAME TO 新表名;

alter table users rename to user 

指令中to可以省略 

修改列的名称
ALTER TABLE 表名 CHANGE 原字段名 新字段名 新数据类型;

 alter table user change name xingming varchar(60);

注意: 新的目标字段需要完整地定义, 即使其类型和之前一模一样, 否则报错:  

 删除列

 注意: 删除字段一定要小心, 删除字段及其对应的列数据都没了

alter table users drop address;

 4. 删除表

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

比如: drop table t1; 表t1就被删除了.
 

相关文章:

  • 在面试中被问到spring是什么?
  • Kubernetes Multus CNI详细剖析
  • 渗透测试中的信息收集:从入门到精通
  • 爬虫学习总结
  • 滑动窗口算法(一)
  • Transformer起源-Attention Is All You Need
  • Sql文件处理SQLDumpSplitter
  • git lfs下载大文件限额
  • 按照文本每行匹配文件复制到指定位置
  • Ethan独立开发产品日报 | 2025-04-22
  • Linux: 进程的调度
  • 【电子通识】热敏打印机是怎么形成(打印)图像和文字的?
  • ctfshow web8
  • 3.2 Agent核心能力:感知、规划、决策与执行
  • 高并发系统的通用设计方法是什么?
  • 大厂面试-redis
  • 大数据利器Kafka
  • 2025年4月24日 奇门遁甲和股市行情
  • Sqlserver 自增长id 置零或者设置固定值
  • 45、子类需要重写父类的构造函数嘛,子类自己的构造函数呢?
  • 2024年度全国十大考古新发现公布,武王墩一号墓等入选
  • 云南洱源县4.8级地震:房屋受损442户,无人员伤亡报告
  • 印控克什米尔发生恐袭事件,外交部:中方反对一切形式的恐怖主义
  • 中国空间站已在轨实施了200余项科学与应用项目
  • 最高达3521%!美国关税大棒砸向东南亚太阳能产业
  • 什么是中国好手艺?材美、工巧、器韵、时宜