[MySQL]MySQL表的操作

[MySQL]表的操作

1. 创建表

语法:

CREATE TABLE [IF NOT EXISTS] table_name(
	field1 datatype1 [COMMENT '注释信息'],
	field2 datatype2 [COMMENT '注释信息'],
	field3 datatype3  [COMMENT '注释信息']
)[CHARSET=charset_name] [COLLATE=collation_name] [ENGINE=engine_name];

说明:

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

2. 创建表的示例

image-20230703213503402

图中两个表创建时在确定字符集,校验规则,存储引擎的写法上有些许不同,但都是正确的。

说明:

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

3. 查看表

查看数据库内所有表名:

show tables;

image-20230703203326523

查看表结构:

desc table_name;

image-20230703213537773

查看建表详细信息:

show create table table_name;
  • 为了阅读方便通常在后面加上\G选项

image-20230703213608122

MySQL记录了创建表的语句,但是是优化过后的语句。

4. 修改表

ALTER TABLE table_name ADD 新增列名 新增列的属性;

ALTER TABLE table_name MODIFY 列名 修改后的列属性;

ALTER TABLE table_name DROP 列名;

ALTER TABLE table_name RENAME [TO] 新表名;

ALTER TABLE table_name CHANGE 列名 新列名 新列属性;

用下图中的表结构和数据做演示:

image-20230703214102810

插入新的属性列到表中:

image-20230703215426741

  • 对于新添加的属性列,表内数据是空值。

修改表中属性列属性:

image-20230703215536453

  • 对表属性列属性修改的本质是将原有属性覆盖,因此属性说明被覆盖掉了。

删除表中的属性列:

image-20230703220148262

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

修改表名:

image-20230703220335223

修改属性列属性:

image-20230703220533199

  • –新字段需要完整定义

5. 删除表

DROP [TEMPORARY] TABLE [IF EXISTS] table_name;

删除表示例:

image-20230703220815597

6. 关于表操作

表结构、表存在与否会影响上层程序的使用,因此修改和删除表的操作尽量不要使用。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

好想写博客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值