【MySQL】表的操作

创建表

bash 复制代码
create table table_name(
   field1 datatype,
   field2 datatype,
   field3 datatype
   )character set 字符集 collate 校验规则 engine 存储引擎;

field表示列名,datatype表示列的类型,character set 字符集,若没有指定字符集,则以所在所在数据库的字符集为准。

例:

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

不同存储引擎创建表的文件不一样。

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

users.firm:表结构

users.MYD:表数据

users.MYI:表索引

查看表结构

bash 复制代码
desc 表名;

修改表

bash 复制代码
alter table [tablename] add/modify (column datatype ...)
alter table [tablename] drop(column);

例:

在users表添加一个字段用来保存图片路径:

在users表中添加两条记录:

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

修改name,将其长度改为60:

bash 复制代码
mysql> alter table users modify name varchar(60);

删除某一列:

修改表名:

to:可以省略

修改某一列:

bash 复制代码
alter table person change name xingming varchar(50);------------------新字段需要完整定义!!!

删除表:

bash 复制代码
drop [temporary] table [if exists] tb1_name[,tb_name]...

例:

相关推荐
zylyehuo22 分钟前
Linux 彻底且安全地删除文件
linux
SelectDB6 小时前
阶跃星辰基于 SelectDB 构建 PB 级 Agent 可观测平台
大数据·数据库·aigc
这个DBA有点耶7 小时前
GROUP BY优化全解:如何写出既不丢数据又飞快的分组查询
数据库·mysql·架构
掉头发的王富贵10 小时前
【StarRocks】极限十分钟入门StarRocks
数据库·sql·mysql
Nturmoils10 小时前
WHERE 条件别凭习惯写,常用查询先跑一遍
数据库
用户8055336980314 小时前
主线 U-Boot 上 RK3506:和闭源 rkbin 拔河的三个隐性契约
linux·嵌入式
用户0340952979114 小时前
linux fcitx 5 雾凇拼音 设置在中文输入法下仍然输入英文标点
linux
SamDeepThinking14 小时前
一条UPDATE语句在MySQL 8.0中到底加了几把锁?
后端·mysql·程序员
Databend1 天前
在 AWS 中国峰会逛了一天,我在 Databend 展台看到了 Agent 数据基础设施的新思路
数据库·人工智能·agent
Web3探索者2 天前
可视化服务器管理和传统命令行区别是什么?新手教程:Linux 运维到底该用图形界面还是 SSH 命令行?
linux·ssh