MySQL——表的操作

创建表

语法

说明:

field 表示列名 datatype 表示列的类型

character set 字符集,如果没有指定字符集,则以所在数据库的字符集为准

collate 校验规则,如果没有指定校验规则,则以所在数据库的校验规则为准

创建数据库user_db,使用数据库

sql 复制代码
create database user_db;
use user_db;
sql 复制代码
create table if not exists user1
(
    id int,
    name varchar(20) comment '用户名',
    password char(32) comment '密码',
    birthday date comment '生日'
)character set utf8 engine MyISAM;

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

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

user1.frm: 表结构

user1.MYD: 表数据

user1.MYI: 表索引

我的MySQL版本是8.0的,移除了frm文件

创建表2

可以看到创建表的文件不一样

查看表结构

desc 表名;

字段名 字段类型 是否允许为空 索引类型 默认值 扩充

修改表

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

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

修改表名,这个to可以省略

sql 复制代码
alter table user2 rename to users;

往user1中插入两条数据

在表中新增一个字段,用于保存用户头像的路径

sql 复制代码
alter table user1 add image_path varchar(128) comment '用户的头像路径' after birthday;

修改name,将其长度改成60

sql 复制代码
alter table user1 modify name varchar(60);

删除password列

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

sql 复制代码
alter table user1 drop password;

将name列修改为xingming

sql 复制代码
alter table user1 change name xingming varchar(60);

注意:新字段需要完整 定义

删除表

语法

DROP TEMPORARY TABLE IF EXISTS tbl_name , tbl_name ...

示例

sql 复制代码
drop table users;
相关推荐
技术长镜头11 分钟前
别再死记 Record、Gap、Next-Key:沿一条 SQL 看懂 InnoDB 锁
后端·mysql
农村小镇哥27 分钟前
C#读取CSV文件的方法
服务器·数据库·c#
IMPYLH35 分钟前
HTML 的 <embed> 元素
前端·数据库·html
油丶酸萝卜别吃1 小时前
Redis 布隆过滤器快速实现
数据库·redis·缓存
深念Y1 小时前
stable-diffusion.cpp 的 FLUX.2 Klein 9B 分步
java·前端·数据库
whn19771 小时前
oracle 的ora-19633处理
数据库·oracle
x-cmd1 小时前
用 Rust 打造 AI 时代的 SQL:把重复任务变成可执行文件
数据库·人工智能·sql·ai·容器·rust·workflow
小弥儿1 小时前
Firecrawl:把整个网页变成 AI 可查询的数据库
数据库·人工智能·学习
swordbob2 小时前
mysql数据库,明明有索引为啥不用
数据库·mysql
晴天¥2 小时前
Oracle ASM、ACFS、FLEX ASM三者之间的关系?
数据库·oracle