Mysql数据库常用表结构操作语句

article/2025/10/1 1:10:27

目录

  • 一、准备工作
  • 二、常用表结构操作语句
    • 1.在数据库表中新增 字段、约束
      • 1.1 新增字段
      • 1.2 新增约束
    • 2.在数据库表中修改 表、字段
      • 2.1 修改表的名字
      • 2.2 修改字段名、数据类型、默认值、注释、自增属性
    • 3.在数据库表中删除表、字段
      • 3.1 删除表
      • 3.2删除字段、字段约束
    • 3.在数据库表中查看表结构
    • 3.1 查看数据库
    • 3.2 查看表结构
    • 3.3 查看表SQL语句
    • 3.2 判断字段是否为自增

一、准备工作

数据库:test
数据库表:t_user、t_product
t_user:

CREATE TABLE `t_user` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '用户id',`name` varchar(255) DEFAULT NULL COMMENT '名称',`age` int(10) DEFAULT NULL COMMENT '年龄',`remarks` varchar(255) DEFAULT NULL COMMENT '备注',`create_time` datetime DEFAULT NULL COMMENT '创建时间',`create_user` varchar(255) DEFAULT NULL COMMENT '创建人',`update_time` datetime DEFAULT NULL COMMENT '更新时间',`update_user` varchar(255) DEFAULT NULL COMMENT '更新人',PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用户信息表';

t_product:

