MySQL表的操作

1. 创建表

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

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

说明: 不同的存储引擎,创建表的文件不一样

  • users 表存储引擎是 MyISAM ,在数据目中有三个不同的文件,分别是:
  • users 表存储引擎是innodb ,在数据目中有两个不同的文件,分别是:
  • 更改语句:alter table user engine = innodb;

2.查看表结构

bash 复制代码
desc 表名;

3. 修改表

向已有表中新增字段

bash 复制代码
ALTER TABLE tablename ADD (column datatype [DEFAULT expr][,column datatype]...);

ALTER TABLE user ADD (age INT DEFAULT 18, email VARCHAR(50));

参数说明

  • tablename:目标表名
  • column:要新增的字段名
  • datatype:字段的数据类型(如INTVARCHAR(20)
  • DEFAULT expr(可选):字段的默认值(如DEFAULT 0

修改已有字段的属性

bash 复制代码
ALTER TABLE tablename MODIFY (column datatype [DEFAULT expr][,column datatype]...);

ALTER TABLE user MODIFY (age TINYINT DEFAULT 20, email VARCHAR(100));
*(将user表的age改为TINYINT(默认 20)、email改为VARCHAR(100))

删除表中的指定字段

bash 复制代码
ALTER TABLE tablename DROP (column);

ALTER TABLE user DROP (email);

4. 删除表

bash 复制代码
DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ...

drop table t1;
相关推荐
瀚高PG实验室20 分钟前
java中间件无法连接数据库
java·数据库·中间件·瀚高数据库
ULIi096kr23 分钟前
MySQL大表优化终极方案:单表数据量上限、卡顿解决、分表分库实战教程
数据库·mysql
霖霖总总24 分钟前
[MongoDB小技巧07]MongoDB 深度解析:find中投影与排序的底层机制与性能调优实战
数据库·mongodb
TechWayfarer26 分钟前
云服务器地域怎么选:用离线IP数据库识别用户来源并优化部署
服务器·数据库·python·tcp/ip·数据分析
deviant-ART31 分钟前
MySQL里的三个concat函数
数据库·mysql
H_老邪41 分钟前
1044 - Access denied for user ‘root‘@‘%‘ to database ‘nacos‘
数据库·mysql
数智化精益手记局1 小时前
拆解复杂项目管理流程:用项目管理流程解决跨部门协作低效难题
大数据·运维·数据库·人工智能·产品运营
xhtdj1 小时前
Uber 如何通过批处理实现单账户每秒30+次更新
大数据·数据库·人工智能·安全·动态规划
凭X而动1 小时前
MySQL 5.7.44 部署
数据库·mysql·部署
IpdataCloud2 小时前
跨境支付如何识别高风险IP?用IP风险画像服务选型与集成指南
服务器·网络·数据库·tcp/ip·安全