MySQL数据库之表的增删查改

目录

表的操作

1.创建表

语法:

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

说明:

  • field 表示列名

  • datatype 表示列的类型

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

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

创建表案例

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

说明:

  • commnt为给改信息添加注释

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

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

    users.frm:表结构

    users.MYD:表数据

    users.MYI:表索引

2.查看表结构

sql 复制代码
desc 表名;

示例:

  • Field :字段名字
  • Type :字段类型
  • Null:是否允许为空
  • Key:索引类型
  • Default:默认值
  • Extra:扩充

数据类型后续会详细介绍

sql 复制代码
show create table 表名;

一个MySQL查询语句,用于获取指定表的创建语句,即用于创建该表的SQL 语句。这个查询将返回一个包含表的创建语句的结果集,通常包括表的结构、列定义、索引和约束等信息。

常用于以下情况:

  1. 备份表结构:您可以使用此语句获取表的创建语句,以便稍后可以使用它来恢复表的结构,例如,在不同的MySQL数据库中创建相同的表。
  2. 调试和分析:有时,您可能需要查看表的创建语句,以了解其结构和约束,以便进行调试或性能分析。
  3. 数据库文档:此语句的输出可以用于生成数据库文档,以记录表的结构和其他相关信息。

展示结果里面存在许多分隔符,我们可以使用另外一条语句格式化成都为有用的信息

sql 复制代码
show create table 表名 \G;

用此语句查询表能将最完整的属性展示出来(包括注释)

3.修改表

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

sql 复制代码
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);

案例:

  • 在user1表添加二条记录
sql 复制代码
mysql> insert into user1 values(1,'a','b','1982-01-04');
  • 在user1表添加一个字段,用于保存用户成绩
  • 修改name,将其长度改成60
sql 复制代码
mysql> alter table user1 modify name varchar(60);

使用修改语句后name的长度从20变为60

这时我们使用展示所有属性的查询语句看看:

对比上文我们查询的结果,这里的属性注释不见了

说明修改语句是直接将原有信息覆盖了,假如有注释等其他信息需要留意⭕

  • 删除password列
sql 复制代码
mysql> alter table user1 drop password;

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

  • 修改表名为User
sql 复制代码
mysql> alter table users rename to employee;

to:可以省掉

4.删除表

语法格式:

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

示例:

sql 复制代码
drop table User;
相关推荐
m0_748232925 分钟前
你还在手动画ER图吗?让SQL自动生成ER图,轻松解决作业难题!
数据库·sql·oracle
玄明Hanko6 分钟前
生产环境到底能用Docker部署MySQL吗?
后端·mysql·docker
清流君8 分钟前
【MySQL】数据库 Navicat 可视化工具与 MySQL 命令行基本操作
数据库·人工智能·笔记·mysql·ue5·数字孪生
邂逅岁月8 分钟前
MySQL表的增删改查初阶(下篇)
数据库·sql·mysql
Python_金钱豹9 分钟前
Text2SQL零代码实战!RAGFlow 实现自然语言转 SQL 的终极指南
前端·数据库·sql·安全·ui·langchain·机器人
静听夜半雨11 分钟前
CANoe入门——3、新建LIN工程及LIN DataBase(LDF文件)的创建
网络·数据库·c++·编辑器
DarkAthena1 小时前
【ORACLE】记录一些ORACLE的merge into语句的BUG
数据库·oracle·bug
大新新大浩浩2 小时前
arm64适配系列文章-第三章-arm64环境上mariadb的部署
数据库·arm·mariadb
逾非时2 小时前
MySQL触法器
android·mysql·sqlserver
聪明的墨菲特i2 小时前
SQL进阶知识:九、高级数据类型
xml·数据库·sql·mysql·json·空间数据类型