CREATE TABLE `t_product` (`product_id` int(11) NOT NULL,`title` varchar(255) DEFAULT NULL COMMENT '标题',`sub_title` varchar(255) DEFAULT NULL COMMENT '副标题',`sale_price` decimal(10,2) DEFAULT NULL COMMENT '商品售价',`create_time` datetime DEFAULT NULL COMMENT '创建时间',`create_by` int(11) DEFAULT NULL COMMENT '创建者',`update_time` datetime DEFAULT NULL COMMENT '修改时间',`update_by` int(11) DEFAULT NULL COMMENT '修改者',PRIMARY KEY (`product_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='商品表';

二、常用表结构操作语句

1.在数据库表中新增 字段、约束

1.1 新增字段

# 在表末尾增加列
alter table 表名 add 字段名 数据类型 default 默认值 comment '注释';
# 在表开头添加列
alter table 表名 add 字段名 数据类型 default 默认值 comment '注释' first;
# 在某字段之后添加列
alter table 表名 add 字段名 数据类型 default 默认值 comment '注释' after 字段;

示例:新增字段status

-- 新增字段status
alter table t_product add status int(1) default 0 comment '状态 0:上架 1:下架';

执行结果:
在这里插入图片描述

1.2 新增约束

-- 添加主键
alter table 表名 add primary key(字段名);
-- 添加外键
alter table 表名 constraint 约束名 foreign key(字段名) references 主表名(字段名);
-- 添加唯一约束
alter table 表名 constraint 约束名 unique(字段名);
-- 添加检查约束
alter table 表名 constraint 约束名 check(字段);
-- 添加默认值
alter table 表名 change column 字段名  字段名 数据类型 default 默认值;
-- 添加非空约束
alter table 表名 change column 字段名  字段名 数据类型 not null;

示例:为字段title添加非空约束

-- 为字段title添加非空约束
alter table t_product change column title title varchar(255) not null;

执行结果:

在这里插入图片描述
在这里插入图片描述

2.在数据库表中修改 表、字段

2.1 修改表的名字

-- 修改表的名字
alter table 旧表名 rename 新表名;

2.2 修改字段名、数据类型、默认值、注释、自增属性

-- 修改字段名、数据类型、默认值、注释
alter table 表名 change 旧字段名 新字段名 数据类型 default 默认值 commit '注释';
-- 修改数据类型
alter table 表名 modify 字段名 数据类型;
-- 修改现有主键字段自增属性(确保该字段是主键,若不是先设置主键)
alter table 表名 change 字段名 字段名 数据类型 not null auto_increment;

示例1:修改字段sub_title的数据类型

-- 修改字段sub_title的数据类型
alter table t_product modify sub_title varchar(200);

执行结果:
在这里插入图片描述
示例2:修改现有主键字段自增属性

-- 修改现有主键字段自增属性(确保该字段是主键,若不是先设置主键)
alter table t_product change product_id product_id int(11) not null auto_increment;

执行结果:
在这里插入图片描述
在这里插入图片描述

3.在数据库表中删除表、字段

3.1 删除表

-- 删除表
drop table 表名;

3.2删除字段、字段约束

-- 删除字段
alter table 表名 drop 字段名;
-- 删除主键
alter table 表名 drop primary key;
-- 删除外键
alter table 表名 drop foreign key 约束名;
-- 删除唯一约束
alter table 表名 drop index 约束名;
-- 删除检查约束
alter table 表名 drop constraint 约束名;
-- 删除默认值
alter table 表名 change 字段名 字段名 数据类型 default null;
-- 删除非空约束
alter table 表名 change 字段名 字段名 数据类型 null;

3.在数据库表中查看表结构

3.1 查看数据库

-- 查看数据库
show databases;

3.2 查看表结构

-- 查看表结构方法1:
desc 表名;
-- 查看表结构方法2:
describe 表名;
-- 查看表结构方法3:
show columns from 表名;

示例:

-- 查看 表t_product的结构
desc t_product;

以上三种方法的执行效果相同:
在这里插入图片描述
查看表结构方法4:借用MySQL自身的information_schema数据库

-- 查看表结构方法4:
SELECT * 
FROM information_schema.COLUMNS 
WHERE table_schema = '数据库' AND table_name = '表名';-- 查看表结构方法4的简化版(需要处于information_schema数据库内 ):
SELECT * FROM COLUMNS 
WHERE table_name = '表名';

示例:查看表结构方法4

SELECT * 
FROM information_schema.COLUMNS 
WHERE table_schema = 'test' AND table_name = 't_product';

执行结果:
在这里插入图片描述

3.3 查看表SQL语句

-- 查看表SQL语句
show create table 表名;

示例:查看表SQL语句

-- 查看表SQL语句
show create table t_product;

执行结果:
在这里插入图片描述

3.2 判断字段是否为自增

-- 判断字段是否为自增
SELECT extra FROM information_schema.columns 
WHERE TABLE_SCHEMA='数据库名' 
AND table_name = '表名' 
AND column_name='字段名'

示例:判断t_product表的product_id字段是否自增

select extra 
from information_schema.columns 
where table_schema='test' 
and table_name = 't_product' 
and column_name='product_id'

是自增如下结果,否则EXTRA 为空
在这里插入图片描述


http://chatgpt.dhexx.cn/article/KbMleBXm.shtml

相关文章

mysql 查询所有表结构_mysql数据库查看表结构

Mysql技术知识点 Mysql技术知识点,首先来讲一下Mysql语句精进安装数据库,然后导入tigerfive.sql。 sql见文档结尾部分MySQL示例数据库模式由以下表组成: customers: 存储客户的数据。 products: 存储汽车的数据。 productLines: 存储产品类别数据。 orde... 文章 好程序员 2…

linux mysql 结构_linux查看mysql数据表结构

展开全部 一、简单描述表结构,字段类型 desc tabl_name; 显示32313133353236313431303231363533e78988e69d8331333365636133表结构,字段类型,主键,是否为空等属性,但不显示外键。 例如:desc table_name 二、…

mysql查看表结构修改记录表_MySQL 表结构查看以及表结构修改

使用MySql数据库时,如果对表字典不够熟悉,我们就需要查看表结构。如果数据库是在远程linux上部署,很多时候我们只能通过mysql的命令来查看表结构。同样,如果我们想要修改表结构,添加、删除、修改列时,也只能…

mysql查看表描述_MySQL 查看表结构简单命令

一、简单描述表结构,字段类型 desc tabl_name; 显示表结构,字段类型,主键,是否为空等属性,但不显示外键。 例如:desc table_name 二、查询表中列的注释信息 select * from information_schema.columns where table_schema = db #表所在数据库 and table_name = tablename…

mysql查看表结构的几种方式

在我第N次忘记如何查看表结构后,在网上查了一下后,看到有好几种查看表结构的方式,总结一下。 以student(sid,sname,birthday,sex)的查看为例。 【方式一】:desc student; 语法:desc 表名;-----…

【Jon】连接Mysql数据库出现1046错误

问题:今天博主在使用Navicat12连接Mysql数据库的时候出现1046-UDAL-No database selected错误。 解决办法:直接换了一个版本的Navicat,就解决了问题。Nice^^

MYSQL 1064 错误

用MySQL执行批量插入数据,格式如下: declare i integer ; -- 定义变量begin i : 0000;loop /* 插入数据 */ insert into 表名 (字段1,字段2,... ) values (字段1值,字段2值,...); /* 参数递增 */ i : i 1;/* 停止条件 */ exit when i > 000111; …

【报错问题解决】MySQL创建表报错 ERROR 1046 (3D000): No database selected

【报错问题解决】MySQL创建表报错 ERROR 1046 : No database selected 问题概述原因解决方法 关于数据库和表的创建请参考文章 【手把手】MySQL创建数据库和表 问题概述 数据库已经创建 创建表的时候报错:ERROR 1046 (3D000): No database selected 原因 创建…

Mysql Workbench 插入数据提示错误:1046(ErrorCode:1046.No database select...)

Mysql Workbench 插入数据提示错误:1046(ErrorCode:1046.No database select…) 问题描述:初学者在使用Mysql Workbench向数据库添加数据过程中出现错误(ErrorCode:1046.No database select…&…

已解决:Navicat 1046 - UDAL - No database selected

解决方法: 1、在常规选项中填入正确的数据库信息,测试连接通过。 2、在数据库选项中,勾选"使用自定义数据库列表">>添加数据库到列表>>输入数据库名>>确定。 3、搞定。

MySQL错误ERROR 1046 (3D000): No database selected解决办法

No database selected可以理解为没有选择种数据库 先在查看数据库种包括的database有哪些,选择自己要操作的数据 记住database后面一定加s 选择自己要操作那一个数据库(这样选择之后mysql>就和上面的不是同一个意思) 这样之后就可以操作数据库,所以…

MySql 1046报错求解

这是老师的代码: 这是我的代码: SELECT city,count(1) FROM date.dateanalyst group by city having count(if(industryField like "%电子商务%",1,null))> 50 ; 数据库错字没关系。 但是一直报错1046: Error Co…

ERROR 1046 (3D000): No database selected

刚进入到mysql页面直接创建表时报错ERROR 1046 (3D000): No database selected 是因为没有选择你需要使用的数据库(use数据库名),加上你要将创建在哪个数据库中就写哪个数据库 没有就用create database 数据库名创建一个新的数据库&#xff0…

命令行创建数据库,报错ERROR 1046 (3D000): No database selected

目录 在命令行创建数据库,发生报错 ERROR 1046 (3D000): No database selected 如何解决? 创建表 在命令行创建数据库,发生报错 ERROR 1046 (3D000): No database selected 如何解决? ERROR 1046 (3D000): No database selected …

mysql error [3D000][1046] No database selected解决方案

创建Database之后>查询数据库>确定要选择的database确实存在以后 #创建Database之后 create database student #查询是否以及刷新好了 show databases #看到有了之后直接创建table会显示 [3D000][1046] No database selected use 要选择的database即可解决问题 #use …

MySQL报错当出现Error Code: 1046. No database selected Select the default DB to be used by double-clicking

当MySQL’出现Error Code: 1046. No database selected Select the default DB to be used by double-clicking its name in the SCHEMAS list in the sidebar.(错误代码:1046。未选中数据库通过在侧边栏的SCHEMAS列表中双击其名称选择要使用的默认DB)错误时 主要的…

mysql导入数据库失败#1046 - No database selected

①:这种情况一般是因为你在数据库中没有这个数据库,你新建一个你要导入的数据库名字的数据库,然后选中该数据库,再进行导入基本上就可以了 ②:初学者在建立表时容易遇到这样的报错: Error Code: 1046. No …

数据库报错1046-No database selected

报错截图 错误原因 在运行SQL文件的时候,没有单独建立和SQL文件同名的数据库,直接运行的SQL文件(如下) 解决办法 先建一个SQL文件同名的数据库,再运行SQL文件。

JS中双层for循环执行顺序

js中双层for循环的执行顺序 1 首先会先执行第一层循环,执行顺序如图所示。1:执行变量**(仅执行一次)**2:执行条件 3:执行代码块区域(注意,代码块中包含第二层循环) 4最后执行。 2 当执行到第三步时&am…

python嵌套循环执行顺序_两个嵌套for循环的执行顺序

展开全部 当两个或2113多个循环语句嵌套时,执行5261顺序按照一下步骤: 1、先判断最外4102层循环条件,若1653满足条件则进入第一层循环体。 2、进入第一层循环体后再次遇到循环语句进行第二层循环条件判断,若符合判断条件&#…